4 ms·
Java has engineered itself to be many things to many people, and so applications built in Java can't really contain streamlined code because you still have to d
by tomh 18y ago
Java has engineered itself to be many things to many people, and so applications built in Java can't really contain streamlined code because you still have to do a few simple things up-front.
Take a J2EE app, for instance; the servlet interface allows you to do a lot that can trip you up. Not having multithreading in servlets unless you specifically design for it is one of those things. Leaving SingleThreadedModel in the code, which is a really bad way to ask for multithreading in servlets, is something that a lot of haters can point to and say 'Java is Stupid'.
You can certainly get around servlets by working in a J2EE framework such as Struts or Spring, but that attracts more haters who point to all the jars you have in your library and say that 'Java is Overengineered'. If you don't believe me, check this brilliant 'Mac vs PC' spoof: http://railsenvy.com/2007/5/14/ruby-on-rails-commercial http://railsenvy.com/2007/5/14/ruby-on-rails-commercial
So, while some languages are trodding a careful path between Stupid and Overengineered, Java is riding the pendulum, crashing wildly into both sides with wild abandon. And that pisses all the programmers off in a mighty big way.