Live data from Hacker News

Why Learn Scala in 2013?

blog.typesafe.com

11–20 of 75 posts

Re: Why Learn Scala in 2013?

#11
post #8

When I first encountered Scala, my impression was that this would be Java 2.0. Two plus years later, that's still my impression. What this means to me is that if you are looking for a new work-a-day language (i.e. the language that you use to pay the bills; the ones that appear in the Tiobe top 25), then Scala is probably worth a look. However, if you are happy with your current working language and are, instead, loo…

I think it's true that Haskell is better for playing around with the stuff published in ICFP and related conferences. The reason, however, is a bit more subtle. Haskell is the dominant language for programming language research. So publications tend to use it, and Haskell is better adapted at being Haskell than Scala :) There is also more stuff being published in Haskell for this reason.

However it is not correct to say that Haskell is more expressive than Scala. It is in some ways but Scala is more expressive in others. There is a paper that discusses type classes in Scala and show they have some advantages over Haskell's implementation. As more people use Scala and discover neat things you do in it, this is feeding back into other languages. For example, here's the mighty Oleg implementing the cake pattern from Scala in Haskell: http://okmij.org/ftp/Haskell/ScalaCake.hs

Re: Why Learn Scala in 2013?

#12
post #8

When I first encountered Scala, my impression was that this would be Java 2.0. Two plus years later, that's still my impression. What this means to me is that if you are looking for a new work-a-day language (i.e. the language that you use to pay the bills; the ones that appear in the Tiobe top 25), then Scala is probably worth a look. However, if you are happy with your current working language and are, instead, loo…

Haskell might be a bit of a bad example considering how far ahead it is compared to other languages in terms of PL features (like type-level programming). When compared to other imperative languages, Scala is very feature complete, and Scala also has pretty much all the features of ML-type functional languages.

It's definitely at a good intersection of "useful" (all the JVM stuff) and "nice" (you can be functional or imperative, writing DSLs are super easy, etc).

Re: Why Learn Scala in 2013?

#14
post #8

When I first encountered Scala, my impression was that this would be Java 2.0. Two plus years later, that's still my impression. What this means to me is that if you are looking for a new work-a-day language (i.e. the language that you use to pay the bills; the ones that appear in the Tiobe top 25), then Scala is probably worth a look. However, if you are happy with your current working language and are, instead, loo…

I think it's true that Haskell is better for playing around with the stuff published in ICFP and related conferences. The reason, however, is a bit more subtle. Haskell is the dominant language for programming language research. So publications tend to use it, and Haskell is better adapted at being Haskell than Scala :) There is also more stuff being published in Haskell for this reason. However it is not correct to…

> Haskell is the dominant language for programming language research. ..... There is also more stuff being published in Haskell for this reason.

No. Even if you just mean the FP (functional programming) community this isn't true, and it's definitely not true for the whole of SIGPLAN.

Re: Why Learn Scala in 2013?

#15
post #8

When I first encountered Scala, my impression was that this would be Java 2.0. Two plus years later, that's still my impression. What this means to me is that if you are looking for a new work-a-day language (i.e. the language that you use to pay the bills; the ones that appear in the Tiobe top 25), then Scala is probably worth a look. However, if you are happy with your current working language and are, instead, loo…

I like Scala and didn't personally find it that hard to start using it but I'm not optimistic about its future as a mainstream alternative to Java. It's just too big and complex and (apparently) too GC heavy to be useful on what is quickly becoming one of the most important Java environments (Android).

My money is on Jetbrains' Kotlin as a significant but manageable step forward from Java. Given its pedigree I expect it to have tooling support that no other JVM language can match.

http://kotlin.jetbrains.org/

Re: Why Learn Scala in 2013?

#16
post #8

When I first encountered Scala, my impression was that this would be Java 2.0. Two plus years later, that's still my impression. What this means to me is that if you are looking for a new work-a-day language (i.e. the language that you use to pay the bills; the ones that appear in the Tiobe top 25), then Scala is probably worth a look. However, if you are happy with your current working language and are, instead, loo…

I think it's true that Haskell is better for playing around with the stuff published in ICFP and related conferences. The reason, however, is a bit more subtle. Haskell is the dominant language for programming language research. So publications tend to use it, and Haskell is better adapted at being Haskell than Scala :) There is also more stuff being published in Haskell for this reason. However it is not correct to…

Thank you for the link. The cake example was exactly what I was thinking of when I said that things may be changing (though I couldn't recall the specific example). It's also quite likely that as the Scala community grows, and people stop trying to make it be "like but more ", we will see more innovation in this space.

Still, I think Scala is first and foremost a practical language. Straying too far from that as a primary goal would probably be harmful in the long run (i.e. driving a Ferrari might be fun, but you're not going to buy one for the daily commute).

Re: Why Learn Scala in 2013?

#17
post #13
post #9

I haven't looked at Scala lately. Has the compile speed of Scala improved? Is it comparable to Javac now?

The new SBT is a lot smarter now, my incremental builds are pretty fast. Speed-up is part of the roadmap: http://blog.typesafe.com/getting-down-to-work

It's too bad sbt isn't actually simple and is generally a disaster.

I did scala in IntelliJ. The lack of tooling reduces the value a lot. I almost prefer plain java over the sheer simplicity it has comparatively...

Re: Why Learn Scala in 2013?

#18
post #13

Earlier quoted context omitted.

The new SBT is a lot smarter now, my incremental builds are pretty fast. Speed-up is part of the roadmap: http://blog.typesafe.com/getting-down-to-work

It's too bad sbt isn't actually simple and is generally a disaster. I did scala in IntelliJ. The lack of tooling reduces the value a lot. I almost prefer plain java over the sheer simplicity it has comparatively...

I tried IntelliJ, but the Scala plugin had a lot of bugs. Eclipse on the other hand is pretty good now: http://scala-ide.org/

Personally I find the SBT Scala file much simpler than a Maven XML.

Re: Why Learn Scala in 2013?

#19
I really like Scala. But i have some thoughts on this article:

- Its not objective: It's from Typesafe. Logically they are not going to mention the negative sides of Scala

I used Scala myself and I think it is a very good approach to combining functional, imperative, object oriented and type safety in one language.

But the big downside is complexity: Scala is utterly complex, its has all the features of java. But it simplifies the object model (everything is an object), that's a good thing. But the type system? Really complex. Making compile time errors very difficult to understand.

A shift to functional style programming is happening more and more. But I think, and hope, there will be a complete paradigma shift from imperative to completely functional. This should start with universities starting with lambda calculus and functional languages to 1st year CS students.

Functional programming has the simplest execution model, is one of the best to reason about, and works very well with current multicore systems. That's why i'm spending more time on learning Clojure than learning Scala. In the end a language like lisp is much simpler but the paradigma shift is what makes it a bit difficult for those imperative programmers like me.

Re: Why Learn Scala in 2013?

#20
post #13

Earlier quoted context omitted.

The new SBT is a lot smarter now, my incremental builds are pretty fast. Speed-up is part of the roadmap: http://blog.typesafe.com/getting-down-to-work

It's too bad sbt isn't actually simple and is generally a disaster. I did scala in IntelliJ. The lack of tooling reduces the value a lot. I almost prefer plain java over the sheer simplicity it has comparatively...

Why do you feel that sbt isn't simple/a disaster? I actually think it is the nicest of the build tools on JVM. I can set up basic projects with no configuration. Also, its triggered build feature[1] combined with its interactive console is a killer feature set that I think all build tools should have.

[1] http://www.scala-sbt.org/release/docs/Howto/triggered.html

Post reply on HN