3 ms·
IMO there is neither lack of hosting support (just use EC2 or a vserver) nor any serious performance issues. I'm a long term Python developer (since the 1.5.2
by gst 16y ago
IMO there is neither lack of hosting support (just use EC2 or a vserver) nor any serious performance issues.
I'm a long term Python developer (since the 1.5.2 days). I've used a lot of different languages so far (from C to Haskell), and I've always avoided Java in the past (at the beginning because it was slow, later because everyone was telling me how bloated it is).
But using Java EE (!) instead of Python for a project a few months ago was really an enlightenment. Yes, it is somewhat bloated (although much less in the recent versions where you can use annotations instead of all those XML files). But on the other hand: It just works - exactly as documented.
With all other frameworks (based on Python, Ruby, etc.) that I've used so far I had to hack around in the framework or in the libraries to make it work the way I want. This starts with simple issues such as Unicode support, where the authors of a library obviously just didn't care if it works, and continues with distributed transactions, where you have to hack up the whole logic inside your application because the framework doesn't support them. Compared to this, with Java (EE) this just works rock stable and has most of the features you'll ever need.
From a performance perspective Java isn't that bad as either. For a project I've compared the performance of two simple (comparable) Web apps that I've wrote: One with Python on Django, the other one with Java on Glassfish). Once you increase the concurrency, the requests to the Django app just return error codes or take a long time to complete. In comparison, the Glassfish app just chucks happily along.
This does not mean that Java is appropriate for all use cases. But just don't believe the majority and try out yourself, if it works for you.
- angerman 16y ago"It just works - exactly as documented." -- I guess that's the one thing that Java is really good at. I would even say you could go as far as saying it one end of the spectrum. Where you have frontend web apps (html/js/css) on a variety of platforms[1] on the one end and the big corporate backed languages and frameworks on the other end. [1]: This can be a real pita. Though it's being mitigated more and more by adding compatibility layers on top (jQuery et al).
- Tichy 16y ago"It just works" might be huge, though. After > 10 years I hate Java with a passion, yet I still can not say with confidence that coding in other, dynamically typed languages is really better. Usually the solution in the dynamic language is far more elegant and satisfying than the Java version, but there might have been a lot more trial and error involved in arriving at the solution in the dynamic language.
- acdha 16y agoMy first reaction: your Django app was deployed / configured wrong and you should have tried … More correct, second reaction: deploying Java apps can be more enterprisey (depending on how much of the J2EE stack you're laboring under) but at least has well-known production-quality deployment options. This is an area where the community could use some serious consolidation.