Home> Products> IntelliJ IDEA> Why IntelliJ IDEA

"IntelliJ IDEA achieved 'inversion of control' in the IDE world. Its non-intrusive, intuitive way makes a developer's life easier and facilitates his/her focus on implementing business logic. IntelliJ IDEA triggers a kind of 'meta programming' due to its refactoring capabilities where a developer thinks about ways to write/modify code in such a way that the code can be refactored easily with IDEA.

Please convey my sincere thanks to developers of this product."

Madhav Ayyagari
Sabre Airline Solutions

Why IntelliJ IDEA?

Enjoyable Productivity

If we had to sum up what IntelliJ IDEA is all about in 2 words, enjoyable productivity would be good candidates.

Since version 1.0, IntelliJ IDEA has followed a simple, overriding principle: if it doesn't make a Java developer more productive, it doesn't go in the product. Period. IntelliJ IDEA translates that criterion into a tight focus on what a professional Java developer needs in order to be as productive as he or she is capable of being.


It's not just lines of code

Productivity involves more than cranking out lines of code as fast as possible. Sweatshops can be said to have high productivity, but who enjoys them? If you don't enjoy the experience of working with a tool, you will never be as productive overall as you would be if you did. IntelliJ IDEA was the first Java IDE whose makers recognized this simple fact and gave it high priority in design and implementation decisions. Functionality has increased over time, but this focus has not changed.

When you compare IDEs, you won't find "enjoyable productivity" on any feature lists. But you are unlikely to find another tool so obsessed with helping developers achieve their best and enjoy their work – consistently, sustainably, over time.

Of course, one person's idea of enjoyment is another's boredom, or misery at worst. You must enjoy using your present IDE to some degree or you would have dumped it long since. So what else is there about IntelliJ IDEA that could interest you?


Productivity through sustained flow

Professional developers know about "flow". Writers, artists, musicians, and athletes know it too. It's that almost magical state of mind where the mundane and the minutiae are blocked out and time recedes into the background, opening the individual's creative powers to their fullest. Action seems effortless and productivity rockets off the charts.

When you're in the flow state, achieving like crazy, the last thing you want is the mundane and the minutiae rearing their ugly heads and distracting you, breaking you out of flow. Yet that's exactly what most software tools do with everything from needless modal dialogs to bug-eyed animated paper clips. Once flow is broken, it takes time to get back into it. That's highly productive time lost. And if time is money, that's money wasted.

We designed and built IntelliJ IDEA around the idea that every minute a developer spends in flow is a good minute, and things that break developers out of flow are bad things (or at least productivity-reducing things). Every design and implementation decision we make considers the possibility of interrupting a developer's flow and seeks to eliminate or minimize it.

So just what is it that IntelliJ IDEA does so differently that helps developers maintain productive flow?


Productivity through unobtrusive intelligence

IntelliJ IDEA is designed to be rather like Jeeves the valet... always conveniently at hand with intelligent advice and assistance but never ever in the master's way. Just intelligently unobtrusive. Maybe we should have called this quality... IntelliJeeves??

For example, you never need to break flow just to import a library. Simply reference any class and "IntelliJeeves" takes care of the import statement up there at the head of the file while you keep coding away where you are.

You never need to break flow to run a compilation process just to find out if your code will compile. If your code won't compile, you can always tell this at a glance. "IntelliJeeves" (who is a Java guru, by the way) checks compilability as you type and gives you the "green light" if all is well. "IntelliJeeves'" unobtrusive indicators for compiler warnings and errors alert you to problems and give you a sense of the extent. A quick mouse-over tells you what the problem or warning is, and a click takes to right to the relevant line of code, and to the construct within that line.

"IntelliJeeves" also keeps an eye out for other kinds of errors too. If he sees you have just done something that's a potential problem, his little "gentle nudge" light-bulb pops up over on the sidelines. You can ignore him and keep typing (which is quite often appropriate), or you can consult him with a quick keystroke, in which case he'll suggest what you might want to do. That suggestion has an almost uncanny way of being what you intended to do (a capability that refactoring guru Martin Fowler once called "creepy"... in a good way, of course!) At your option, your virtual valet instantly fixes your code and slips back to the sidelines where he remains ever vigilant, always ready to make you look good.


It's about more than just features

A fine hand-crafted musical instrument enhances a professional musician's performance. IntelliJ IDEA is carefully designed to bring out the very best in professional Java developers. Every violin has a top, back, sides, neck, bridge, etc. But those individual parts don't make every violin a Stradivarius. It's the way a Stradivarius is made as a whole. So it is that while IntelliJ IDEA's savvy code completions, convenient and helpful intention actions, unparalleled code analysis tools, and many editor enhancements — all these features separately are top-notch in their class — like a great musical instrument, IntelliJ IDEA's true strength and unsurpassed advantage lie in the whole.

That sense of the whole can take a little time to discover. Many people, especially those whose main focus is features, never grasp it. They are happy with another IDE and that's OK. But for the thousands of top professional developers worldwide who have discovered it, nothing else quite measures up.

If you consider yourself a Java professional, if you work in situations where time is most definitely money, and sustained productivity is the measure of success, you can do worse than to take a good look at IntelliJ IDEA.