4 ms·
It’s crazy that Java is still trying to catch up to Scala, yet, Scala seems very maligned (at least on HN, my coworkers love it). This is contraversial, but Ja
by smabie 7y ago
It’s crazy that Java is still trying to catch up to Scala, yet, Scala seems very maligned (at least on HN, my coworkers love it).
This is contraversial, but Java does not provide any value anymore. The JVM on the otherhand, is a remarkable piece of engineering, unrivaled by pretty much anything else in the space. I still can’t get over that Gosling was okay with the first Oak or Java or whatever release. But he’s a super smart guy so I assume there was a reason besides corporate pressure?
I’ve seen people on HN disagree, but we, as a profession, really deserve the most powerful tool for the job. Notation as a tool for thought, etc etc.
PS: The thesis is that complexity is bad (obviously), but power is good (a priori). Arguments against complexity are fine, but arguments against expressiveness and power are ridiculeous. Moreover, the arguments I’ve heard against power are strikingly similar to those I’ve heard against freedom, or drug legalization, or democracy. They always revolve around how other people are stupid and can’t be trusted with power/freedom/expressiveness/etc.
- vmchale 7y ago> It’s crazy that Java is still trying to catch up to Scala, Or Haskell etc... Plenty of languages have product types.
- vips7L 7y agoIn my experience scalac, scala, and sbt are some of the biggest productivity killers at my work place. Most devs loathe going into the parts of our code base that are scala (thanks Play). The tooling for scala also is not as good as the rest of the Java world.
- Justsignedup 7y agoI worked with Scala fans, and with non-fans. Fans love it because they code in VIM. Non-fans tend to have better tools and thus find Scala's tools very very lacking.
- dtech 7y agoThat is not my experience at all. IntelliJ has excellent Scala support and is very widely used. Quite the opposite, one of the downsides to Scala is that non-IntelliJ editor support is currently lacking.
- vips7L 7y agoThis is exactly what I was referring to. I don't enjoy intellij too much and the vscode and sublime Java extensions don't support a mixed project.
- sk5t 7y agoUnlike Perl, I find that Scala encourages writing code that is quite clear and maintainable. Of course the unwise might go berzerk with symbolic method names and overuse of postfix notation, but written sensibly, Scala's compactness and avoidance of boilerplate and tricky control flow (break, continue, early return, multiple ctors, etc.) can improve ergonomics and readability.
- misja111 7y ago>> They always revolve around how other people are stupid and can’t be trusted with power/freedom/expressiveness/etc. It's not the stupid that can't be trusted with Scala's power and freedom but it is those who are trying to be too clever. At least when they are working in a team. Of course this is not only the case with Scala, but not many languages offer you so many different ways to abuse your power as Scala does.
- pron 7y agoMany things that become mainstream was at one point a subject of research, but that doesn't mean that the mainstream is "trying to catch up" to research, because most of what is researched never gets good or appropriate enough to be mainstream. Comparing a language that in its manifest declared that it is "blue-collar" and would strive to only adopt features after they've been tried and tested for years elsewhere and then become familiar with a language that is a tool to try research questions and to judge them by similar criteria is very strange. Scala and Java have very different design philosophies, they are designed for different audiences, and they have different goals. You also seem to be under the impression that more features always mean "better" and that more power always means "better." I am not sure what gave you that impression, but by most reasonable metrics neither of these is the case. Your comparison with democracy is also misused. I think you'd agree that if every person had the right to arrest anyone else or to judge and punish people, our situation would not necessarily be improved. Software, or at least the kind of software that Java is designed for, isn't written by a person but by a group of people, often a very large group of people, and over what could be decades. The goal of various restrictions is to protect the work. Finally, arguments for "expressivity" are just as ridiculous as arguments against it; these are largely matters of personal aesthetic preference.