---------- Forwarded message ---------- Date: Tue, 16 Nov 1999 12:51:44 -0800 From: ozymandias G desiderataTo: Todd Kerpelman Cc: cc@cyborganic.net Subject: Re: Java development tools >>>>> "tk" == Todd Kerpelman writes: tk> Hey, cc'ers. tk> So I've been thinking, "Ya know, I really aughta take some tk> time and learn Java. I hear it's the rage with all the kids tk> these days." I've got my little O'Reilly books, but I'm not tk> really sure what tools I should be using for compiling and tk> debugging and the like. tk> I saw that Sun has their Java SDK for Windows (which is the OS tk> I'll be programming in) -- although that looks pretty bare tk> bones. Is there an IDE out there that people would recommend? tk> Or is there something else entirely that I'm missing? I use two (sometimes 3) development environments for developing Java, that being what I do full-time. NT XEMACS WITH JIKES AND THE JDK 1.2 RT.JAR My primary platform, which really isn't very integrated at all. Pros: If you're an Emacs person, well, using XEmacs is pretty darned swell. Jikes is a Java compiler written by IBM. It's written in C++, so is very fast, and the IBM engineers wrote it to compile the actual language specified in the Java Language Specification 1.0, along with its various appendices. It's worth pointing out that the Javasoft JDK does not possess this salutary trait. You can also tell Jikes to be extra-pedantic with a command-line switch, which I think is the sort of thing that could be useful for budding Java developers. Oh, and all the various bits and pieces are FREE-O-LA. Cons: You have to figure out how to build NT XEmacs, which is unfortunately not a simple process. Also, figuring out how to wire together the various bits of the IDE is less than straightforward. I can provide guidance and elisp code snippets for thems what is curious. SYMANTEC VISUAL CAFE I use this a lot when I have to debug. Symantec's debugger is second to none and their compiler, while erratic in its behavior, is still pretty fast. Pros: The aforementioned debugger. If you like your environment fully integrated, well, Visual Cafe is fully integrated -- it even talks to Perforce (my version control system) and OptimizeIt! (a code profiling tool that every serious Java developer will need sooner or later). Visual Cafe has an eminently sensible way for specifying the classpath for projects run under it -- and difficulties with the classpath are one of the most noisome sources of difficulty in developing Java programs. Cons: The whole environment is totally erratic. Symantec seem to be more interested in adding feature points than in building a stable, consistently usable product. Plus a large amount of the product is biased towards building GUI-driven applications (a weakness of most Java IDEs), so those of us who spend the bulk of our time developing server applications are SOL. The project management parts of the system also get gunked up frequently, forcing periodic rebuilds. Costs actual dollars. IBM VISUALAGE FOR JAVA The closest that anyone has come to providing something I've been asking for for FOUR @#$ING YEARS -- a usable object browser for Java. I use VisualAge a lot when I have to reverse engineer a body of code, especially if I don't have much time. Pros: About as tightly integrated as it's possible for an environment to be. This is also a con, because it makes using outside products a pain in the ass (I _still_ haven't figured out how to get it to talk to Perforce), but it makes VAJ's fancier object-browsing capabilities possible. I guarantee you that if you use VAJ to learn how to write Java (and you don't have to worry about external source repositories), you'll end up feeling a vague sense of pity for people who have to use lesser tools. Cons: Well, there's a reason more people don't use VAJ -- it costs like nine billion dollars, and it doesn't play nice with others. If you can do everything you need to do within VAJ, you're set. Otherwise, life gets difficult. You can download evaluation versions for free from IBM's site, if you're willing to do a little poking around, and a little more poking around may yield a free, full version that just doesn't have all of the extra libraries that come with the product. Still, if you're a professional developer, the high cost is irritating. I've also used Microsoft's Visual J++ (what's up with these gratuitous "Visual"s slapped all over development tools? Are they redundant or merely useless?), and while I found it a pleasant experience, Microsoft started charging money for it _and_ started monkeying with the Java spec, so I stopped paying attention. Good luck, and I hope I've been of help! Forrest . . . the self-reflecting image of a narcotized mind . . . ozymandias G desiderata ogd@bitmechanic.com desperate, deathless (415)558-9064 ::AOAIOXXYSZ::