Live data from Hacker News

Scala 2.11.0-RC1 is now available

scala-lang.org

11–20 of 33 posts

Re: Scala 2.11.0-RC1 is now available

#11
post #3

I've not used Scala since ~March 2013. I sure hope compilation times have improved since then. That was one of the main reasons I stopped using Scala. Scala is one of the easiest languages to read and write once you master it, but the compilation times were frustrating. Excited to try out 2.11 later tonight.

Compilation has improved with scala 2.10, and 2.11 purports to speed things up even further. (Note: haven't tried it yet.) Compilation speed is also drastically improved by using the type system. If you give your code well defined internal interfaces, there will be very little recompilation needed by SBT's incremental compiler. Your code will be cleaner too. http://www.chrisstucchio.com/blog/2014/bondage_and_discipli…

Compilation is also slowed down by the type system as inference is expensive. Scalac wasn't very aggressive with incremental compilation when I was working with it 8 years ago, it only worked at the file level (not the AST tree level) and the dependency manager didn't handle traits very well. I would hope things are better now.

Re: Scala 2.11.0-RC1 is now available

#12
post #7

Earlier quoted context omitted.

> Scala is one of the easiest languages to read and write once you master it I beg to differ with this. Any languages gets easy to read & write once you master it. After having finished the Scala course and spending considerable time trying to get grips with the language, I was still totally clueless about a majority of the features. Although I really liked how powerful Scala it is even if you grok 30% of its feature…

There were a lot of really complicated things added in 2.10, so now I wouldn't be so certain. I used 2.9, and personally I found it very easy to read and write, most of the time. > Any languages gets easy to read & write once you master it Perl :(

What complicated things were aded 2.10 that do not require the -experimental flag to be set? Experimental means what the name implies. An experimental feature can disappear or change in the next release. It's there to experiment with but generally not to use in production code.

Re: Scala 2.11.0-RC1 is now available

#13
post #3

I've not used Scala since ~March 2013. I sure hope compilation times have improved since then. That was one of the main reasons I stopped using Scala. Scala is one of the easiest languages to read and write once you master it, but the compilation times were frustrating. Excited to try out 2.11 later tonight.

> Scala is one of the easiest languages to read and write once you master it I beg to differ with this. Any languages gets easy to read & write once you master it. After having finished the Scala course and spending considerable time trying to get grips with the language, I was still totally clueless about a majority of the features. Although I really liked how powerful Scala it is even if you grok 30% of its feature…

After several months playing with Scala I felt much the same, with other languages I use regularly such as C# or Ruby I could look into any libraries I use and understand the code, make changes if required etc.

With Scala I felt like the level of understanding/mastery required to truly feel at home was significantly higher than I've encountered before. Looking into some of the code in the wild gave me instant headaches. Developing in a language where you can be presented with code and draw a complete blank is not a reassuring experience.

It's still a beast id like to tame, but not when I have work to get done anytime soon.

Re: Scala 2.11.0-RC1 is now available

#14
post #7

Earlier quoted context omitted.

There were a lot of really complicated things added in 2.10, so now I wouldn't be so certain. I used 2.9, and personally I found it very easy to read and write, most of the time. > Any languages gets easy to read & write once you master it Perl :(

What complicated things were aded 2.10 that do not require the -experimental flag to be set? Experimental means what the name implies. An experimental feature can disappear or change in the next release. It's there to experiment with but generally not to use in production code.

Ah, my bad, I didn't know they were still experimental. :)

Re: Scala 2.11.0-RC1 is now available

#15

Earlier quoted context omitted.

Compilation has improved with scala 2.10, and 2.11 purports to speed things up even further. (Note: haven't tried it yet.) Compilation speed is also drastically improved by using the type system. If you give your code well defined internal interfaces, there will be very little recompilation needed by SBT's incremental compiler. Your code will be cleaner too. http://www.chrisstucchio.com/blog/2014/bondage_and_discipli…

Compilation is also slowed down by the type system as inference is expensive. Scalac wasn't very aggressive with incremental compilation when I was working with it 8 years ago, it only worked at the file level (not the AST tree level) and the dependency manager didn't handle traits very well. I would hope things are better now.

The biggest hit caused by type inference is not the inference itself, but the downstream recompiling needed. I.e.:

    - def foo(x: X) = new G2
    + def foo(x: X) = new G3
Now all users of `foo` need to be recompiled even if all the downstream classes only want a G (for some G an ancestor of G2 and G3).

Re: Scala 2.11.0-RC1 is now available

#16

Earlier quoted context omitted.

> Scala is one of the easiest languages to read and write once you master it I beg to differ with this. Any languages gets easy to read & write once you master it. After having finished the Scala course and spending considerable time trying to get grips with the language, I was still totally clueless about a majority of the features. Although I really liked how powerful Scala it is even if you grok 30% of its feature…

Before Scala, I have "mastered" until now Ruby, Python, Perl, PHP, Java, C# and Javascript as in I used them for real projects in production for at least 1.5 years each and whenever I learn a new language, I always go in depth. And I also played with half a dozen others. Scala is the language that helps you write better code. In the kinds of projects that I've been working for the last 3 years, requiring parallelism,…

What would you say was the best resource to learn it? I've been curious about Scala for a while, but never really taken the plunge.

Re: Scala 2.11.0-RC1 is now available

#17

Earlier quoted context omitted.

> Scala is one of the easiest languages to read and write once you master it I beg to differ with this. Any languages gets easy to read & write once you master it. After having finished the Scala course and spending considerable time trying to get grips with the language, I was still totally clueless about a majority of the features. Although I really liked how powerful Scala it is even if you grok 30% of its feature…

After several months playing with Scala I felt much the same, with other languages I use regularly such as C# or Ruby I could look into any libraries I use and understand the code, make changes if required etc. With Scala I felt like the level of understanding/mastery required to truly feel at home was significantly higher than I've encountered before. Looking into some of the code in the wild gave me instant headach…

If learning is not painful, then you're not learning.

How long did it take you to go from zero to being able to get stuff done, when you started to learn programming?

Complaining that Scala is unlike C# or Ruby doesn't make sense, since if you want C# or Ruby, might as well stick with C# or Ruby. And what came first anyway? Guess you started out with C#, since it's more popular in universities, right? Well, when you got into Ruby, where you able to understand all the meta-programming going on in like all the popular libraries?

Speaking of which, after working a lot with Ruby, I still have problems in grokking other people's code when meta-programming is involved, since it's almost always a fragile design that's stitched together with spit and glue and I can never wrap my head around all the things that could happen in the right context. This is very, very unlike my experience with Scala. Yes, it's difficult to learn because many new concepts are involved, but once passed that learning curve, everything becomes much clearer instead of going down a rabbit whole.

Re: Scala 2.11.0-RC1 is now available

#18

Earlier quoted context omitted.

After several months playing with Scala I felt much the same, with other languages I use regularly such as C# or Ruby I could look into any libraries I use and understand the code, make changes if required etc. With Scala I felt like the level of understanding/mastery required to truly feel at home was significantly higher than I've encountered before. Looking into some of the code in the wild gave me instant headach…

If learning is not painful, then you're not learning. How long did it take you to go from zero to being able to get stuff done, when you started to learn programming? Complaining that Scala is unlike C# or Ruby doesn't make sense, since if you want C# or Ruby, might as well stick with C# or Ruby. And what came first anyway? Guess you started out with C#, since it's more popular in universities, right? Well, when you…

There's definitely parts of any language I feel I'll probably never understand, at least under the requirements of what I need to get done in my day to day work. With Scala though that percentage was much higher, and the code that I didn't understand felt much more daunting.

I went into Scala wanting to use it for a new project, expecting to pick it up like I had other languages but unfortunately I was unprepared for the task/sheer scale and had to switch back to a language I knew well.

Whenever I have time I'll continue to study it fully aware of the rewards, but with a better understanding of the time required to get to grips with it.

Re: Scala 2.11.0-RC1 is now available

#19
post #16

Earlier quoted context omitted.

Before Scala, I have "mastered" until now Ruby, Python, Perl, PHP, Java, C# and Javascript as in I used them for real projects in production for at least 1.5 years each and whenever I learn a new language, I always go in depth. And I also played with half a dozen others. Scala is the language that helps you write better code. In the kinds of projects that I've been working for the last 3 years, requiring parallelism,…

What would you say was the best resource to learn it? I've been curious about Scala for a while, but never really taken the plunge.

Scala School is probably a good starting point: http://twitter.github.io/scala_school/

As for books you may want to check out Scala for the Impatient and Programming in Scala.

Re: Scala 2.11.0-RC1 is now available

#20
post #16

Earlier quoted context omitted.

Before Scala, I have "mastered" until now Ruby, Python, Perl, PHP, Java, C# and Javascript as in I used them for real projects in production for at least 1.5 years each and whenever I learn a new language, I always go in depth. And I also played with half a dozen others. Scala is the language that helps you write better code. In the kinds of projects that I've been working for the last 3 years, requiring parallelism,…

What would you say was the best resource to learn it? I've been curious about Scala for a while, but never really taken the plunge.

Scala for the Impatient (you can get part of the book as a free pdf from Typesafe). Although not designed for learning the language the O'Reilly Scala Cookbook is also very good.
Post reply on HN