By ed102361
via blog.ericdaugherty.com
Published: Jul 26 2010 / 15:06
An analysis of how creating DSLs in Scala can result in syntax that can be difficult to decode and understand.
Comments
Miloskov replied ago:
Phantom/Fan, Groovy, Clojure are easy but Scala is complex as was C++ a big and complex language. (C++ also is ugly)
Maybe Scala will be good for a niche but is not the succesor of Java, sorry folks but the avarage programmer will not use proper Scala, it will be a big mess. Only Computer Science people could use it but it depends also.
Nikita Ivanov replied ago:
And you base this conclusion on what specifically?
Miloskov replied ago:
How I base this conclusion with Exprience, 20 years working on software development with brilliant people and also with the avarage joe. C++ put it with a brilliant folk and you will get a robust system but C++ with a joe or noob and you will get a disaster. Scala is in the same level as C++ was so it could become popular but it will always have a problem with the avarage programmers and that is the 90% of the population of programmers.
As I said let Scala to the computer Sciene folks(the brilliants) and Scala will shine. But give it to the rest and Scala will fall. You know why the Haskell community does not want Haskell to be popular? excatly for that reason, they dont want the avarage joe get Haskell and ruin years and years of reasearch in a beautiful language. Scala is beautiful but in the right hands.
sakuraba replied ago:
Scala's features can be complex at first, but the enable APIs like this:
(excerpt from scalatest.org)
it should "throw NoSuchElementException if an empty stack is popped" in {
val emptyStack = new Stack[String]
evaluating { emptyStack.pop() } should produce [NoSuchElementException]
}
Pay close attention to the third line. It reads almost like a natural sentence, just like Ruby code. I love APIs like that, because you just know what the author meant to do.
Yes, Scala can be intimidating, but it can also be insanely beautiful.
crabbydog replied ago:
There are different types of programmers. In most corporate places the programmers don't have computer science degrees and often are trained across from the business. They are adequate to write cobol business applications (or python or whatever language - even simple java). They cannot use the power of languages like scala effectively. Best language for these people is probably Eiffel or perhaps Visual Basic (before it became .net and hence little distinguishable from c#).
All the rest of the stuff the propeller heads love is almost irrelevant to average joe corporate programmer.
RawThinkTank replied ago:
Too much shortcuts in SCALA, instead of just focusing on language features.
For shortcuts they should work on clojure,
but we cant go back in time can we.
Voters For This Link (32)
Voters Against This Link (0)