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?
Why isn't Java used for modern web application development?
java;web development
Modern day startups need to hit the market as soon as possible. They don't need to spend about six months in order to release their Java web application.  Twitter for example was built using Rails/Ruby but once it became unscalable, they migrated to the JVM.Not to mention that the development process isn't productive: code -> compile -> deploy while it is in frameworks like (Rails/Django/Grails): run testing server -> code -> change things and see what happens.The good news is that JRebel  lets you see code changes instantly.