| d2r diego's weblog |
you like your myths rare or well done?This pisses me off slightly, which accounts for the more sarcastic tone. In case you were wondering. :-) I was just reading Vasanth's entry "study reveals not-so-hot java" in which he happily perpetuates myths that for some reason keep sticking to the Java platform. The only point that is half-true in his list is that Java is not managed by an open standards body. I know that many people are not happy with the JSRs, but it's half way there, and Eclipse keeps gaining momentum (memory refresh: Eclipse started about three years ago). As for his other "points": I'd suggest this: the next time you hear someone say things like "Java is slow on the desktop" your should ask:
"Write once, run anywhere not true" he says. Really? Then how is it possible that I could write a client application that was deployed successfully on everything between Windows, Linux, MacOS, and even OS/2? Without a single line of platform-dependent code? Is it magic? I can't remember any chanting being involved... And as far as those much discussed "scalability problems", hey, isn't eBay's use of J2EE enough proof that Java can scale? Case closed. Categories: soft.devPosted by diego on September 12 2003 at 8:35 PM Comments (please see the comments & trackback policy).
It's not so much that it is slow on the desktop (although the differences are perceptable) as that typical Swing apps have a long startup time and use a lot of memory, at least in my experience (jEdit and IDEA are the two Java apps I use most). These aren't myths. Despite jEdit's excellence, I know folks who use inferior text editors because they start more quickly. J2EE has a bad rep because of the scalability problems of entity beans and because of its complexity, from what I've read. The only part of J2EE I use in the course of daily work is servlets/jsp, and that works pretty well. Posted by: adam connor at September 12, 2003 9:24 PMUsing a different editor because it starts quicker seems awfully short-sighted to me. Why not just have it open all day and reap the benefits of a full-featured editor/environment (a la emacs)? Posted by: Chris Winters at September 12, 2003 9:37 PMI do think that Java is scalable. But really, isn't Eclipse written in Java? I have found Eclipse to be a terribly slow application, especially its startup. Posted by: Kevin Breit at September 12, 2003 9:50 PMAgain, "slow" compared to what? In both of my machines, Java applications load and run as fast as native ones. IDEA loads faster than Visual Studio.NET. Eclipse takes about the same time. Once loaded, they both perform just like VS.NET (Eclipse has a split-second lag time when saving because it keeps the code "permanently compiled" so even if there's a small lag you make up for it when not waiting for it to build). It always seems to me that the comparison is not made among equivalent applications. When equivalent applications (in terms of functionality) are compared, the differences disappear. Posted by: Diego at September 12, 2003 11:24 PMSlow compared to C/C++-based applications; .NET stuff doesn't seem to be particularly fast. But try comparing Emacs startup to jEdit... there's a noticeable difference. And a lot of Emacs is written in elisp. Posted by: adam connor at September 12, 2003 11:33 PMAdam, thanks for the clarification. I can't speak for jEdit (never used it) but I don't consider Emacs in even remotely the same category as modern IDEs. I know that hardcore Emacs users can be super-productive, but that's not the point. I used to be quite well adapted to VI (and VI was faster than emacs! :-)) Emacs is a text editor with astonishingly good scripting capabilities, and ultra-programmable to boot. But Modern IDEs don't need to be programmed. They do refactorings on their own. They allow you to very easily juggle projects with hundreds and thousands of classes. They create code automatically. They do real-time compilation. Eclipse can eve reload changes dynamically in some cases while debugging. To me a comparable application functionally implies that you compare IDEA or Eclipse to VS.NET, or even VS6, not to VI or Emacs. Otherwise it's like saying that VS.NET is slower than Notepad or Ultraedit. Just the issue of the GUI is a huge difference. I am most definitely *not* saying Emacs is bad or good (I don't want to incur the wrath of Emacs fans, even though as I said I'm partial to VI :-)). I am just saying they are completely different things, even though they could be used for similar purposes. Posted by: Diego at September 12, 2003 11:55 PMRegarding client side Java applications, be it AWT, Swing, SWT, or what not... They do feel unmistakably alien... or at least not native... and most of the time frustratingly unresponsive... But... this is perhaps due to the lack of attention from the application developers instead of any fundamental flow in Java windowing toolkits as there are lots of "native" applications that do not behave as they should either. As far as server side Java goes, the picture is much rosier... as long as one stays clear from any misconceived monstrosity as EJB or such. Posted by: Zoe at September 13, 2003 12:00 AMMyths about Java are also partly the responsibility of Java developers! Quite a number of them are from C or VB camp and truth be told have no clue about OOP. They design very poor applications and then blame it on Java. I have seen that happen several times. It is painful to see stupid myths perpetueated by ? people on and on without proper invesitigations. Posted by: Angsuman at September 28, 2003 6:13 PMCopyright © Diego Doval 2002-2007.
|
