sharednothing
The "shortcoming" of Java is due to none other than the JVM:
http://java.sun.com/developer/technicalArticles/DynTypeLang/...
No. And yes, of course. (Java is not exactly "popular" these days.)
"Do you have actual data showing productivity gains for using Java over Scala or other languages that run on the JVM?"
Do you have actual data from a study that shows such studies are worth their virtual ink? Cite it, please. Lets pretend we have an actual market economy in this country: How many businesses have shot themselves in the foot with Java? How many have bet the farm (IBM, Oracle, even Google has hedged on this tech) on Java? Are they all idiots who do not appreciate the grave "shortcomings" of Java and its impact on the "productivity" of their workers ants? Are you kidding me?
"You are advocating for empirical evidence, but are not providing much in this discussion that I can see."
One needs to point out the overwhelming presence of Java in OSS? Well, consider it pointed out. Pretty darn good showing for a language with such serious "shortcomings".
Anecdotal? Have been programming since 16. That was 30 years ago. Have done/seen enough to have a reasonably informed opinion regarding languages. Everyone of them has its set of issues. Java included. But it is actually one of the most productive languages I have worked with to date.
A language designer must make choices. 2 choices have been identified as "shortcomings" (in the sense of this thread). Empirical evidence suggests that they indeed picked a very productive sweet spot.
As an aside, the current disfavor of "crowds" for Java is all together too familiar to the past fervor of "crowds" for Java. You may wish to reflect on that.
However, in context of OP's comment above, the strong suggestion made was that shorcoming == poorly designed.
And that is a completely wrong assessment of Java and its designers. It is an exceptionally well thought out system and language. Again, the proof is in the pudding. Google and Oracle are not fighting over scala ...
Everyone of us has recourse to the contextual/environmental support that you (correctly) point out. But only a few manage to use it effectively. In that context, the skillful individual has accomplished something that most other individuals apparently can not (or do not wish to do).
Status has always been based on power. Plenty of poor men grew up to be powerful men in the pre-industrial world. In this corner of the world (West) the routes open to the "self-made" man were the military and the clerical orders.
(It is of course true that the nobility had de facto access to the same spheres.)
"Much smaller language specification" is a red herring. The issue is (practical) comprehension.
"C was a well designed language that was later added onto haphazardly and you ended up with C++."
http://www.amazon.com/Design-Evolution-C-Bjarne-Stroustrup/d...
I've read that book. (Have you?) Nothing "haphazard" about C++.
This is getting tiring:
public class MyGraphThingee extends Graph<Foo, Bar>Given the amount of work involved, I'd like to throw in the suggestion here that if you are thinking of building your own (programmer development environment -- these things are not simply "editors") on top an OSS foundation, to review and consider IDEA:
(Not in any way associated with JetBrains).
This is entirely subjective per my experience:
- the 10.5 'feels' more responsive.
- the beachball is a very frequent event in the 10.6, specially Safari, sometimes even when switching tabs which is quite annoying.
- I haven't rebooted the old MBP in months. Sitting pretty on my desk. The new one has frozen few times and occasionally I feel the need to put it out of its misery myself.
Answer is "something written by turncoat mercenary Geeks".