Why is java web development not a common practice?
As a professional Java programmer, I've been trying to understand - why the hate toward Java for modern web applications?
I've noticed a trend that out of modern day web startups, a relatively small percentage of them appears to be using Java (compared to Java's overall popularity). When I've asked a few about this, I've typically received a response like, "I hate Java with a passion." But no one really seems to be able to give a definitive answer.
I've also heard this same web startup community refer negatively to Java developers - more or less implying that they are slow, not creative, old.
As a result, I've spent time working to pick up Ruby/Rails, basically to find out what I'm missing. But I can't help thinking to myself, "I could do this much faster if I were using Java," primarily due to my relative experience levels.
But also because I haven't seen anything critical "missing" from Java, preventing me from building the same application.
Which brings me to my question(s):
Why is Java not being used in modern web applications?
Is it a weakness of the language?
Is it an unfair stereotype of Java because it's been around so long (it's been unfairly associated with its older technologies, and doesn't receive recognition for its "modern" capabilities)?
Is the negative stereotype of Java developers too strong? (Java is just no longer "cool")
Are applications written in other languages really faster to build, easier to maintain, and do they perform better?
Is Java only used by big companies who are too slow to adapt to a new language?
In my experience, Java web applications are overkill for small applications. A simple blog with one database table holding blog entries, for example, could be done in something much simpler. I have usually seen Java do much better in much larger web applications (think banks and insurance companies) that communicate with a number of other systems (such as mainframe back-ends and databases and peer web-services background batch-processing systems... all in the same application). From what I've seen, the architecture of a JavaEE web application is just usually more than is needed for small/simple web applications.