I'm not sure why people are buying these (expensive) IDEs. Do you think that it makes you more productive? IMHO I rather work with some text editor, use Ant (and maybe XDoclet) from the cli. And if I really want to have some more "advanced" features I go with jEdit or maybe Eclipse. After all... the time you spend in writing code is more mind work than actually doing it. I also think that IDEs can hide many things that the developer should actually be aware of. I see same thing with GUI configuation utilities, many uses them, but when you want to really know how the software can or should be configured, you should learn the config files (of course the software has to provide and document those files at first place). Many of us tend to think that it is easier and not so error prone to just click boxes with mouse... I think that it is a false feeling.

Agree Aapo...the other problem with IDEs is that once you deploy the code, say on your customer's site, there are often IDE "artefacts" still there - the code gets polluted. And yet other downside is that once you have to support your customer's app on site, you probably won't have your whizzy IDE to help. Always fun watching a novice developer struggle to understand their all-singing-all-dancing J2EE app with only an XTerm and vi...

Agree Aapo...the other problem with IDEs is that once you deploy the code, say on your customer's site, there are often IDE "artefacts" still there - the code gets polluted.

New JBuilder 7 has customizable build proces with support for Ant. That should help in these situations.

>> And yet other downside is that once you have to support your customer's app on site, you probably won't have your whizzy IDE to help. Always fun watching a novice developer struggle to understand their all-singing-all-dancing J2EE app with only an XTerm and vi...

Sure, but novice developer would hardly produce ANY running application without an IDE. And good IDE in the hands of good developer who knows what should and what can expect from it is certenly better that vi...

Borland also announced lighweight version called JBuilder 7 SE without enterprise features but with excelent support for managing libraries (I haven't see any other Java IDE that do it better), customizing build proces (with Ant support), a lot of refactorings, code completition, on-the-fly syntax checking ...

Also, I've found JBuilder most responsive IDE. This may sound strange as JBuilder can be clumsy, but other Java IDEs are much slower. JBuilder's compiler is almost twice as fast as javac too (Jikes is still faster, but it's not written in Java).

JBuilder 7 is probably a decent IDE and all but it's still a distant number 2 compared to IDEA. Yes, another posting praising this editor. I switched to IDEA when version 2 came out last year and I don't anticipate switching anytime soon.

It does what it's supposed to do. Help me write code better and faster. Not by generating it or what not, but by giving me tools that make it easier to handle large, complex projects.

I don't need all this "support" of these different J2EE servers. Who among you has REALLY used JBuilder to deploy to an application server while developing? I know I never have. I build with ant and my build script has tasks to deploy the updated files.

And I definitely am not going to deal with Borland's licensing.

Do I sound biased? You bet. After going through Borland's crap with having to upgrade versions every 6 months and pay lots of bucks each time they can forget it. By this time next year we'll probably be reading about JBuilder 10 or something.

<Snip>Do I sound biased? You bet. After going through Borland's crap with having to upgrade versions every 6 months and pay lots of bucks each time they can forget it. By this time next year we'll probably be reading about JBuilder 10 or something. </Snip>

Who says you have to upgrade everytime a new version comes out? I don't trade in my truck just because Dodge came out with a newer version. Now if the newer version had a feature I could not live without (larger extended cab) I might upgrade (bad example, they did, and I am still not going to buy it). We are still using JBuilder4 here at work and it does everything we need it to do.

Well, probably using Productivity! for JBuilder (http://www.softamis.com) may be good option for current users of JBuilder 4,5 and 6. Upgrade to JB7 is quite expensive, and it's not always possible to shift IDE (especially taking into consideration existence of legacy code or projects). Productivity! offers very rich set of productivity tools, most of which have no analogs in JBuilder (some of them are similar and probably better then ones can be found in IDEA, though) and allows to decrease coding time up to 15%.

"Upgrade to JB7 is quite expensive, and it's not always possible to shift IDE (especially taking into consideration existence of legacy code or projects)."

Why wouldn't it be possible to shift IDEs. Is the code base that bound to what IDE you are using? If this is indeed the case, I would argue that it is a poor choice of IDEs.

For me, I want my code to be my code, and I run an IDE on top of that code to make me more productive. Other than that, the two are independent of one another. That way, if a new version of my IDE or a better IDE comes out, I just point it to my code, configure my environment, and I am off and running again.

It's this type coupling between code and IDE that binds people to a vendor - which is what the vendors want! A customer forever!

I tend to agree, I have been using the !Pro beta for awhile now and it's stable and it does make your life a great deal easier while using JBuilder. Worth a look, and the price is less than what I spent on a CPU cooler for my computer.

And what about Idea? (www.intellij.com) - It's exelent IDE that supports everything you wrote and much more and better. JBuilder 6 is unusable tool. I think it isn't intuitive nor very helpfull. I think, Idea is superb IDE because it is concerned to thinks that developers really do(writing java code) and not to quantum of wizards and thinks that can be done by ant and so on. Finally, JB6 is so buggy that work with it is a battle. Huge IDE's like JB6 hides and tries to simplify many thinks. But result is that developers don't know what they are doing and my experience is that those developers work isn't efective in any way. I think that investition to education is more effective than to those expensive tools.
And wherefore is IDE that supports ant when i have ant good scripts?
For what reason I would buy JBuilder when there is comparable free tool like Forte for Java Community Edition?

There are another approaches to develope a good IDE. One represents Idea (concerned to work with code) and second represents www.together.com which tries to integrate modeling with coding. Integration with other tools is the last think i need. It can be done once on project startup with ant and similar tools and it isn't very expensive.

It's ever the same discussion. I don't know why some people hates IDEs.

I use JBuilder 6.0 because I like all the things that it offers, UML, Structure Browser, class browser... what's the problem? I can visually design EJBs in Builder, I can browse UML diagrams, I have popups of javadoc everytime I need it, ... what's the problem ? why people hates IDEs ?

If IDEs are correctly used they can incrase drastically the development time.

The greatest problem of an IDE is when you use their propietary extensions. I will never use for example the borland extensions, because I like to know what my code does and portability is a great point. Another problem I see in IDEs are visual designers that put a lot of strange code in your program. As I said, I use JBuilder 6 but I will never use his visual designer.

Well, first of all, I never said that visual designer of JBuilder puts propietary code, I said that puts strange code. So, now, you cand try to build a IDE and change a few times of layout, ending with a gridbaglayout. After this you can add some events with the "great" attribute inspector of JBuilder.

What's the result? A lot of spaghetti code in where you doesn't know where is each thing located.

I prefer to code manually the GUI using some helper classes (for example abstracting GridBagConstraints. JBuilder puts a lot of code with constraints agg ), and make a patterns based logic instead of using all those autogenerated and unmaintainable code.

If you wont to customize the generated code in netbeans/forte, the code with that blue background, than you can do it through Component Inspector window. There are String properties that let you to fill in customization like custom creation code, special initialization and so on. It's not so comfortable like write it right to the code, but it's still quite straightforward.

But I think that JBuilder is at the moment a little bit more usefull to netbeans/forte. It consumes quite less memory. The new build of netbeans has finally some syntax error highlighting, but absence of any refactorings is quite a disadvantage.

people that doesn't use ide probably has no need to create gui applications. coding by hand a swing app is possible but very time consuming. i find the jb6 gui builder usable (it has some annoying bugs, but is still good) and it saves a lot of time!

jbuider would be nice for fast ejb development because you get rid of all the descriptor setting up and interface generation, and also have direct deployment in AS, but unfortunately it is quite buggy, SUPER SLOW and memory consuming, and if you integrate it with a server like weblogic, well, then 1 Ghz and 384 Mb of ram are not enough. I stay at least one to three! minutes for each switch from design mode to code, that is not acceptable, especially when you expect it to do the job faster. some times I just have to quit and write the stuff myself but the problem comes again when jb rewrites descriptors. however, to be honest, for beginners jb is great, they can start working and learning in the same time, not losing weeks for searching for mistakes in their descriptors. Finally I wonder what tool is really productive for ejb development involving a dynamic design-level strategy?

"It's ever the same discussion. I don't know why some people hates IDEs."

I don't hate IDE's. Martin. I have learned to hate Borland however. Why? Because of version churn.

I took an advanced Java course a year ago about this time. It was based upon JBuilder 4, so I took advantage of the student discount and ordered JBuilder4 Enterprise at about 25% of list. Before it arrived JBuilder 5 came out and I was asked whether I wanted to wait longer and get that, which I agreed to. Fair enough to this point.

Then JBuilder 6 and now JBuilder 7 came out. This is being driven by the swift changes in the EJB spec and JDK's I know. But Borland doesn't offer upgrades to existing users at anything like a decent price. Keeping up with JBuilder over the past year (from JBuilder 4)buying at full price would have cost more than $8,000!!!!

Borland did offer a (expensive) support arrangement which protects buyers from frequent version changes. And with JBuilder 7 Enterprise the upgrade cost has dropped from a stratospheric $1900 (from previous version) or $2399 (from earlier versions) to a slightly more reasonable uniform $1299.

I felt (and still feel) exploited by Borland. I cannot afford to keep up with the upgrades and neither can my employer. I have uninstalled my useless JBuilder5 Enterprise at home, which only supports EJB 1.1, and now work with the command line again. I have uninstalled my JBuilder4 Enterprise at work for the same reason.

Borland have now introduced a replacement for the Pro product called JBuilder7 SE priced at $399 (as opposed to $999 for JBuilder6 Pro. It remains to be seen whether they have cut the feature set from what was already a pretty useless JBuilder Professional product (no EJB, no Visibroker). A great product for doing Swing interfaces. Yawn.....

Meanwhile, products like Weblogic, Oracle 91AS, and HPAS have decent EJB IDE's available for free or quite decent pricing. Not perhaps as general-purpose as JBuilder, but they do the job. As do free tools such as XDoclet.

I had never heard of Intellj IDEA until about 5 minutes ago, but I think I like it already. Why? I had a look at the website. Fair pricing. The full license costs half of what I paid for the academic version of JBuilder5 Enterprise. The academic pricing is a real bargain.

Fair terms. A *free* maintenance package for 8 months, then a 50% discount for purchase of future versions. And a feature set comparable to JBuilder Pro/SE it would seem. JBuilder SE is priced at $399, down from $999 for Pro. IDEA is priced at $395. Coincidence? Too little too late, Borland!

"By purchasing IDEA you automatically get a 8-month maintenance subscription package. The package entitles you to receive free upgrades to any versions we release during this period (either minor or major) and email support.

When your subscription ends, you will be able to purchase additional packages at a discounted price of about 50% off the new user price."

I think the issue is that people don't necessarily "hate", but question their value vs their cost.

Take JBuilder, for example. Taking this information straight from Borland's site, JBuilder 7 Special Edition cost $399 and JBuilder 7 Enterprise cost $2,849. I assume that Enterprise is SE plus other bells and whistles for EJB development, app server intergration, etc. So, the question is: are these features worth $2000+? For me, the answer is easy - "no". Others may say "yes". Also, I don't see what SE give me that Eclipse does not, and Eclipse is FREE!

IMHO, a moderately sized application (1000 classes, 50 EJBS) should be able to be managed by a small team (4-6 developers) fairly easily without a heavy IDE. I think:

CVS + Eclipse + Ant = Free, managable enterprise app

Obviously, some people *do* see that value in JBuilder Enterprise (and TogetherJ, etc) because they are selling. I would be interested in hearing from these people to hear their justifications.

I agree with you in that JBuilder is very expensive. But look at my posts, I never said that JBuilder was cheaper or that JBuilder was the bets IDE. I also used Eclipse, Visual Cafe, Oracle JDeveloper, Forte and some not so bigs environments like jEdit, emacs+jde, vi :-).

Where I work now we use JBuilder 6 and I like it. My discussion was with the people that say that IDEs are a foolish thing.

***
Posted by Ryan Breidenbach 2002-05-21 13:21:05.0.
CVS + Eclipse + Ant = Free, managable enterprise app
***
Ryan, I agree with you that this is a great solution. But I hope you agree with me that JBuilder that comes with CVS + Ant will be a good solution too.

Of course you have to buy a license of JBuilder or work with the light version.

Don I will never have bought a license of an IDE as a particular. It doesn't any sense. Borland, SUN, IBM, ... they doesn't think in us (particulars) in their abusive licensing program. In this case Eclipse or some open source IDE is the best solution.

My question is, what would compel me to use/buy a heavy IDE like Rational's or Together's or Borland's? The argument that "my company uses it" doesn't hold water for me. If that's the case, I simply ask this same question of your employer. Somewhere down the line, somebody had to evaluate development tools and decide that the advantages of a heavy IDE outweight the (sometimes extravagent) cost. For most cases, I just can't see how this can be justified.

Perhaps I am naive. Perhaps a tool like these will make me much more productive. Perhaps I need to be enlightened as to their cool features that I can't reproduce with other cheap/tools. But I doubt it :-)

Artem Kornilov,
Intellij-IDEA has some cool features.
I used Jbuilder before moving to IDEA and now I can't think of going back to jbuilder.
IDEA has cool features like auto import, import optimization,Find usages and not to mention about the refactorings.

I agree. These megasize IDEs may have tons of cool features but in the end all you need is a good editor. I used to do all my coding in UltraEdit, but now when I found IntelliJ IDEA I simply can't go back. It has zillions of _really_ useful features for actual coding.

This may be oot, but can anyone compare eclipse to idea.. i have been using eclipse since 1.0, and it strikes me as a very good ide.. granted, it has no native j2ee support, but im sure it will get a plugin sooner or later.

I have used both Eclipse and Intellij and I like both. Eclipse is excellent value (free) and is a very attractive environment. The large number of plugins already available show that it is gaining a wide acceptance. I much prefer it to Forte, or Visual Cafe which I've already used.

Intellij is not free, and even though an open api is being developed this is not available for the current standard release.

Intellij does provide tight integration with ant, junit cvs etc. It boasts a wide range of incredibly friendly features - look at the website.

Having used intellij programming in other tools is a bit depressing. It's extremely easy to use and the development team are very responsive to user suggestions.

If you use the refactoring tools it makes it easy to tidy code up and produce far more maintainable systems.

I think eclipse is a really good tool and if you don't want to spend any money it's an excellent solution. Intellij is my IDE of choice because it's really pleasant to use.

(1) Small disk footprint. The install is about 8 megs, which converts to under 20 megs after installation. Sure, disk space is cheap, but I'd rather save my megs for instances of weblogic, MP3s and...well, nevermind. Small footprint means less crap to load, less stuff you really don't need.

(2) More of an editor than an IDE. I think this is key. If you need or prefer WYSIWYG, drag and drop features, go elsewhere. If you need to actually edit, I mean down and dirty, up to your elbows, shoulder to the grindstone, edit code, look no further. IDEA was developed with coder productivity in mind.

(3) Configuration management integration. Ant, JUnit and CVS are tightly integrated into IDEA. There's SourceSafe integration and a plug-in for Perforce. The EAP version has a third party ClearCase plug-in in the works.

(4) On-the-fly code compilation. That's what I call it, anyway. Any changes made anywhere in the project that affect the currently edited class are detected and highlighted. This may not be unique, but its an important feature for me.

(5) Refactoring, refactoring, refactoring. IDEA was built with refactoring in mind. Many other IDEs stress developing applications rapidly, but how many are designed to ease application maintenance? You'll appreciate IDEA the next time you need to create a new class with code from another, and all the references project-wide are changed automatically. Refactoring features are core to the product, not an add-on or plug-in.

(6) All the features you need, nothing you don't.

(7) It may be like saying "George Washington slept here", but rumor has it that James Gosling uses IDEA. 'Nuf said.

"I could not find anywhere in the docs for JBuilder7 if the new JDK1.4 Swing widgets will work in the Visual Designer. Since 1.4 has been out for a while now I hope JBuilder7 fully supports it"

In the feature set PDF they indicate that they allow users to switch between JDK versions 1.3 and 1.4. For the price I would hope they fully support 1.4. From history I would suspect that comes with JBuilder 8 (upgrade price a mere $1299). A real bargain.

I've used cafe (back when it was good), emacs, JBuilder, Visual Age (for a week), JDesigner and now IntelliJ. IntelliJ is the best because my main language is Java and my main work is Java. I know Java sideways and its not a problem to do anything.

However, folks who have real tight deadlines and no time or inclination to learn the API's do get huge benefit from an IDE - especially gui's etc.

Appropriate tools for the individual. Which is totally counter to many development houses who try to standardise on a single tool. Choice for the developer!

"I've used cafe (back when it was good), emacs, JBuilder, Visual Age (for a week), JDesigner and now IntelliJ. IntelliJ is the best because my main language is Java and my main work is Java. I know Java sideways and its not a problem to do anything."

Jonathan, how long have you been using IntellJ? Is it stable? You obviously like it, could you explain why at a bit more length? How is the support and the manuals?

Don asked:
"Jonathan, how long have you been using IntellJ? Is it stable? You obviously like it, could you explain why at a bit more length? How is the support and the manuals? "

I have been using it for 6 or 7 months. It has crashed on me once I believe. Not sure about that - I think IE ate all my machines memory and so it didn't have a chance. Manuals? I never read any. Its very simple and obvious to use, which is great. And then the daily tool tips ramped me up. I should probably read the manual now.. :)

As to why I like it.. Frank said:
"All they have is too many features and too many ways that hide people from what is really going on. "

Which sums it up. Java is not hard. Java is very simple. And IDE's tend to hide the base simplicity behind their world view. A simple example is your project structure. I have my own way of organising home code, and at work a different way based upon company standards. Intellij works with both and imposes nothing.

Intellij is also packed full of refactoring utils which are bril. I'm not saying other IDE's don't have these features, just that their feature bloat is irrelevant to me.

Jonathan
ps There is a certain amount of religion to the IDE debate, and basically its personal choice slanted by cost.

Ain't that the truth. It's not brain surgery. The most complex issue I've encountered thus far in J2EE is creating deployment descriptors etc for the various App Servers. And I've recently had a look at some Xdoclet docs and that isn't that bad as well!

The real problems aren't specific task-oriented. Any decent programmer can take a servlet book and produce a servlet in a day or less. The problem is how to do it right. Design and architecture, which is why I'm spending much of my time absorbing information like 'Bitter Java' and 'EJB Patterns'.

Doing it right also means knowing (or learning) about alternatives and how and when to use them. Frintance it's not enough to know SOAP over http for Web Services. There are times when for an elegant solution for a problem space one will want to use JavaMail, JMS, or Jini for the transport. One will want to know both session beans and MDB's, both Entity beans and JDO's. Different tools for different jobs. And that is where much of the difficulty comes in, knowing each tool in your toolbox well enough to use them expertly. When one reachs the expert point one's solutions often become simpler.

Many relative newcomers to programming and design seem to think there is a 'silver bullet' which will make it all easy and simple. And there is. Constant study and refinement of your craft.

The one thing that I found appealing in JBuilder Enterprise was the promise that it handled deployment. But even that doesn't seem bad news with Xdoclet.

"And IDE's tend to hide the base simplicity behind their world view. A simple example is your project structure."

No kidding. The worst hangup I had with JBuilder was trying to figure out where it was hiding the source until I grokked that I could define where JBuilder would put the project. After that it was a breeze.

Ultimately I found the IDE just too much of a PITA. Online examples on Apache and elsewhere tend to show the command line 'interface' and I got jolly tired of having to explain it to JBuilder. So I just went with the command line.

If I were doing billions and billions of Swing or AWT GUIs things might be different because I could use the IDE to model attribute changes tabularly and look at the results quickly. Back in the Dark Ages when I worked with Motif and X-Windows I found the Motif IDE's useful tools. But even for that I wouldn't pay $3K.

Generated code can be frightful. I recently had to work with a applet generated with Visual Cafe about 4 years ago, and there was a line for each attribute in the applet. Hundreds of line of code for a fairly simple dialog box!

"Intellij is also packed full of refactoring utils which are bril. I'm not saying other IDE's don't have these features, just that their feature bloat is irrelevant to me."

Sounds nice. It looks like JBuilder is feeling the heat. They dropped their 'Pro' version (at $999) and started a 'SE' version at $399 containing 'refactoring tools'. Hmmmmm. ;-)

"ps There is a certain amount of religion to the IDE debate, and basically its personal choice slanted by cost."

Doesn't it remind you of the editor wars? vi vs emacs? Perhaps the funniest technical flame I ever read was a piece that said both sides were wrong, that ED was the True Way! Had me rolling on the floor!

I learned vi back in the dark ages before emacs and never saw enough of a reason to change. I was an independent contractor and vi was always there on day one on any Unix job, and there is always something better to learn than another editor IMHO. I'll readily admit that emacs was the superior choice for anyone starting out for a while, so please don't flame me! ;-)

If you read my earlier rant about JBuilder you know where I come down. Sounds like IntellJ is worth the money though, particularly with the pricing and good upgrade terms. You've answered my stability and usability questions. Thanks.

i dont see what the big deal is about using an IDE. y dont we all just go back to assembly???? if using an IDE is counter productive as some seem to want to argue, then wouldnt it make sense that going back to assembly would be even more productive??? sheesh, so, it adds in a jbinit method, big deal.... frankly i dont see where it adds in speghetti (excuse bad spelling please) code either. its one method, and if u double click a control, sure, it does add those action listeners, but u dont have to do it that way. i just create a seperate method called addActions() after my jbinit() method and attach event handling logic seperate from my swing logic. its very easy to follow and understand. i open up jbuilder click add new frame, click the design tab and start adding in controls, 2 minutes later i have my frame laid out and i dont have to remember all that swing code. ok, so i dont have every single swing class memorized. does that make me less of a programmer??? no! can i go into the code that jbuilder created and modify it and understand it? yes! would i rather spend an hour writing swing code and have intimate knowledge of every single swing contorl? or 2 minutes and get the project/job done? i think i would rather be more productive thank you very much. this whole attitude of i use a text editor only so i'm a programming god! attitude really annoys me. anyways, just my 2 cents.

So far I couldn’t find anything more useful then IntelliJ IDEA($400) + ANT(free) that is all you need, i.e. really good code editor and build tool. All the rest is just to compete with MS but their tools are better by definitions because they are not Swing based and nobody can make IDE better then MS does, at least I’ve not seen yet. Another point, J2EE IDE is a helpful when developer migrate from anywhere to java, he/she can start coding and see result, but I’ve never seen any reasonable project that relies on IDE deployment feature or ability to restart server.

One of our clients asked us to evalutate J2EE IDE tool and one thing they are looking for is that the IDE tool need support UML modeling which I don't think our developers are actually using it. As a developer, all we care is a good smart editor. But the managers seem to weigh heavier on the modeling side of the tool.

"One of our clients asked us to evalutate J2EE IDE tool and one thing they are looking for is that the IDE tool need support UML modeling which I don't think our developers are actually using it. <...>

But the managers seem to weigh heavier on the modeling side of the tool. "

Base JBuilder Enterprise doesn't support UML, but there is a combination product which ships with Rational Rose which apparently does. Megabucks per desk. North of $8K per developer as I recall.

There is a classic book written years ago titled "The Olduvai Imperative" which discussed the fight between programmers and management on the CASE tool issue. The management wants easy control and repeatability, and programmers want not to have their creativity bound in too much.

IDE's and code wizards aren't too hard on the creativity, and even basic code designers/generators (aka Paradigm Plus) aren't too bad. They generate skeleton classes, which are nice for EJB's frinstance. The tipping point from my POV is when they start enforcing rules in a major way. Then things start to get facist.

My problem with IDE's is that they cost a bomb and sometimes actually get in the way.

I understand that IDEs are a something that people feel very strongly about...either the IDE is really designed for the way you think, or it is not. That is what makes a good IDE, are the options intuitive and in and intuitiveplace, or easy reached by shortcuts, etc.

I use IDEA. The must have read my mind when they wrote it.

However I dont understand how anyone uses all of these AppServer tie in facilities included with the IDE. A proprietary means for interacting with the J2EE standard seems silly. It's no wonder no one knows how to debug their apps or their deployments and configurations. Their is something to be said for not letting these IDE vendors lock you in, by making you only know how to deploy J2EE apps with their IDE.

It;s all of the other stuff that makes me hate IDEs. I used JBuilder from version 1 until version 5. I've tried Visual Age (whata POS), Visual Crashe, J++ and a few others. All they have is too many features and too many ways that hide people from what is really going on.

We went through JBuilder 4, 5, 6 Enterprise (a goodly number of licenses too). Man they cost you a lot.

The real problem for us is that is twofold. First, people using the "code generation" techniques ended up with some not-so-good/not-so-maintainable code, especially in EJB generation and xml.

The second problem is that about half of our users were just using JBuilder 6 Ent (what is it, about $3000?) for the really nice debugging interfaces. Now, the debugger is nice, but I'm not paying that kind of coin for a debugger.

We bought one license of IDEA, and it's great. Faster too. We are going to phase out JBuilder, and phase in IDEA. Plus, IDEA is only about $400, with free upgrades for eight months. I know my productivity is better on the simpler IDE.

I think a debugger is an indispensable tool for developing. Does anybody know good (and cheaper) alternatives to JBuilder...? I like Netbeans but it is not too fast and requires a big machine to run well.

Yes. Eclipse. It's *free* and is much less of a resource hog than NetBeans. I run it at home on a 266 w/ 256 MB RAM and it works fine. It is really stable and the 2.0 version should be coming out very soon. Here are some of its features:

Also, I hear a lot of people talking about IntelliJ IDEA. I have never used it, but I checked out its feature list and was impressed. I little slicker than Eclipse and costs only $400. Pretty cool IDE!

Both of these tools are very developer-centric. They provide all the tools you would want to help code faster and better, without a bunch of extra crap that gets in the way.

IMHO, any IDE worth its salt should have standard, intuitive CVS and Ant integration. Eclipse and IDEA give you both, plus JUnit and more. And they are both extremely fast. Neither have a kludgy GUI builder or code generator. Perfect for server-side development, used with XDoclet.

You can't go wrong with either one. It depends on your budget. Eclipse is free. IDEA is reasonably priced. They run great on Linux. I luv 'em both.

If you are looking for a good stand alone debugger try BugSeeker2 from karmira (www.karmira.com). It is very inexpensive. It is $199 for the Enterprise edition and $99 for the Student version. Both versions are the same code, you are just not suppose to use the student version for any production code. The debugger is one of the best looking Java application I have ever seen.

Since this thread have ended up in a discussion about the use of IDE I thought I would share my oppinion.

We are currently building a framework to use when writing Swing-applications that work as clients in a full J2EE environment, we will be using all kind of beans on the server side and a database with 800+ tables.
The framework will be used to write some 200+ applications (or more exactly convert an existing system with 700+ windows).

We use JBuilder 6 Studio with the Rose integration.
We draw the diagrams in Rose, generate code and use JBuilder to edit the code. The gole is to automate everything "boring" like creating windows, menus etc and let the programmers worry about the unique logic in each program.
There are a few annoying things in Rose but all together it is working VERY fine. To be able to show diagrams instead of code is a great help when discussing functionality featurs etc. It is also a great help to get a visual view of all the classes. Rose also "helps" you in getting the JavaDoc in place.

We will write wizards to help the developers start writing each application, we will write our own components and configure JBuilder to only show these and NO other Swing-stuff. There will be NO other properties to mess with beside those we have written.

The most used keycombination we use in JBuilder is CTLR-space which give the codehelper - excelent tool that helps you spell things right and eliminat spelling errors etc.

The client side of the framework will automaticly populate every component in the application, read and return all changed components to the server without any code written by the developers. Developmenttime to get all this running is less then 1 "manyear".

By using a framework we expect to get :
a) Higher quality in the code
b) Faster development of applications
c) Lower maintanance

After using JBuilder and Rose togheter for a few weeks we where convinced that we NEVER would have gotten that far without those tools and that we alread had gotten our money back and we are supposed to continue until 2007 !!! (OK, we have to buy some more licenses as more people get involved but they will be using JBuilder Enterprise instead of Studio).

So :
Why should it be less important to be good at writing the application logic and perhaps not know everyting about all small details in Swing ? Does it make me a bad developer ?

Most of you accept the API's in Java without checking SUN's code - why not trust an IDE or a framework ???

To put it all togehter :
Expensive tools are only excpensive if you by the wrong one.
If you only need to write an applet for your personal homepage on the net - DON'T by Enterprise/Studio get a free low-end version of something, but if you expect to spend a few years developing a lager system and a decade maintaning the code - get the right tools - it is easy to get "return of cost" !

Looks like we can write a book "IDE usage patterns" :-)
IMHO, IDE is secondary to overall system design.
-presentation layer (e.g webapp)
-business facade (optional)
-domain business layer (e.g EJB)
-persistence (e.g. CMP, JDO)
-database itself (pl/sql, jdbc, jdo, sql)
There are different boxes and technologies.
The point here is deployment. It must be robust,
flexible, independant and remote for real systems.
Cvs, ssh and green VI in black window, Ant (make?).
Deployment with IDE is not an option here.
What is left to IDE? Edit, refactoring and
code generation (wizards and UML).

First two task are very good in JBuilder, Eclipse and
(as they say) Idea.
For code generation: Argo/Poseidon, XDoclet vs
very powerful JBuilder+Rose wizards.
This point is up to lead architector to deside if
extra 3-5K/person good for wizards.

May be 1-2 JB licenses for lead developers for sceleton
code generation and Eclipse for all is good package...???

You said "We will be using all kind of beans on the server side " and "We use JBuilder 6 Studio with the Rose integration. We draw the diagrams in Rose, generate code and use JBuilder to edit the code."
I guessed your words point to one significant question -
"Development the EJB 2.0 with the Rose and the JBuilder"
În the face of it, we have no problem with the answer on this question.

We may do the following:
1) create a class in the Rose
2) using the menu item "convert to EJB", we may convert the class to EJB 2.0 class
3) generate the code of the class to JBuilder.
Is all OK ?
In my opinion, NO.
How we may debug the EJB class ?
The JBuilder may work with EJB using EJB Module ONLY !
The Link between the Rose è the JBuilder MUST create EJB Module , but it does not did it.
Ok , JBuidler have a wizard "Import from existing descriptors" . I'd tried import scores of times, but I'd failed.

Please , tell us , Jan , how do you solve the problem ?
How do you using the EJB 2.0 class generated by the Rose in the JBuilder ?

To be honest - we haven't started with the server side of the project yet, before summer vacation we will have finihsed the client side including the transportation of information to and from the server.
Staring in august we will be focusing on the server side with the beans problems so we have not checked the integration between Rose and JBuilder in that area. If it is FAR to week we will look at TogheterJ wich at a first glance seems to be a nice tool - and it is more important to get the right tool than it is to stick with an old tool.

If the integration between Rose and JBuilder doesn't do what you want you can try to write your own importer as a wixard ??

In in our "mental design" we are expecting to use a facade
between the client and server implemeted with statefull session beans, have a "service layer" of stateless session beans, CMP entity beans and perhaps message beans to implement a schedular for "batch-processing".
Jan

To all appearance, we have no convenient solution this problem . Probably , the solution is to create the own wizard "Import to EJB Module", but I almost reject JBuilder 6 from EJB development now. I cannot offer my developers the IDE , which does not has a true handy link with Rose and very SLOW works with >30 EJB in the EJB 2.0 Designer ( If you do not use EJB 2.0 Designer , then , in practice, you do not have a serious need of JBuilder in the EJB 2.0 Development at all , Ant and XDoclet do all for you)
But , for Servlet/JSP/XML/XSL development JBuilder6 is fine , really fine.
TogetherJ is a very good , but slow too and unacceptable expensive

I am not a JBuilder's fan , but , may be , JBuilder 7 will help us?
This is the quote from "Borland® JBuilder™ 7 features" :
"New! Import EJB source code without deployment descriptors
New! Import EJB CMP 2.0 and BMP projects for Borland Enterprise Server (version 5) and BEA WebLogic 6.x and 7.0 into the designer"
Probably , the JBuilder7 will have no problem with the Rose in the EJB development.
But , when I see "minimal requrements 256 M" , I think that use of EJB 2.0 Designer will be impossible in a large projects again.
The ubiquitous ( in the JBuilder 7 ) Ant and XDoclet(or EJBGen for Weblogic developers) will help us, no doubts, , but the same Ant we can see in a free tools ( for example , Eclipse ) Again , why we have a need of JBuilder in the EJB Development?

Let everybody solve it for himself. He must look into the orientation of his company , knowledge of his developers , price of tools and others factors.

Anybody actually tried using the EJB designer with more than a few tables? Hangs the system on several boxes we tried it on. A table-oriented grid would be much simpler and infinitely more practical. Assuming you have a small number of entity beans you do not need a designer. Seems like the $10 version of JBuilder works well after several years of development. Also recall they started from a base IDE that was already many years old. The bottom line is it is well worth the $10.00 price tag. The Enterprise version is a colossal waste of money and the support staff are the worst I have ever encountered.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.