I find this sort of argument frustrating. "Java doesn't solve the problems I want to solve in the way I want to solve them, therefore Java is a horrible language and shouldn't be used by anyone." Fine, Java isn't the language for you; but other people have different problems or different ways to solving those problems and some of those people find Java to be a perfectly good language. Just because you don't like it doesn't mean everyone should hate it. To each his own.