Hacker News new | ask | show | jobs
by sharednothing 5650 days ago
Scala is the C++ of the JVM based languages.
1 comments

I disagree completely. C was a well designed language that was later added onto haphazardly and you ended up with C++.

The Scala language designers took a long time examining the shortcomings of java and other languages and ended up improving them, and at the same time coming up witha much smaller language specification.

If anything, Java was the C++ and Scala is the C.

Please point out the "shortcomings" of Java. It has done quite well and provably "scales" from programming in the small to enterprise level. Even the required detour of multi-core resulted in the industry's gold standard of memory models: JMM.

"Much smaller language specification" is a red herring. The issue is (practical) comprehension.

"C was a well designed language that was later added onto haphazardly and you ended up with C++."

http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/d...

I've read that book. (Have you?) Nothing "haphazard" about C++.

I consider verbosity and lack of closures to be shortcomings of Java. Apparently, so did the author of the article here.
Its perfectly fine to note that Java can be verbose and that it does not fully support closures. It is perfectly fine to consider these "shortcomings".

However, in context of OP's comment above, the strong suggestion made was that shorcoming == poorly designed.

And that is a completely wrong assessment of Java and its designers. It is an exceptionally well thought out system and language. Again, the proof is in the pudding. Google and Oracle are not fighting over scala ...

If issues such as verbosity and whether or not to have closures are not part of the language design process, then what is?
That is a non sequitur.

A language designer must make choices. 2 choices have been identified as "shortcomings" (in the sense of this thread). Empirical evidence suggests that they indeed picked a very productive sweet spot.

As an aside, the current disfavor of "crowds" for Java is all together too familiar to the past fervor of "crowds" for Java. You may wish to reflect on that.

They're not fighting over Java, they're fighting over the JVM. Java isn't worth fighting over.
The fact remains that the JVM was designed for Java and mirrors its semantics.

The "shortcoming" of Java is due to none other than the JVM:

http://java.sun.com/developer/technicalArticles/DynTypeLang/...

Shortcomings: Generics. Lack of closures. Please tell me how those are not shortcomings.

>Even the required detour of multi-core resulted in the industry's gold standard of memory models: JMM.

Which has absolutely zero to do with java the language. Did you forget what we were talking about in your second sentence?

We were discussing the "mistakes" made by the Java design team. JMM is one of their products. It is relevant to mention this fact as it supports the claim that the responsible parties have generally been also quite brilliant folks.