Me, I don't mind Java so much, but the loads and loads of ceremonious bullshit that Java forces upon me is annoying and I absolutely despise web development in any of the existing tools[1]. I'd love something more friendly for what I do. (I would punt many adorable helpless kittens for a working C# on the JVM.)
[1] - Please don't reply to this to tell me I need to try Play. I have. It's not much better to work with, its developers are absentee and don't seem to want outside contributions, and it has no community to speak of. Not good.
Before Java EE, I was coding similar type of applications with CORBA frameworks, and before that RPC frameworks.
Now I am doing .NET, and we have to use a Java EE like framework as well.
Enterprise architecture has a Midas touch to make everything complex.
It's largely cultural (and though they aren't doing a great job the Play guys should be commended for trying), but no less a problem.
IOW: not everybody is in charge of what technology they use. Further, not everybody has the resources nor the inclination to rearrange their entire life (and that of their dependents) in order to start their own company, all because of Java.
And sometimes it's just kibitzing or venting or what have you.
From what I understand, a lot of universities do force students to use Java for many introductory courses, mine included (though we're migrating to Python.)
Compare these hello world programs for instance:
Java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Python: print "Hello, world!"
Ruby: puts 'Hello, world!'In that case, why not teach Basic? Its hello world is just, print "Hello World"