Hacker News new | past | comments | ask | show | jobs | submit login

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.




I'm not disagreeing about the complexity, but you can choose to use a sane subset of the language and do away with all the other stuff. Map, filter, anonymous functions and type inference already puts it way ahead of Java in terms of productivity. You can absolutely choose to ignore the rest of the language.

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.

It's not very fair to compare Scala with Clojure - static typing might not be everyone's cup of tea, but over time, I have come to appreciate it's power when dealing with certain classes of problems.


  I'm not disagreeing about the complexity, but you can choose
  to use a sane subset of the language and do away with all 
  the other stuff. 
You're aware that's the classic counter-argument to "C++ is too complex"? Like with C++, the problem is it will be very hard to agree on what sane subset to use. There are a lot of things nice about Scala, but I can't help seeing it as the C++ of FP languages. Moreover, the Haskell envy it exhibits can be sometimes embarassing.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: