I've Been Seduced by IntelliJ

by Ron Hitchens

Sure, IDEs are soooo attractive. They make a lot of promises and get you all excited about what a great time you'll have with them. But every IDE I've ever gotten involved with has broken my heart. Until now.



I'm a vi user - have been for decades. I like it, we've been together a long time. It satisfies my needs. Over time, plain old vi blossomed into vim, which evolved syntax coloring and window splits. Life was good.



My development environment has traditionally been a few shell windows and a web browser. I'd edit in one, compile in another and maybe run "tail -f" on a log file in a third. Javadocs were right there in the browser. I could save changes from vi, hotkey-flip to the compile window and hit "up-arrow/return" to rerun Ant faster than I could reach for the mouse to work the buttons of an IDE. It was good. It was enough.



I've tried various IDEs. They all had character flaws that drove me away. Foremost among them was code editing. They all use the pointy-clicky-draggy style so common on Mac and Windows. There's nothing wrong with that style, but my brain is wired for the move-yank-put style of vi. I come from a hard-core Unix/X Windows background (I actually like xterm cut/paste). I formed my editing habits in a glass-tty world; I was using vi before Microsoft stole windows from Apple (who stole it from PARC, who borrowed it...). I found myself always wanting to "escape" to vi to do some "real" editing. No IDE gave me the option of native vi-style editing.



IDEs offer the promise of many time saving conveniences: code-completion, macros, context-sensitive docs, automated builds, integrated debuggers, etc. These are all good, but I found they were often as much hinderance as help. And the usage models were often non-intuitive for me; miles of menus and forests of tree widgets. I tried to make it work, I really did. NetBeans and I spent an entire Saturday trying to work out our differences. At the end of the day we decided to part amicably, it just wasn't working out.



Then a friend introduced me to IntelliJ/IDEA. It wasn't love at first sight. IDEA also uses the pointy-clicky-draggy editing style, which at first made me think it was just like all the others. But IntelliJ has other redeeming qualities. Foremost among them is continuous syntax checking - I don't know how I ever lived without it. IntelliJ not only tells me when my code is syntactically correct, but also when it's semantically correct. It shows me when I'm doing something wrong before it can slip past me to become a bug. It even anticipates what I want to do, without hindering or distracting, which makes it almost effortlesss to do the right thing the first time.



IntelliJ has a multitude of talents. Its support for refactoring is something else that won me over. Smooth integration with Ant and CVS and extreme customizability also make it very attractive to serious coders (I easily configured a one-key shortcut to pop into vi when I just got-ta got-ta). But the bottom line is this: I'm more productive with it than I was with vi. IntelliJ earned my affection and respect by delivering on what it promised.



I won't bother enumerating the extensive list of features, you can visit IntelliJ's web site for that (also visit the Early Access area, the upcoming 3.0 version has an amazing list of
new features
). IntelliJ/IDEA won my heart with a powerful combination of features (and a lack of unnecessary frills) that pamper the coder in me. It takes care of me and doesn't expect me to change to meet its preconceptions of what an IDE/coder relationship should be.



I've become very fond of IntelliJ/IDEA and expect to stick with it for some time to come. I suspect many of you feel the same way.


17 Comments

anonymous2
2002-10-09 15:11:48
Why have u not mentioned the CONS about IntelliJ/IDEA !!!!!
Yes, you are correct about that features of IntelliJ/IDEA are fantastic. But you have not talked about the major CON about IntelliJ/IDEA 3.0. Currently me and my co-worker are also testing IntelliJ/IDEA 3.0 (build 657) and we are facing lots of problems regarding performance and speed of the IDE when working on EJB modules. Well our primary IDE for development is Webshere Application Developer from IBM. And when we are comparing WSAD with IDEA as far as quality, WSAD is much more advanced. The memory consumption of WSAD is also much more less then IDEA and till today, we never had WSAD hang on us. And YES IntelliJ/IDEA hangs alot on different occasions. In the long run IntelliJ/IDEA will never be able to beat WSAD if they don't fix their performance problem in the IDE. Cause big shops will always test an IDE before they make some licence purchases. And when they face performance issues of IntelliJ/IDEA, all its good features will go down the drain. But so far IntelliJ/IDEA is a nice product, but definitely not the BEST. To be the best it needs fine tuning. IntelliJ/IDEA memory consumption is just something that I can't stand.


Niel
Senior Developer
California

anonymous2
2002-10-10 07:38:51
Let's be fair
To the poster who wanted to mention the CONS of IntelliJ IDEA, please remember that the build you are running is part of the Early Access Program. Personally, I would like to wait and see how the released version of 3.0 runs before making a big deal about the problems in what is essentially a beta product.
anonymous2
2002-10-10 12:03:54
Re: CONS
Yes, IntelliJ uses a lot of RAM. So instead of spending $50 on more RAM you suggest I spend $3500 for WSAD?!?! I intend to look at WSAD 5.0 but not because it uses less RAM...
anonymous2
2002-10-10 12:31:09
Eclipse
Have you ever tried Eclipse? Open source, kick ass, large developer community!
anonymous2
2002-10-11 03:59:49
CONS
Aww, come on. 657 has just about reached beta status. I've used about every build, and as they put it themselves at jetbrains, they wont address memory consumption and performance issues with real power until the last builds. This is what they are doing now, and I notice speed ups a little here and there along with a droping memory consumption. And seriously, does it matter if you have 200 or 250 free physical memory on your machine? As someone else said, so spend $50 and get more RAM. Its not a problem on my PIII 600 w/ 512mb RAM. The performance has some shortcommings on some parts, sure, but they are fixing them. Imho, IDEA is so good that its still OUTCLASSES the rest of the IDEs dispite its bugs.
anonymous2
2002-10-11 10:38:13
WSAD is way better then IntelliJ IDEA.. !!!
Who ever mentioned "So instead of spending $50 on more RAM you suggest I spend $3500 for WSAD?!?!" sounds like a very IMMATURED person. The question is not about pricing, it is about quality. And if u think upgrading to higher ram which costs only $50, then let me tell u, u are using some sort of really cheap local SDRAM PC-133 ram!!!


Yes it is true that currently IntelliJ 3.0 is in beta stage, and it is definetly not correct for me to compare a beta stage software with IBM's full blown WSAD.


Well WSAD 5.0 has just been released 2 weeks back and we have been given an opportunity to put our hands on it, and it is very very fast IDE. And building EJB in WSAD is just like building a cake. There is no extra memory consumption.


By the way if I compare IntelliJ's IDEA 2.6 with IBM WSAD 4.0.3, IDEA 2.6 is nowhere even close to it. If u don't believe me, download a trial verion of 4.0.3 from IBM's website and test it yourself. Do u think IDEA 3.0 can merge that gap? Do u think once IDEA 3.0 is released, it will be a faster IDE then IBM WSAD 5.0? Do u think IDEA 3.0 will be totally trouble-free when they release a final version? If IntelliJ is so perfect, why is it that in version 2.6, u get so many Jave Internal Error Messages ? The problem is that IntelliJ likes to provide the features that customers wants, but they don't tune their software to be totally bug free.
And WSAD is a good example of an error free software. WSAD will never crash, but chances are that IntelliJ IDEA will. !!!


anonymous2
2002-10-11 10:44:12
IBM WSAD is the BEST, but IntelliJ is not that bad.
Comparing IBM Webshere Application Developer with IntelliJ IDEA is like comparing a Mercedes or a BMW with a Pontiac.
anonymous2
2002-10-11 10:46:44
cost
Sure its a lot about money, for $3500 I can buy a new kick ass machine! I'm not saying that WSAD is bad. And I'm sure its fast. But does it have the features you and I want? Creating EJBs in IDEA is also very simple. And there is no such thing as bug-free software. I'm sure you enjoy all the wizards and tools in WSAD and I'm sure I don't need wizards since the tasks themselves are so simple in IDEA that wizards are simply not needed. And from a speed point of view, my experience is that IDEA feels slow, but does in fact solve the tasks in a shorter amount of time. The poor graphics performance and some latency problems here and there gives the impression of sluggishness. Mind you I'm using a PIII 600 w/ a TNT2 card, not the fastest computer in the world exactly.


Lets put it like this, I'll try out WSAD for a whole day when IDEA makes final, and you do the same for IDEA.

ronhitchens
2002-10-11 15:16:06
Why have u not mentioned the CONS about IntelliJ/IDEA !!!!!

This is just a weblog, my personal opinion about something. It's not a formal review; I made no effort to be impartial or objective. My only point was that I've finally found an IDE that I like enough to use on a daily basis. I don't claim it's the best or fastest or anything else.


Please let's not get into a religious war here about which IDE is best. Each has their strengths and weaknesses. If you have a favorite and it suits your needs, great. Each of the major IDEs is a fine piece of work and they all faithful followings. It's a matter of taste really.


IntelliJ/IDEA suits my tastes. The designers have provided a feature set which meshes well which my work style. If some other IDE is a better fit for you, terrific. If IntelliJ/IDEA is not your style, fine. Just please be nice about expressing your opinions. Flames are tiresome and a waste of everyone's time.


Ron Hitchens

anonymous2
2002-10-12 07:51:06
Okay lets get down to facts
The major problem the company Jetbrains is that they don't have a testing division. What they have is some nice developers that code the product, but there is no one to test it. So what Jetbrains does, is that they throw the code to people who are eligible to access EAP and tell them to test it. Now the number of people accessing the EAP is also not a very large community comparing the Eclipse community. This is the main reason why the quality of IDEA is not good.
anonymous2
2002-10-12 22:16:56
vi still rules
I've tried pretty much all major IDE's that are currently on the market. What I found is that I'm still more productive with a good old vi/xterm/ant/cli combination. Yes, IntelliJ seems to be a great product, but I'm not abandoning vi until they offer vi key-mappings in their editor. In my and many other Unix programmers' case costs still outweigh the benefits...
anonymous2
2002-10-14 11:35:12
Why I started using IDEA back in the 2.0 days

I've been a big fan of IDEA for a while now and have used WSAD (although admittadly not in the recent past) and I'll tell you why I chose IDEA.


Quite simply, I don't like IDEs that seem to think that I want everything done for me and integrated into the environment. Sure, you don't have to use it but you gotta pay for it. They seem to emphasize those types of tools over a great editing environment. I build and deploy my EJBs with Ant, I restart my app servers from the command line so I don't need these tools...quite frankly I think they take more time to get working consistently than it does to just use Ant and so on.


IDEA lets me do what I do best and that's code. Its refactoring capability is amazing so I can just write without worrying about how hard it will be to change the code on the next pass. I just refactor it...extract superclasses, change names, change parameters, etc. and it helps me insure that all the changes are made. For me at least that's what helps my productivity.


For others and depending on the type of work you're required to do and how you do it, WSAD may very well be worth it for you. But for me IDEA is more usable and that's what ultimately matters for my work.

ronhitchens
2002-10-14 12:38:38
vi still rules

That was my attitude as well. And while I haven't abandoned vi - I still use it for many things, including browsing code or quicky changes - I've found that IntelliJ is a better coding environmnet than vi.


IntelliJ/IDEA has a semantic understanding of the code, where vim's syntax coloring is limited to regex matching of syntax patterns. Vim's syntax coloring shows the obvious problems but IntelliJ catches the subtle stuff. It's almost like pair programming; IntelliJ keeps you on track by pointing out where you might be going wrong.


There is a vi plugin
for IntelliJ, but I don't think it's very complete yet. The problem is that vi is modal, where window/mouse-based editors are modeless. Which means vi can't be simulated by simply changing key mappings.


I've found that my productivity is higher in IntelliJ/IDEA than it is with vi, but it took a little practice before I got the hang of the IDE. Once I did, my coding speed revved up significantly. And don't forget to factor in debugging time. IntelliJ catches so many problems early on that you spend far less time debugging.

anonymous2
2002-10-22 09:13:15
IDEA is simply the best ide for development
The range of features, the simplicity, the flexibility, the ease of use... nothing compares to IDEA. It is so easy, natural and unobtrusive. No difficulty in doing any tasks that many other ide's battle with. It is STABLE and performance is actually very good (try FORTE)


Without out a doubt I am now closer to "developing with pleasure"

vainst1k
2002-10-22 10:39:26
IntelliJ is great, but where's the manual ?!?
A shining opportunity for O'Reilly if ever I saw one. There's $40 in my wallet just a-burnin' to be plonked down for "IntelliJ in a Nutshell" or "Using IntelliJ: The Definitive Guide". Something furry on the cover, if you please...
anonymous2
2003-05-09 15:53:44
vi still rules
There is now a VIM plugin for IntelliJ as well. Works much better than the VI Plugin, and implements almost all useful VIM features.
anonymous2
2003-06-23 07:54:07
New convert...
Not expecting much different from every other IDE, I gave IntelliJ a try. Wow! Where to start on this awesome IDE. Every day I find a little something else that makes me go, "Woah! Cool! Why didn't anyone else do that!" It is the first Java IDE I have used that has actually had a positive impact on my productivity. If my company won't spring for a license, I may have to do it myself. It is that good.