The IDEA tragedy
As the latest EAP of IDEA nears completion (or more accurately, stumbles forward towards a ship date by carefully avoiding any semblance of completion) it’s time to dissect this latest release and issue forth my bi-annual IwanttostabIDEAloudmouthssinthegenitalswithahotpoker diatribe.
In many ways, this release continues the fine tradition established in the 3.0 EAP. An amusing, yet depressing attempt at cramming in features for users who have long since lost any form of plot they might have had some weak grasp of in yesteryears.
So where do we start? Well, xml editing is always a fun one. It doesn’t work. For some reason (despite being reassured by everyone that this IS supposed to work), my schema declaring descriptors wash their hands of their schemas, proclaiming themselves independent with astounding quantities of red liberally applied.
Of course, when xml editing does work, which does happen purely due to the laws of statistics, it’ll invariably be slow and painful, with the odd element always trying to make a name for itself by indenting itself in a manner than is entirely at odds with everything else.
Needless to say, this joy extends to ant files. Custom tasks have as much chance of being detected as James Strachan has of writing intelligible documentation.
Of course, if you thought xml editing was were all the fun and games are, then you should try editing jsp files, which is more or less guaranteed to have you rummaging about for the nearest pair of genitalia to gnaw off in sheer desperation. JSP editing in fact is so astoundingly broken, so thoroughly useless, that I have had to resort to mapping the jsp extention to be a plain text file. Every character you type will bring about the Circle of Doom (the annoying little red harbinger of badthings in the status bar that says something horrible has just happened). The fact that the CoD is a burning red distraction is insufficient, nono, we must also have a goddam popup with an ARROW pointing at it telling you that you have just met your doom. Wound, meet the fistful of salt you’ve been so eagerly anticipating.
Still, at least the java editing works, eh? Nope! Creating a pair of new braces with code inside them will invariably poo all over the indenting of the line following the last brace. Typing characters in a large (few thousand line) java source file is a leisurely activity where you can quite reasonably expect to call up some friends for a good old fashioned circlejerk, wait for them to show up, and indulge in a marathon session with said friends while waiting for the IDE to admit you’ve actually typed something.
The open API is, of course, yet to be blessed with a single line of javadoc. To be fair, it does make life more exciting; always trying to figure out what a particular piece of code will do. Which does bring about one of the surprisingly few useful features of the latest EAP; that you can very easily create a sandbox to run your plugins in with little to no effort.
To be fair, there are many small improvements here and there that improve the usability overall. The concept of javascript/css/html refactoring and a language aware editor is new and exciting, if the IDEA guys manage to pull it off. The level of language knowledge built into the editor far exceeds anything that exists currently (eclipse users, please go away quietly you worthless cheapskate turdburglars). Whether they can pull it off though and manage a usable release is another matter entirely.
I remain, as ever, a devoted and passionate IDEA user. The loathing I feel for the loud EAP users (gimme subversion or I will cry and soil my pants!) grows apace. I can barely stand to post on the EAP forums these days, such is my disgust and rage. This is, however, one of those rare cases where the rage is a manifestation of love and care. I can only hope (in vain, if history has anything to say about it) that the fine fine developers of this beautiful product rethink their approach and get back to thinking of their product as being exactly what they’d love to use, rather than what they think others would enjoy using.
May 26th, 2005 at 1:57 pm
first
May 26th, 2005 at 2:24 pm
I have long switched to Microsoft Word as my favourite Java IDE. It does not have the problems you are mentioning.
May 26th, 2005 at 2:31 pm
Do yourself a favor and go back to NetBeans.
May 26th, 2005 at 2:57 pm
Sorry Eclipse Rules All. Nuff Said.
May 26th, 2005 at 3:10 pm
“xml [sic] editing is always a fun one. It doesn’t work. …this joy extends to ant files. …JSP editing in fact is so astoundingly broken, so thoroughly useless…. Still, at least the java editing works, eh? Nope!”
You’ve sold me on IDEA, as I, too, salivate over rancid meat.
“I remain, as ever, a devoted and passionate IDEA user.”
I’ve seen mangy, emaciated, limping dogs remain loyal to their abusive masters. A sad sight indeed.
May 26th, 2005 at 3:17 pm
I wonder how many thousands of lines I’ve written in VIM during the time others spend ritualistically impaling themselves on some IDE update?
May 26th, 2005 at 3:21 pm
eap’s have always had a tradition of sucking until release. ive been using idea since 2.x and while it has gotten better (and for the record, hanni is right) it is still essentially the same editor weve all come to love (and sometimes hate) over the years.
ive had the pleasure of having to muddle in some of the openapi crap of late and its more than just a little irritating. if you *do* manage to find some javadoc, its usually either a) worthless or b) in broken english.
i detest eclipse and netbeans – i feel sorry for you tard-monkeys running around out there espousing eclipse and netbeans – you very obviously lead very boring and pathetic lives where your software must make all your decisions for you. but to be fair, idea seriously needs revamp the openapi and make the plugin system feel like less of a hack and more like a feature.
all in all, yet another great bile ;D
May 26th, 2005 at 3:22 pm
XML: Dead on. Sucks crap.
JSP: Kind of unfair comment considering they’ve said they’re still working on it because of a complete rewrite to support all the refactorings in jsps. jspx does work, but still sucks because it’s xml… catch 22.
JavaEditor: Yeah that arrow is a real ugly pain in the butt. But every year we have to be blessed with a new pretty feature… much like the smooth scrolling which makes me naucious if I don’t turn it off.
Subversion: Being one of the complainers… yeah what ever :-). At least it’s useful unlike the likes of the AspectJ plugin complainers… and from a marketing standpoint I think even you would admit there is good reason to have it.
R
May 26th, 2005 at 3:23 pm
No bile on the inspection or intention subsystems. Whew! I feel like I just dodged a bullet.
May 26th, 2005 at 3:28 pm
good blog and as brave IDEA user i had to write some more of the current state:
http://www.logemann.org/blojsom/blog/default/2005/05/26/IntelliJ_IDEA_the_future_and_my_radical_throw_out_thesis.html
May 26th, 2005 at 3:47 pm
“in a large (few thousand line) java source file”
Time to refactor, don’t you think?
May 26th, 2005 at 3:56 pm
Anonymous Bastard, you wimp! We proudly write methods that are a few thousand lines; sometimes, when feeling manly, we write single switch statements with thousands of cases!
Refactoring is for wimps.
May 26th, 2005 at 5:27 pm
I am still using version 3.0.5 since version 4.0 was so bad. Perhaps now is the time to upgrade to version 4.5 since it might have stabilized by now?
May 26th, 2005 at 7:02 pm
All of Idea’s features work flawlessly when used with open source tools like kaffe. Kaffe contains no bugs only undocumented features.
May 26th, 2005 at 8:15 pm
Hey – Eclipse has moved on from pluggable laughs to distributable laughs. Check out http://vex.sourceforge.net/ – it’s far out there in XML editing
May 27th, 2005 at 7:11 am
> I wonder how many thousands of lines I’ve written in VIM
What’s VIM? Is that the same as the JBoss IDE?
May 27th, 2005 at 7:45 am
Oh give me a break, people are productive writing java in vi?
Give me a frigging break.
People complaining about IDE’s is like someone complaining from the stone age complaining about the wheel….
May 27th, 2005 at 8:26 am
Well, I would greatly appreciate some pointers to applets that are specifically broken by IE4, but work fine with IE3, NS3/4. Source code would be a great help, but is not vital. Thanks
May 27th, 2005 at 10:27 am
“People complaining about IDE’s is like someone complaining from the stone age complaining about the wheel”.
Hmmm, funny thing – no one is more productive today with their precious IDEs then they were 5 years ago without them. Strangely, they write the same amount of code of the same quality now as they did then.
May 27th, 2005 at 10:34 am
Mike,
Curious, how did you come up with this analysis? Wouldn’t you say today’s code is also a lot more complex than code 5 years ago, and the fact that we can still write the same amount of code means we are more efficient?
have you tried to write code you wrote 5 years ago in today’s environment?
R
May 27th, 2005 at 10:56 am
I tell my kids to avoid the words “always, never, everyone, no one” when trying to describe something. Mike, really, ‘someone’ must be more productive today because of their IDE.
May 27th, 2005 at 11:06 am
IDEA Sux! I am better than you cause I use and it rocks. Oh please! Get a life. A good IDE and a shit programmer still equals terrible code and vica-versa. Who the fuck uses VI? Get a life man and enjoy the benefits of technology – freak!
May 27th, 2005 at 11:31 am
Mike, the main advantage of the inteligent IDE’s is not that they will compile your project, not even the code completion (which by the way is much more intelligent than CTags.)
The real useful stuff is the code analysis and navigation features. With IDEA, I’m confident that when I touch that darn 2000+ lines class, that imports more than 200 classes from packages all over the code tree, it’s much less likely to screw some seeemingly unrelated system that could be rolled out for emergency patch some time in the future. The code queries like ‘who calls me’ or ‘who provides implementations for this method’ are addictive and while you can develop a mental map if you work long enough on a project, IDEA (and I guess the newer versions of CodeGuide, Eclipse and NetBeans) make this process much faster and less painful.
Also as a bonus, there is very full featured, free static analysis plugin, which provides warnings for many possible semantic errors or subtle constructs.
May 27th, 2005 at 12:12 pm
I use IDEA 4.5 and have been happy with it so far. But then I don’t use most of the plugins that are not builtin. In any case, IDEA doesn’t do anything that I can’t make emacs do with a little effort in elisp, it just eliminates some of the effort of having to write elisp.
In any case, right now I’m working in C++ land so it’s mostly irrelevant to me. Still nice bile!
May 27th, 2005 at 3:45 pm
eclipse users have no idea what they are missing.
May 27th, 2005 at 4:04 pm
I don’t dispute that you get many nifty features from IDE. But they all come at a price – and IMHO the price is still too high for what you get (and no, I’m not talking about $$$). For all the nifty stuff you get bloat and confusion and crashes and fifty other problems that more than balance out the productivity enhancers.
Compare projects where people are mostly IDEA vs. mostly Eclipse and you won’t see any noticable difference in code quality, or development speed, or perceived increases in user happiness. Likewise, compare Visual Studio people doing C# vs. Eclipse or IDEA people doing Java and – shock horror gasp! – you’ll see no measurable difference in productivity even though Visual Studio is monstrously behind the curve as an IDE.
Some day there will be a great IDE that I’ll happily use because the power won’t come with terrible costs along with it. That day is not yet here.
In addition – if someone wants to create a killer IDE they should use emacs or VIM as their base and build out from there. Add great IDE features to proven editors and you’ll really be on to something.
May 27th, 2005 at 11:14 pm
My experience tells me different story, but then again – may be it’s just me. Imagine how productive I would become if I learned vi :-)
May 28th, 2005 at 3:46 am
Mike, did you know that there are VI keybindings for IDEA and Eclipse?
I’d fire someone for using Vim for Java coding (almost had to), because obviously they’re not being as productive as they could be.
The 70s are calling and they want their green screens and editors back.
May 28th, 2005 at 3:50 am
Can VIM do refactoring? Instant compilation? Are you kidding, Mike?
May 28th, 2005 at 8:47 am
Actually, I agree that IDE’s somewhat decrease productivity by the time taken to set up and tweak projects and settings, learn new features, read about the latest plugins, etc. Refactoring features provide a whole new plethora of distractions.
Although we might say that e.g. renaming a method makes the code more readable and so on, all these improvements end up in the last 10% of the code quality, distracting us from the actual problem at hand.
On the other hand, I’ve noticed that people using vi and emacs tend to leave mess when they do maintainance work (which is actually the predominant type of work on a large existing system.) This means: unused variables, unused imports, cloning huge data objects ‘just in case’ (and this is the better case); or even worse – causing subtle side effects, breaking the tests, breaking interfaces and not fixing all implementers/clients and so on.
Yet, all the problems vi users cause are accepted as ‘cest la vie’ – the normal life of a developer. As a bottom line, nobody counts the hours spent in debugging the abovementioned problems, while it’s clearly visible that somebody spent a few hour separating the giant source tree into modules.
Oh, well – enough ranting… May be it’s time start a blog or something :-)
May 28th, 2005 at 1:03 pm
Obviously everyone thinks I’m cracked so there’s little point in continuuing :-) But I’ll try anyway.
All that I’m saying is that if you look at projects over the long term you don’t see the IDE having any real impact. Sorry, but the impact is nil. The reason why is simple – most of the time we are not writing code. Instead we are debugging it, designing it, thinking about, and supporting it.
If you look at gains in software development, areas where we seem to be producing more, my thesis is that those gains aren’t coming from developers who are more productive due to IDEs, but instead they come from the fact that all the hardware is getting better (faster CPUs, faster pipes, more memory, bigger/faster disks, etc).
The effect of the IDE is negligible. Funny that everyone missed my comment about Visual Studio. Visual Studio is very primitive and doesn’t have any of the fancy language features of Eclipse or IDEA. And yet Microsofties doing C# are just as productive as people writing Java in Eclipse.
The reason why is simple – Java and C# are roughly comparable languages, and _the IDE doesn’t make a difference_.
I have worked in many mixed-mode environments where many different people used different IDEs (or effectively no IDE). And in the end the IDE was never a differentiator in productivity.
I’ll leave ya with a few comments:
– In my organization almost everyone uses Eclipse
– 80% of the people using Eclipse use about 10% of its capabilities
– Of the remaining 20% of people who use more than 10% of Eclipse, half of those get frustrated when the IDE upgrades and they find themselves behind the curve again
– The VIM bindings in Eclipse are garbage
– The amount of time spent fighting the IDE in my organization is a measurable percentage.
– We have > half a million lines of code. If you are refactoring so often that an IDE will make a difference then you are clearly playing around and not doing real work.
A question for the masses: how many refactorings actually measurably improve the code? Before you fire off an answer seriously think about it.
May 28th, 2005 at 1:51 pm
Actually, on my current job I’ve never done a single refactoring, spanning more than 5 packages. As you say, most of my time is spent on maintainance and that’s what I claim IDEA (can’t really speak about the others) makes easier.
I believe that most the refactorings don’t provide any value by themselves. The actual value is provided that you don’t have the right choice the first time. I.e. my most often used refactoring is ‘rename’, then comes inline/extract method. I could live without all the rest, although they do come handy.
As I already said, what’s you’re missing is the code navigation. If I had to work on our codebase (~7500 classes with varying quality and outdated documentation) with a text editor, I wouldn’t dare to do any interface change. And since 90% of the classes are public, and 90% of the methods in this classes are also public (even the unused ones), everything is interface change.
How do you measure productivity by the way? Lines of code? Delivered features? Quality of code (if yes, what?) Maintenance effort? Bugs per KLOC?
Not so long ago, for few months I did some C++. Surprisingly enough, Textpad+make turned to be better combination than VC.2003. I went like this for a few months, until I found the WholeTomato, plugin for VC6 – it provided some very basic features, which if not boosted my productivity, decreased the frustration level.
Still, in that case, I claim that particular 4 m project could be done in a month if we had a decent IDEA-like IDE.
this is my last post here, if you are interested in constructive discussion, feel free to shoot me an email.
May 30th, 2005 at 7:59 am
No donuts for Hani. ;-)
Mike, I heard you explain how trying to use Eclipse features gets in your way due to instability and ‘fighting the IDE’. Then you concluded that all IDEs have no net benefit. Funny… Have you considered what would be the effect if the IDE was designed so that people don’t have to fight it?
“And in the end the IDE was never a differentiator in productivity.”
Did you somehow measure this? How?
“how many refactorings actually measurably improve the code? Before you fire off an answer seriously think about it.”
Since refactoring is defined as improving the design of existing code, then the answer must be 1. If you want to nit-pick over ‘measurably’, then you could perform Extract Interface, as an example, which you could use as an instance of the Dependency Inversion Principle or the Acyclic Dependencies Principle, thereby measurably improving several code metrics. Answer is still 1. In fact, the only way to improve code metrics without changing the behaviour of code is to refactor it.
May 30th, 2005 at 8:46 am
– 80% of the people using Eclipse use about 10% of its capabilities
- Of the remaining 20% of people who use more than 10% of Eclipse, half of those get frustrated when the IDE…
Isn’t that a problem in your org ? :-D What does it have to do with Eclipse ?
May 31st, 2005 at 6:40 pm
On our current project, we are limiting our developers to using Notepad on Windows and Pico/Nano in ‘nix. We have found that all the bells and whistles in Emacs and vi distract the developers from doing any real work.
In addition, we once let them use a debugger, but gave up when productivity (measured in the number of characters typed per shift) decreased significantly.
We are currently considering taking away the computers altogether and replacing them with blackboards but are worried about the chalk dust. Anyone have any experience in this area?
May 31st, 2005 at 7:21 pm
Wooble. good one.
The funny thing about the “I’m hardcore, old school, I don’t need no stinkin’ IDE” is that they end up replicating all the things that the IDEs do for them in scripts anyway.
I call bullshit when someone tells me that an IDE doesn’t enhance productivity. Just the fact that you don’t have the compile cycle in Eclipse makes a huge difference.
These people need to get their keybindings and move into the early 90s.
June 1st, 2005 at 10:53 am
IDE’s? You bunch of pussies.
Back in my day, we didn’t have IDE’s. We got down on the bare metal carved the code in.
Our fingers got all bloodied and we liked it!
Homos.
June 1st, 2005 at 5:09 pm
– In my organization almost everyone uses Eclipse
- 80% of the people using Eclipse use about 10% of its capabilities
- Of the remaining 20% of people who use more than 10% of Eclipse, half of those get frustrated when the IDE upgrades and they find themselves behind the curve again
- The VIM bindings in Eclipse are garbage
- The amount of time spent fighting the IDE in my organization is a measurable percentage.
- We have > half a million lines of code. If you are refactoring so often that an IDE will make a difference then you are clearly playing around and not doing real work.
- In my organization when I showed the 80% who used 10% of the features, they realized how useful Eclipse (or any decent IDE) can be. Productivity went up.
-So 1/2 of the 20% get ‘frustrated’..so what? They’re still productive.
- You don’t need the VIM bindings to be productive. You need to learn how to use the features – they are still there, just in another form.
- Many coders don’t refactor because they can’t do it easily and are scared to. Refactoring is useful and coders don’t do enough of it.
June 1st, 2005 at 9:17 pm
Then again,
Thank you Hani. Am I repeating (reap-eating) myself?
June 1st, 2005 at 9:23 pm
I agrre with Mike Spille. IDEA sux. After all these years, they don’t have a plugin for A+. Or is it A++?
ya-hoo, I got my math question right!
June 2nd, 2005 at 11:23 am
Still astounding how difficult reading comprehension is for people.
IDEs have many cool features. Features that are undeniably useful. But those features are invariably embedded inside of gigantic, bloated, cumbersome platforms.
It’s clear that there are features in IDE’s which do in fact boost productivity. But it’s not a clear win – these beasts are so big and complex that you buy into a host of problems as well. There’s good that goes with the bad.
The implication from comments here is that an IDE is so fabulous, so perfect, so smoothly created that it’s an extension of the developer’s mind. Presto chango, it performs miracles for me!
I dunno. Maybe I’m a dunce, but I have struggled for months with various IDEs. And I have seen colleagues struggle continually with IDEs. And whatever knowledge you win is so transient. Chances are some of your favorite bits will get nuked in the next IDE release, or changed, or become suddenly reduced in usefulness (most often, slow downs with each upgrade). Or – yikes – you go somewhere that has standardized on an IDE other than your chosen one.
What’s really funny, though, is to listen to various dynamic/scripting language advocates. They all say their biggest bitch about Python/Ruby/whatever is lack of a major IDE. And yet at the same time they claim they are more productive in their dynamic language than they are in Java.
Maybe they’re full of it. Maybe there are hidden costs in those languages. But maybe there’s a hint of truth in there as well – maybe the IDE isn’t what makes so much of the difference as the language does.
To wrap all this up – I like many of the ideas built into various IDEs. I like some of their capabilities. I just don’t want the enormous, slow, buggy platform these features are delivered on.
June 2nd, 2005 at 12:28 pm
In that case WSAD must be your worst nightmare (which I think is the best illustration of your point)
June 2nd, 2005 at 2:26 pm
Mike, I recently finished a project where I was paired with a guy using VIM. I use IntelliJ. Sorry, but I ran circles around this guy. It’s simply not a comparison. He coudn’t approach my productivity if his life depended on it (fortunately it didn’t).
That said, my main issue with using something like VIM is that people who use such editors are either much slower or produce significantly poorer quality code. History has proven that developers are lazy. They will refactor but only if it’s easy. Modern IDE’s make refactorings easy which means developers will actually refactor things. I refactor my code CONSTANTLY. If I had to do that in something like VIM, it would take me twice as long to write the same thing (or more likely I just wouldn’t do it).
If you’re hell bent on using VIM, then by all means use it. However, don’t come here and tell me that there’s no real difference between using a modern IDE and a dinosaur like VIM or EMACS. Your rationalizations only work on yourself.
Stock
p.s. I like your blog but your choice of tools sucks ass.
June 2nd, 2005 at 3:11 pm
“But those features are invariably embedded inside of gigantic, bloated, cumbersome platforms.”
” I just don’t want the enormous, slow, buggy platform these features are delivered on.”
Mike, don’t agree with you there on the desciptions of “slow”, “bloated”, “buggy” and “cumbersome” if you’re referring to the whole IDE landscape. You probably have something more specific in mind when making your statements, and I think your generalization isn’t applicable to everyone’s experience.
We’ll leave you to your VIM, and leave us with our preferred tools. Sorry, but I have to side with Dimitar and others, I am more productive with an IDE.
P.S. I use Notepad, VIM and IDEA on a daily basis.
W
June 2nd, 2005 at 7:21 pm
Mike, you’ve pretty much lost the argument when you start throwing out terms like “gigantic, bloated, cumbersome” and “beasts are so big and complex” and “enormous, slow, buggy platform these features are delivered on”.
But that’s fine. I’m sure pico makes a great development environment. Vim and Emacs are gigantic, bloated, cumbersome, enormous, slow, buggy, big and complex beasts.
June 2nd, 2005 at 11:34 pm
awesome: I saw the Hani video at serverside, awesome. Mention me, mention me.
June 6th, 2005 at 6:11 am
Most refactorings — except for the trivial ones — add yet another layer of indirection, and doing it stupidly on a ritualistic basis (ala XP idiocy) adds more complexity and obfuscation to an otherwise simple design and hurts performance.
May be lazy programmers shouldn’t have a tool that make refactorings that easy. May be they should think twice before they refactor robotically because Mr. Asswipe told them it’s a Good Thing.
Both an IDE and a simple tool like vim have their uses. It doesn’t have to be XOR.
June 6th, 2005 at 12:15 pm
“May be lazy programmers shouldn’t have a tool that make refactorings that easy. May be they should think twice before they refactor robotically because Mr. Asswipe told them it’s a Good Thing.”
roflmao. Yes, indeed. Perhaps we shouldn’t use washing machines either. Robotically throwing your clothes into a machine deprives you of the simplicity of hand washing. Plus hand washing is faster and gives you a workout. Homam, I really hope you apply your rules to all parts of your life. If you weren’t posting on the internet, I’d say you’re a fucking amish. Instead, your a fucking idiot. Good day, sir.
June 6th, 2005 at 12:46 pm
I dictate my pseudo-code to my personal assistant who uses Word to type it in and then passes it off to some techie who puts it into something called a “text” file with a .java suffix
I don’t need VIM or Mr Muscle or anything else
June 7th, 2005 at 12:43 am
Regarding VIM vs. Idea, IdeaVIM has the potential to deliver the best of both worlds, but it isn’t quite there.
For example, if you begin modifying a method name, then use code completion to complete it, you are not able to use the “.” repeat to redo the complete modification. I suspect this is just something that is difficult to do with the IntelliJ API.
There are also plenty of quirks with IdeaVIM in dialog boxes, such as that it gives you the ability to put carriage returns in a single-line dialog. (I think it would be much easier if IdeaVIM was automatically switched off for dialogs.)
And unfortunately, it doesn’t seem that IdeaVIM is being maintained. It has been causing exceptions in the Irida builds, and no one has responded to the posts about the problems. Though I can’t really complain myself since I don’t have time to volunteer to maintain it…
June 7th, 2005 at 11:43 am
Ah, never attack a person’s significant other or his choice of IDE (in some cases apparently one and the same thing).
The problem with the modern IDE concept is the INTEGRATED part which in turn leads to the big bloated part. Developers bitch and moan about integrated office suites and Mozilla bundling half the world in a “Suite” but then happily saddle themselves with monster IDEs which eat half a gigabyte without blinking and start choking seriously around the 200,000 line mark in projects.
Where you guys choose a single giant IDE to do all your development stuff for you, I choose many small tools to do the same thing (more than VIM, sorry I didn’t give the entire taxonomy).
June 7th, 2005 at 12:13 pm
Mike, I can appreciate your concern about memory hogging IDEs. Eclipse, Netbeans, and IntelliJ are all pigs when it comes to memory. However, even if your oinker IDE uses a half gig of RAM is that really a problem? Seriously, a development box should have a bare minimum of 1 gig of ram but preferably 2 gigs. RAM just isn’t that expensive where companies need to be cheap bastards about it and my IDE ends up being only a small part of the memory used up in my machine at any given time.
Finally, IntelliJ at least allows you to tune its memory usage. I dont’ know about the others since I don’t use them.
Oh, and if you’re really concerned about memory then don’t code in Java. C is far more memory efficient than Java could ever hope to be.
June 7th, 2005 at 12:20 pm
Mike, I keep wondering what bloated IDE you are talking about. And why in the heck are you comparing IDE integration with Mozilla Suite integration? They are completely different projects with completely different codebases and have completely different reasons for integration. Even comparing two IDEs is pointless if one is poorly implemented and the other isn’t. It’s like saying Model-T Fords are slow, noisy, get shitty gas mileage, and only come in black; therefore, all cars are crap, and I’m sticking with my trusty horse.
FYI: IntelliJ IDEA is an 800,000+ line project developed using IDEA itself. It runs smoothly and very productively. We know, because we use it every day.
Where you choose to manually patch together many small, disjoint tools to do 30% of what’s possible, most people prefer to have a fast, integrated, medium-sized IDE to handle all those tedious tasks for them, and add new dimensions to productivity as the cherry on top (refactoring, on-the-fly analysis, etc.).
June 7th, 2005 at 5:41 pm
Horses for courses. None of the IDEs I’ve used can match vi for hard-core raw text manipulation. Anchored searches, specifying the search expression as part of the replace expression, searching with some truly nasty REs — dunno, I haven’t used IntelliJ, maybe it’s got something, but Eclipse/WSAD, NetBeans, JDeveloper and JBuilder sure don’t.
OTOH, I can’t see wasting time developing code where I can’t click on a variable and look up it’s declaration instantly, or can’t get decent code completion. Refactoring is handy, although not terribly painful in vi. Having an editor that can examine a superclass and provide stub implementations of all the abstract methods, or automatically generate accessors for private attributes, though, is what it’s all about.
June 7th, 2005 at 7:44 pm
Oh my, looks like I shat in someone’s Holy Grail.
Hey Stock, use your own washing machine analogy and you’ll realize how hopelessly brainfucked you are.
It’s like “I wash my panty CONSTANTLY”. Of course you do, because you keep soiling it CONSTANTLY with your codemonkey attitude by spasming at the vicinity of a keyboard(1) without a hint of thoughful design.
(1) Plagiarized from Hani :)
June 9th, 2005 at 10:54 pm
Mike, was that a BileBlog special? I re-read your post after a few days, and I’m quite sure I got it right the first time. I failed to see your point, though. Standardizing on an IDE is like standardizing on what everyone should have for lunch (isn’t McDonaldization a better term?) I don’t see that often, and I work in the same industry as you. E.g., one of the developers on my team writes code in VIM. It was his choice: what could I say? We build with Ant anyway.
A recommended IDE is a different thing altogether.
I like IntelliJ, but it’s my personal preference. My responsibility is to write good, clean code; not using a refactoring tool shouldn’t be an excuse for sloppy coding, and the development time is money. (Obviously, this is a general statement, not a personal attack.) As a professional, you pick a tool and make sure you deliver on time. You take the responsibility for the choices you make.
Did I see aggression/arrogance in your post? Or maybe, preaching to the choir should be performed in a softer voice? I have no idea which IDE you consider a gigantic, bloated, cumbersome platform. Maybe, just because I don’t use it.
I am maintaining an application that has 8000+ Java classes. I edit, browse, refactor, compile, and run multiple debug sessions, all with -Xmx384K.
Again, it’s your responsibility to find what makes you most productive. Are we professionals or what?
June 9th, 2005 at 10:57 pm
I meant -Xmx384M of course
June 19th, 2005 at 10:00 am
“The effect of the IDE is negligible. Funny that everyone missed my comment about Visual Studio. Visual Studio is very primitive and doesn’t have any of the fancy language features of Eclipse or IDEA. And yet Microsofties doing C# are just as productive as people writing Java in Eclipse.”
The cool thing is that Java developers can get an IDE that delivers a Visual Studio experience – JCreator. IMHO it has better ant file integration than Eclipse. At any rate, when using JCreator I can run circles around myself when trying to use Eclipse. Don’t get Eclipse refactoring but do get much better intergrated help access to javadoc stuff.
July 2nd, 2005 at 8:39 am
Why would you have a java class that’s a few thousand lines long?
July 2nd, 2005 at 8:43 am
But that is a pointless question in regard to this blog entry – of ocurse the answer is IDEA *should* be able to handle a class of a few thousands lines. IDEA 3 was great, 4 is not.
September 28th, 2005 at 10:27 pm
hi, I use the IDEA5.0.1 to develop j2me game, I find it support too few SDK that can debug not result in a exception. But why I switch from netbeans? the netbeans is good, but it has a very terrible bug, it often find the variable usage in a closed project having the same files as the current project, so let me edit the wrong file, at last, I am angry to netbeans! now I find the IDEA is good if you do not debug j2me project …
October 8th, 2005 at 9:42 pm
A programmer is sort of maried to his favorite IDE: Sometimes they hug, sometimes they fight. But the two of them together is (nearly) always the better solution.
I personally prefer JDeveloper; it’s like a collection of hundres of smaller tools integrated into one. This means that sometimes it’s bloated, but other times you find that ‘this little special feature’ just turned a two hour job into 30 seconds – that’s when I hug it :)
December 21st, 2005 at 9:20 am
Sorry for IDEA and JBrains, with their new and buggy product. Use 4.5.x or switch to NetBeans 5.x.
January 6th, 2006 at 7:35 pm
I wonder your intentions of writing this blog? You wanted people to laugh rather than think of IDEA? I did like the humor but I would rather spend time on “http://www.comedycentral.com/” and get more for my time spent.