"Java is COBOL of nineties. Future generations of programers will fly here from the Moon to piss on our graves for inflicting it upon them."
Now the JVM is mature, and it fricken kicks ass! Really, for a high-level OO language supporting VM, the thing just screams. It's still unwieldy and much better suited to server stuff, but as a Smalltalker and therefore a former longtime Java detractor, I have to say, I am really impressed.
I agree completely Smalltalk 80 kicks Java 2010's ass, but, still, saying Java does not work is kind of exaggerated.
Dear Microsoft, Mono project has in fact already done the hard work for you. Why can't you embrace it (sponsor their developers, help them implement the latest specifications) and bless it as the "official" CLR for Linux and Mac or "alternative" CLR for Windows (much like Blackdown JDK was on Linux or the situation viz. IBM's JDK).
Sun has used this strategy in the past: use their excellent OS as a way to sell their crappy hardware (flame retardant suit donned for the Niagara and UltraSparc-IV fanboys). They realized it's the wrong strategy, but it was too late.
Still, for some reason I personally wouldn't consider using Java for any programming task, ever. And I'm very curious about where this sentiment comes from. Java was my main programming language in the nineties, but the last five years I've avoided it like the plague. Whenever I hear about Java (like when seeing this clip), my spontaneous reaction is "Do people still use Java?". And that is with my wife working at Ericsson using Java as one of their main environments in huge projects alongside with C++ and Erlang. Still, it is as if I've been burnt by it. I don't want anything to do with it.
All I can come up with is that I maybe never fully grasped the build tools. I've worked in fairly large Java projects. But always with a feeling of not being fully in control, of relying on trial and error in some situations. With other toolsets I feel fully in control.
It's not you Java, it's me. But I still don't trust you. You never let me in on your secrets.
However, I wonder if part of it is the experience that "most Java jobs suck", whereas in reality most jobs suck. So had I been a Ruby developer for the last 10 years, maybe now I would be sick of Ruby.
That said, there also a number of evident things that annoy me about Java.
Or, as people say, it's kludges all the way down.
But, albeit we could discuss about stack based vs register based VM instruction set design, some of the limitations of the JVM are not inherent to its design, but rather to the inability to evolve.
Who's going to introduce bytecode extensions to the JVM now? And correctly manage the upgrades, backward compatibility process etc.
Mature products sometimes have this kind of issues. But, who knows, perhaps there will be a time frame when such a change will be welcome (along with java7 closures?) by the community, even if causing some migration problems.
It would need to be really inelegant to warrant a comparison with the x86...
Not that much, and not that inelegant ... at least x86 evolved a lot since 8086. The JVM itself evolved only in the internal architecture, but the bytecode itself is almost the same since Java 1.
The best VM for multiple language will soon prove to be LLVM, only because it makes your code cross-platform, while being low-level enough and not being strangled by a standards body.
It's actually easier to build a compiler for LLVM than it is for the JVM ... you might not go at first with a generational GC, and the speed might be terrible ... but at least you have room to grow ...
I have yet to see a language on top of the JVM beat LuaJIT2 (even Java itself can hardly beat it in simpler benchmarks). And the optimizations in Java7 can be achieved today in Java6 (with lots of workarounds, of course).
If you start with a can opener and attach it seats, engine, wheels, transmission and a steering wheel, all in ways it can still be in your kitchen and open cans, is it a car or a can opener? That's an x86.
I am not saying the JVM is the VM to end all VMs. It's just that it's nicely done. Much unlike the x86.
Some of the stuff you can do on the JVM, yes.
Java? Definitely not.
Java certainly isn't.
It is most definitely not safe for all audiences. It is, however, very funny.
You have to attune your humor to that of the community. I laughed, so I appreciated that this video appeared here. If the humor was slightly lower quality, I might have made the same comment you made and been sad about it.
I think the upshot is that people want a little good quality humor in their daily news, and are willing to upvote it occasionally. The lower quality posts are going to fail, be flagged and removed, etc.
But, I still think Fortran was pretty sweet. Also still has a pretty large user base. Especially among engineers.