4 ms·
I feel a need to stand up for Java here. Most of Java's nasty reputation comes from J2EE, and not the language itself. Java is a wonderful tool for a LOT of s
by megaduck 17y ago
I feel a need to stand up for Java here. Most of Java's nasty reputation comes from J2EE, and not the language itself.
Java is a wonderful tool for a LOT of systems programming. It's got a nice object model, automatic memory management, and pretty good execution speed. Given the choice between C++ and Java, I'll take Java every time. Remember, Java was originally designed for embedded systems like set-top boxes. It's still one of the best languages out there for those kinds of applications.
It's not a good fit for UI or web work, but neither is C/C++. As always, consider the type of job before selecting a tool.
- ramoq 17y agoI as well stand on java's side here. Too much of it's bad rep comes from J2EE (it's too bloated). Java has some very nice technologies written around it that are quite powerful when utilized correctly (JPA/Hibernate being one of those) Quite frankly I think Java is actually _very_ good for web programming. IFF you are using the Spring framework(autowiring and transaction handling are very strong components of this framework) along with some nice templating frameworks (tiles, sitemesh) I absolutely love the Spring (MVC) framework and this is probably why I hold java in high regard.
- jacquesm 17y ago> It's not a good fit for UI or web work, but neither is C/C++. That's so true. Java is a great general purpose language but it so terribly verbose when you're trying to do string heavy or database work. The web is both. One thing though, compared to several years ago the speed penalty has all but disappeared, it's fast enough to build some pretty impressive stuff with it.
- jhancock 17y agoI certainly agree J2EE is a travesty. Framework design by committee is wrong wrong wrong. I do not agree that Java is all that great. I classify it as "ok". I don't disparage "ok" but there were languages before Java that were better than "ok". Java isn't and never was a revolution, it picks from various things that came before and in some places make incremental improvement. During the early days of J2EE I built an app framework that ended up being about 300,000 lines of Java, we had to replace most of the core JDK classes as well due to their poor design. What we ended up with was enterprise quality but far more accessible than the J2EE equivalents. Prior to this app framework, I built essentially the same thing in Smalltalk. The Smalltalk version was much fewer lines of code, easier to maintain, easier for the end-user. And so far as Java performs great, yes it does. One key reason is the hotspot and jit stuff which were directly taken from the Smalltalk world. btw, when I'm playing up Smalltalk here, I know its hard for newcomers to see the value as Squeak is "hard to take" compared to what we had in the early 90s. [EDIT] one thing I do like about Java is it forces the programmer to think more formally about an object's interface. This is a good skill to learn and can be applied to other languages. The loose way some play with duck typing is a little much for my tastes.