Hacker News new | past | comments | ask | show | jobs | submit login
Scala is Not Java Glue (ruoyusun.com)
4 points by insraq on Nov 10, 2013 | hide | past | favorite | 5 comments

> And it is widely agreed that Scala is much less verbose and easier to work with than Java.

> ...

> - it [Scala] can be verbose sometimes,

> - Second problem is its learning curve. Scala is not easy to learn: the language has a huge feature set.

> - Scala’s IDE support is much less mature than Java.

So maybe Scala is not that less verbose nor that much easier to work with than Java after all.

I think the article contradicting itself on these points is a great illustration of why Scala never became mainstream. Scala certainly offers advantages over Java (I love the traits, the implicit conversions and case classes) but it also comes at a significant cost (feature set and surface area of the language, mediocre IDE support compared to Java, slow compilation, terrible backward compatibility story, feature creep, etc...).

Also, these arguments do not support just the idea that Scala is not a glue for Java but the more general idea that Scala is not intrinsically superior to Java, which is why it still has a minuscule mind share on the JVM[1].

[1] http://www.indeed.com/jobtrends/scala%2C+java.html

>> - it [getting Scala to work with Java] can be verbose sometimes

Fixed. You're reading that sentence wrong. It's still supporting the author's point. Also, it's not easy to learn [just because you're coming from Java]... This also supports his point that's it's better to treat Scala as a new language than as Java++. I grant you the IDE and the backward compatibility points, but those speak more to it's immaturity than it's "intrinsic superiority".

Having said all that, I agree that it might take Scala a long while to compete with Java. And I think the main reason for that is that it's hard. It's a bit too elegant, if you know what I mean. The syntax ends up being too sugary and consequently looks mystifyingly clever at times. I can think about OOP reasonably well, and I can do FP reasonably well, but personally it still takes my mind a while to wrap both those together. And that's the main reason I'm really into Scala right now, I find it incredibly challenging. I think as Scala comes more into production we'll see the development of more pedestrian idioms that can be easily absorbed by the industrial programmers.

Thanks for the correction.

> I grant you the IDE and the backward compatibility points, but those speak more to it's immaturity than it's "intrinsic superiority".

Scala is ten years old, the fact that it's still immature in these areas is a concern. If this hasn't been addressed in ten years of existence, it seems unlikely it ever will.

I think one of the biggest learning hurdles when coming from Java is getting used to using the functional collection types. I remember when C# first introduced linq-to-objects my reactions went from disgust, to fear, to total and utter acceptance and "how did I get anything done without this!"

I have personally found IntelliJ's Scala support quite good. Of course it's not as good as Java, but it's good. I am using EAP release BTW.

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