IntelliJ® IDEA is an intelligent Java IDE intensely focused on developer productivity. It provides a robust combination of enhanced development tools, including refactoring, J2EE support, Ant, JUnit, and version controls integration. Packaged with an intelligent Java editor, coding assistance and advanced code automation tools, IntelliJ IDEA enables Java programmers to boost their productivity while reducing routine time consuming tasks.
Why IntelliJ IDEA
Your choice of a Java IDE is a highly personal thing - right up there with choosing your (well, let's keep
this tasteful, shall we?) You already have a Java IDE. You've invested time learning how to use it. It now
lies within your comfort zone... maybe even in your expertise zone. You had your reasons for choosing it and
you're obviously not stupid or you couldn't deal with the complexities of programming. So it would be rather
stupid of us to think we can persuade you to use our IDE if you're happy with the one you're using.... and
that's not what this is about.
The fact that you're even still reading suggests you might be open to the idea of using a different IDE,
and that you want to find out if IntelliJ IDEA might be right for you. So we're going to try to point out what
we (and a lot of other professional Java developers worldwide) think sets IntelliJ IDEA apart, why you might
consider taking a serious look at it, and why it might be worth it to you to (dare we say it?) - switch.
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.