I am too upset to write a detailed entry on this, but all current IDEs suck in one way or another. They try to do too much. They want to be too intelligent. They want to think ahead, but they all have lost the most important feature: simplicity. What happened with most important concept of simplicity? Why can't IDEs be intuitive and flow naturally? Why do IDEs want to enforce directory structures, or use their own build scripts, or try to generate darn JAD and Manifest files. Why not let the developer add to the classpaths so that code completion can work? It either allows you to do one thing but not the other when defining a project. You know, some of us have a build process with our own Ant scripts. Some of us only care about creating a project from existing source using and existing Ant script, so we can use the IDE's most important feature — code completion and solving dependencies, etc. and don't care about the rest of features — some of us are old fashioned developers and don't care about code generation and like to define our own source.

Can I make the IDE work the way I want? Sure. But not without jumping through some hoops – it should be simple, it should be intuitive; IDEs should never work against the developer, must never be an obstacle. It is stupid to force developers to change their style of doing things.

Eclipse and Netbeans both enforce change one way or another. I just downloaded my favorite IDE ever, IntelliJ IDEA, and the latest version also wants to be too smart. They all lack (or have lost) true simplicity. By wanting to do too much, they are getting on the way, distracting the developer from their main task: write software.

IDE Product Architects, please keep it simple! IDEs have become an obstacle instead of a tool… Remember, nothing is better for the developer than flexibility.

ceo