Live data from Hacker News

Scala 2.11.0 Release Notes

scala-lang.org

21–30 of 77 posts

Re: Scala 2.11.0 Release Notes

#21

Relevant: "Functional Programming Principles in Scala" starts in 4 days on coursera, which was created by the author of scala. https://www.coursera.org/course/progfun

I concur, this is a really good course. I've since switched to Clojure but I still think that I gained a lot from working through this course. It is a really great introduction into functional programming paradigms, and well worth it even if you don't plan to continue using Scala.

Have you seen the follow up course "Principles of Reactive Programming" too?

It's also by Martin Odersky, but also with Erik Meijer and Roland Kuhn.

https://www.coursera.org/course/reactive

Re: Scala 2.11.0 Release Notes

#22

Earlier quoted context omitted.

I wish the same was done for tuples, but it wasn't and it's unclear whether that's even in plans.

Shouldn't that go hand in hand? The generated unapply method will involve a tuple of same arity I believe.

As the matter of fact I'm not sure now. I was looking for a confirmation that tuple limit is removed in Scala 2.11, but couldn't find it whereas statements that case class 22 parameter limit is removed are all over the place.

Re: Scala 2.11.0 Release Notes

#23

Earlier quoted context omitted.

I wish the same was done for tuples, but it wasn't and it's unclear whether that's even in plans.

Shouldn't that go hand in hand? The generated unapply method will involve a tuple of same arity I believe.

For that very reason, there is no generated unapply method for case classes with >22 parameters. This doesn't prevent pattern matching on the case class, because the patmat knows it is a case class and extracts the parameters directly, without calling unapply.

Re: Scala 2.11.0 Release Notes

#24

Earlier quoted context omitted.

Shouldn't that go hand in hand? The generated unapply method will involve a tuple of same arity I believe.

As the matter of fact I'm not sure now. I was looking for a confirmation that tuple limit is removed in Scala 2.11, but couldn't find it whereas statements that case class 22 parameter limit is removed are all over the place.

AbstractFunction, Function, Product and Tuple are all still limited to 22.

Increasing the limit would create too much bytecode, and in the current design, lifting the limit is just impossible (without runtime code generation or custom classloader, etc.).

Re: Scala 2.11.0 Release Notes

#25

I want to be writing scala so bad, but there doesn't seem to be any jobs in my area. Are there any scala specific job boards out there?

Go to meetups. This is fully general advice if you wish you had a job programming $LANGUAGE or $FRAMEWORK or whatever. Go to meetups for the job you want, not the job you have.

Re: Scala 2.11.0 Release Notes

#26

I want to be writing scala so bad, but there doesn't seem to be any jobs in my area. Are there any scala specific job boards out there?

A good start would be putting your contact info in your "about" on HN. I know a few people here in SF looking for contractors who'd probably be happy to send some work your way...

Re: Scala 2.11.0 Release Notes

#27

I want to be writing scala so bad, but there doesn't seem to be any jobs in my area. Are there any scala specific job boards out there?

Do the Coursera courses and demonstrate an interest. When we hire we look for developers with 2-3 languages under their belt. Only one has to be professional for a jnr/mid candidate. Most other Scala shops I know of work the same way.

Even this low bar eliminates 90% of candidates so it won't take much for you to shine at this level.

If you're snr then you might find yourself actually having to introduce Scala at a Java shop. Run dojos, lunchtime lightning/brown bag talks and lever it in as a testing framework or throwaway prototype. If that doesn't work, start questioning what you did to deserve being called snr.

Re: Scala 2.11.0 Release Notes

#28

Relevant: "Functional Programming Principles in Scala" starts in 4 days on coursera, which was created by the author of scala. https://www.coursera.org/course/progfun

Scala is a hideous programming language designed in the egocentric world of academical masturbators.

Furthermore, it exists outside of the real world, it's unflushed academic diarrhea. Adding syntactic sugar (more like salt) on top of Java's async functionality doesn't make a programming language, neither does importing the worst from languages like Perl and OCaml.

Functional programming should be done with an elegant functional programming language, not a six headed monster.

Re: Scala 2.11.0 Release Notes

#29

Earlier quoted context omitted.

As the matter of fact I'm not sure now. I was looking for a confirmation that tuple limit is removed in Scala 2.11, but couldn't find it whereas statements that case class 22 parameter limit is removed are all over the place.

AbstractFunction, Function, Product and Tuple are all still limited to 22. Increasing the limit would create too much bytecode, and in the current design, lifting the limit is just impossible (without runtime code generation or custom classloader, etc.).

So why did they choose to allow case classes to have arbitrary arity? Not that I'm complaining, I just don't understand the underworking of scala that well.

Re: Scala 2.11.0 Release Notes

#30

Earlier quoted context omitted.

I concur, this is a really good course. I've since switched to Clojure but I still think that I gained a lot from working through this course. It is a really great introduction into functional programming paradigms, and well worth it even if you don't plan to continue using Scala.

Have you seen the follow up course "Principles of Reactive Programming" too? It's also by Martin Odersky, but also with Erik Meijer and Roland Kuhn. https://www.coursera.org/course/reactive

I took both classes, but I really didn't care for Reactive as much. The first Coursera class really turned me on to the elegance of functional programming with Scala's unique type system, but much of that elegance is really lost dealing with some of the structures introduced in the second class, in my opinion.

Reactive is split into three "subclasses". The beginning part, taught again by Odersky, was a pretty useful extension of what was taught in the first class. As with the first class, the lectures were very well thought out. Although, some of the examples abandon the beauty of side-effect free programming, which was a letdown after really being turned on to that style in the first course.

The middle section on Futures and ScalaRx was pretty rough. Those lectures, done by Erik Meijer (I believe), were less clear and less well planned. I don't know if there's an impedance mismatch between Scala and the reactive style or if ScalaRx is just the wrong abstraction, but the joy of Scala was completely lost for me in these two lectures. I'm used to Javascript's Promises/Deferreds, which are essentially the same thing as Scala's Futures/Promises, but the former are far more intuitive syntactically.

I did, however, find the final three lectures on Akka to be very well taught. I had no experience on actor model programming, but I came away very intrigued by the possibilities.

A complaint that spans all three sections was that the assignments could be better focused on the the concepts at hand. Each can require a fair bit of constructing your own test and debugging frameworks to figure out how to pass the rather opaque and unhelpful automatic grading system. I eventually lost patience and quit doing the assignments after floundering with the tools.

Post reply on HN