4 ms·
>It's certainly doable, but in the end you realize the benefit is just not worth the effort. The benefit of using a language that, at _worst_, is as productive
by rtpg 12y ago
>It's certainly doable, but in the end you realize the benefit is just not worth the effort.
The benefit of using a language that, at _worst_, is as productive as Java, and at best miles better?
>faced with the dilemma of favoring some PL research goal vs. real working-man's use, Scala always chose the first
Scala is pretty straightforward in terms of features, classifying it as "PL research" is a bit much.
>Say what you want about Java, it's really great for big projects you must depend on and need to maintain for many years.
My experience has been that larger projects end up accumulating so much boilerplate that it becomes extremely hard to manage (I fear that Scala's standard library is becoming like this too, but third-party libs seem to avoid this).
I have trouble finding any non-deployment-related argument against Scala in the Scala vs. Java comparison.
- pron 12y ago> The benefit of using a language that, at _worst_, is as productive as Java, and at best miles better? I completely disagree with this. If "productive" means fewer lines of code -- then yes. But for a large-scale project, productive usually means code that another developer can understand quickly, and by that metric I think Scala loses big-time. > I have trouble finding any non-deployment-related argument against Scala in the Scala vs. Java comparison. Then either you haven't had enough experience with Scala (not on your own, but in a large team[1]) or you haven't looked. I and many others can list plenty, but I've said much of that before, and you can find a lot of other people's experiences online. In the end, it all comes down to tradeoffs, and you can find many valid arguments for both preferences. [1]: It can be argued that almost no one had (and neither have I) because Scala hasn't been around long enough, but overseeing development of (non-Scala) software that needs to last for at least a decade, as well as the later evolution of similar projects, it quickly became clear (to me, at least) that Scala isn't a great fit for such projects (at least not for many developers). People had a harder time understanding Scala code that was written by another team member a week earlier than Java code written 7 years earlier. While you certainly can be too clever in Java if you put in enough effort, it's waaay to easy in Scala. You can immediately see how the programmer became too bored of the actual problem they had to solve and decided to amuse themselves by playing with the language. This is something I've seen happen in C++ projects too, but to a lesser extent. I can guess that part of the reason is that when almost everyone was using C++, the internet, and certainly blogs, weren't so widespread and influential, so the really clever tricks couldn't spread so quickly. Also, when C++'s harm became apparent, discipline was quickly enforces in many organizations, and it was much easier to enforce discipline over C++ developers back then, than over Scala developers today, because many of those are cowboys to begin with. Still, maintaining long-lived C projects is easier than maintaining C++ projects, so much so that many wish they had chosen C over C++ when they first began development.
- justinpombrio 12y ago> Scala is pretty straightforward in terms of features, classifying it as "PL research" is a bit much. False. http://www.scala-lang.org/old/node/143.html#papers http://www.scala-lang.org/old/node/143.html#papers
- frowaway001 12y agohttp://citeseerx.ist.psu.edu/search?q=java&submit=Search&sort=rlv&t=doc http://citeseerx.ist.psu.edu/search?q=java&submit=Search&sor... Results 1 - 10 of 119,620 What's your point again?
- justinpombrio 12y agoAh, the difference is that much of the research done on Scala makes it into the language
- frowaway001 12y agoLike what? Generics?