My general feeling is that there is a business-model problem in the tech industry.
The most important technolgies are underfunded. They are created by smart people in their free time, or by companies who do not have enough money.
For example I've looked at Scala's Eclipse plugin: it was a horror. It is just question of money (hiring a bunch of good developers) to create IDE support which is not totally buggy and not horribly slow.<p>If 1/100th of the VC money going into social startups would go into actual technology companies, if it were an accpeted business model to sell (maybe read-only open source) technology for money, then the tech landscape would be totally different.<p>TL;DR: to replace Java, a lot of directed professional development effort would be needed: money would help a lot.
Again, Scala is just another tool it's evolving and it's a very nice tool to know...<p>Of course Java will always be around because it's easy to learn(I earn my money with it BTW) and it protects you from all kinds of stupid errors that newcomers could do in C , C++ or Javascript (memory management, Static Typed, etc...) but Scala provides a very flexible way to code a way that most Java devs are not used to, and therefor it takes a while to learn, but when you do learn it's a Joy I am a proof of that I really like coding in Scala while java is like my work horse, scala is what I use for my fun coding.<p>BUT... as an young language it have some major drawbacks, like lack of a proper IDE, slow compiling time, lack of Frameworks, lack of documentation and so on... but I am really happy to see Typesafe writing the problems down and fixing them when possible, it will take a while but when it's done it's going to be a very good language to know, and they are slowly I agree but fixing it.
Would it be wrong to think of Scala and Clojure as the F# of the JVM?<p>I had been thinking of Scala as though it was Java++ (in analogy to C vs C++): a language that adds a few features on top of Java for better abstractions, but regular Java programmers can basically program Java in it (and read it as though it was Java). However, it seems like truly idiomatic Scala code involves heavy use of advanced functional and type system concepts that cannot simply be glossed over.<p>Will Scala and/or Clojure end up as languages in the JVM used by a small number of senior developers to be more efficient on particular problems (like F# on the CLR) rather than the next big language used by everyone (like C++ superseding C for most problems)? And, is that an accurate portrayal of how F# is currently being used?
Interesting that they feel this way. As a Groovy enthusiast, it feels to me like Scala's gotten all the press/mindshare over the last year, while Groovy is potentially doomed to sideline status. Lift gets some praise, and Play! and Roo are the new hotness, while Groovy/Grails doesn't get the love I'd like it to.<p>Probably all "alt.java" tech will remain somewhat fringe, simply due to inertia. And although I wasn't in the Groovy community at the beginning, I do think that Groovy, in some small part, helped further along the "non Java on the JVM" story, giving people solid examples of using alt.java languages without having to leave the JVM altogether.
I don't really know much about Scala or its ecosystem but I'm curious, what do they mean by:<p><pre><code> "Ridicule about parallel collections in 2.9 (one of its major new features)"</code></pre>
Given the amount of comments on Scala (positive or negative, that's irrelevant) I'm not so sure it will be a fringe language for long. It must be somehow relevant for so many people to spend so much time talking about it...
I like Scala, sad to see that it is not gaining the required momentum. There are many people complaining about Scala and we don't see many people who are using it successfully talk about its abilities and elegance, I would love to see the scala experts/Typesafe respond with something that demonstrates the usefulness/applicability of Scala to the masses, and may be Typesafe/Partners can offer an easy to follow video tutorial?. I am also a little bothered when the Scala community answers these criticism with - "You are wrong.You haven't learned it properly" instead of trying to help.