10 ms·
> It seems to me the Play developers moved to Scala more for personal fun than for their users (nothing wrong with that, just making an observation). Maybe the
by nessus42 14y ago
> It seems to me the Play developers moved to Scala more for personal fun than for their users (nothing wrong with that, just making an observation).
Maybe they moved to Scala because Scala is a superior language.
And where I work, we are users of Play specifically because it supports Scala well.
- laureny 14y ago> Maybe they moved to Scala because Scala is a superior language. As you are probably aware, this is a highly controversial claim and there is certainly no widespread agreement on it.
- jbrechtel 14y agoThat doesn't make it false.
- laureny 14y agoSaying that Scala is a superior language is like saying that the red color is superior to blue. It's not false, it's just silly.
- happy_dino 14y agoI really can't imagine how that is supposed to be even remotely controversial. That's probably as controversial as saying that a $200-CPU built in 2013 is faster than a CPU in 1993. Isn't that just repeating the “all languages are equal”-myth?
- seanmcdirmid 14y agoIts not controversial. Since "superior" is a superlative, it doesn't actually mean anything. So what you said is true but meaningless. Its just a matter of English, not ideology.
- happy_dino 14y agoAnd what's your actual point now, except trying to disagree?
- seanmcdirmid 14y agoMy point is that the language is conceited and vacuous, basically used to incite arguments and nothing more. I'm not going to agree or disagree with something that has no meaning.
- nnq 14y agoI just hate it when people are right but choose a completely wrong analogy to explain their point: a language's superiority is always context dependent, while a CPUs speed is a cold hard scientific fact (with some gotchas, but nevertheless...). You're right and at the same time using such a wrong argument that you end up feeding the trolls in the process :)
- happy_dino 14y agoJust like a CPU, the design of the language was informed by the experience gained and the lessons learned when analysing/building its predecessors. The analogy is perfectly fine imho.
- laureny 14y ago> Isn't that just repeating the “all languages are equal”-myth? No, it's debunking the myth that you can compare any two languages and say which one is objectively superior. There is no such total ordering.
- happy_dino 14y agoIn general, that's nonsense. There are certainly languages which are comparatively close, so that it is hard to tell, and where different weightings can lead to different results. That doesn't mean it is like this for every comparison. For instance, the comparison between Java and Scala certainly doesn't belong to this group, just like comparing PHP with many other languages also leads to a clear outcome. But honestly, I don't care. There are also people claiming that there is no "objective superiority" in cases like "evolution vs. intelligent design", "6000yo universe vs. billions of years", "software patents vs. no software patents", "no contraception/abortion vs. women's rights". Right reaction is to laugh and move on.
- nnq 14y ago> red color is superior to blue It's always about context: if an A/B test show you that changing a button's color from red to blue increases conversion rates by 50%, than red really is superior to blue for this context. Same, if your developers are 50% more productive in Scala than in Java that Scala is a better language for you, same way that red really is superior to blue in the above. And I really like the dream of a "language agnostic-framework", though I know it's not really possible. It would be cool to have a Play framework which also supports Clojure or JPython or JRuby, as for some developer teams these languages might be superior to Java or Scala - but I know that the development effort would be huge*. But in the real world, 90% of good programmers will take Scala over Java anytime, even if they'll have to learn it! Heck, I'd take C# on mono over Java any day!
- duaneb 14y agoScala is too different from Java to call it better. Java comes with cheap programmers, some of the best tools in the world, reliability, and speed. Scala comes with style (functional, lack of boilerplate, sugar like xml(?)), anecdotal rapid development, and some pretty good concurrency. Personally I think the syntax in scala is even uglier than Java's, if such a feat were possible, and looking at scala code makes me want to stab my eyes out with forks. Thankfully I don't think I'll have to touch the JVM any time soon.
- mercurial 14y agoI would not call Java's syntax "ugly". It is extremely regular and easy to grasp. What it is, however, is extremely verbose. On the other hand, Scala suffers from a bad case of Perlositis: why have one syntax for a language element when you can have three?
- nnq 14y agoNice to know I'm not alone feeling this way about Scala syntax :) Though I know it's just syntax and I'll grow to love it sooner or later.
- happy_dino 14y ago> Java comes with cheap programmers, some of the best tools in the world, reliability, and speed. You realize that none of your points are actually related to the language itself? Yes, Scala's syntax is ugly, just look at this cryptic operator soup: int[][]_00_[][]=null;
- ratherbefuddled 14y ago> Yes, Scala's syntax is ugly, just look at this cryptic operator soup: int[][]_00_[][]=null; What on earth is that? I've never seen anything like that in Scala code?
- happy_dino 14y agoIrony. That's Java.
- lmm 14y agoReally? I can see claiming Scala is superior to e.g. Ruby would be controversial, but I can't imagine many people claiming Java is as powerful, particularly here.
- xjru 14y agoScala has way more language features than Java, that's for sure. It does have powerful abstractions and it makes a lot of things more elegant. You could say the same about C++ compared to C. But in both cases, sensible people can disagree on whether or not the additional power justifies the additional complexity and those insane compile times. And just to be a little more specific in what I mean by complexity: What I mean is, how much do you know about what a particular piece of code does when looking at it in isolation? How much additional context do you need to figure out what it does? How many possibilities are there? Powerful syntactical abstractions are a double edged sword.
- happy_dino 14y ago> Scala has way more language features than Java I wouldn't say that. I think the main difference is that Scala spent its language design budget on more useful things compared to Java. Have a look at C# if you want to see a language with tons of features. > What I mean is, how much do you know about what a particular piece of code does when looking at it in isolation? How much additional context do you need to figure out what it does? How many possibilities are there? From experience, that amount of code is considerably smaller than Java because I can be pretty sure that some piece of Scala code usually won't mutate stuff all over the place.
- xjru 14y agoImmutability is not a language feature in Scala as it's not enforced like it is in Haskell, so you don't have any guarantees about what a piece of code doesn't do. Granted, you can make a better guess than in Java where mutability is concerned. Scala's syntax is flexible enough to let you build DSLs. It makes use of operator overloading, optional braces after method calls, infix methods, etc. All features that Java doesn't have. Being able to build DSLs is a good thing, but the whole point of DSLs is to hide some of the semantics of the underlying language and let you think in terms of the domain the DSL was built for. So there is clearly a power/complexity/understandability trade-off.