Why aren’t IDEs intuitive?

Mark asked a simple question on stackoverflow.com:

This is stupid. Why can’t an IDE be intuitive enough that you can “good” at it immediately, and “great” after picking up a few shortcuts?

My answer is: Because computers aren’t powerful enough for this, today.

In the most simple case, the IDE would need several ways to layout the data on the screen, it would need several predefined keymaps with shortcuts (because different people do different work in the same IDE) and it would need a way to figure out who is using at right now to switch defaults. You would need to write two times the amount of code to implement all this because some thing are they way they are because the rest of the code is the way it is. IDEA can’t compile in the background, Eclipse can. To allow both ways of working, you would have to rewrite parts of the compiler API, the way the compiler talks to the UI, and in the IDEA case, you’d probably have to change the compiler itself.

Taking this one step further, the IDE would need to learn how the user works, what (s)he cares for, how (s)he thinks. The user is always resizing the console after starting the program? Let’s do it for her. It irritates the user that the IDE hangs for the fraction of a second when the IDE switches to the debug view? Let’s load the debug code in advance in the many spare seconds while we wait for anything to do.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s