IDEA: What happened to innovation?

The new EAP builds of IDEA 4.0 are getting better by the day. Better how, you may well wonder. Well, they’re not crashing as often, and the millions of rough edges are being smoothed out.

So I think it’s safe to say we’re in the home stretch now, that we’re not getting any more new features. So what has the long journey from 3.0 to 4.0 gained us, in this tumultuous year?

Not a hell of a lot, to be brutally honest. The new niceties have been covered elsewhere (custom junit runner, weblogic support, module support, ui designer, better cvs integration). What I find disturbing is that there’s very little innovation in all these, and in some cases they’re plain halfassed. Weblogic support is a good example, what on earth is the point of supporting one appserver to the exclusion of all others? I’m not asking them to support ANY appservers, I’d instead be perfectly happy if the openAPI included the j2ee stuff, so that I and others can write plugins for the appserver specific bits. I can’t think of a single feature that has made me think ‘wow, I didn’t know that was even possible!’ in this new version. There are no new features that don’t exist in some form or another in other IDEs.

The problem is, in my opinion, the users. IDEA users are no longer clever folk, they’re a bunch of fuckwitted morons. Witness the aspectJ support fiasco. I hope the intellij guys have learnt never to take users so seriously again. IDEA users have invariably migrated away from some other wanky IDE. So naturally, they want the same retarded features so their transition is less jarring. So now we have IDEA becoming a lot more mainstreamy and homogenised. I doubt many people will feel that giddy childish glee over this new version that they have over past versions.

This is painfully brought into focus when considering the new CodeGuide preview release. For the first time in quite a while, an IDE’s new features had me oohing and aahing. A debugger that actually highlights what part of a line is being evaluated! Being able to see the results of an evaluation right there in the source! Logger breakpoints that just print out the results of an evaluation when hit! Now THAT is innovation, when was the last time you had a serious alternative to System.out.println for quick debugging?

I sincerely hope that for 5.0, IDEA ignores the masses. They’re unwashed, ignorant, and can be entertained for hours just by dangling shiny objects. Keep them mollified by supplying appropriate shiny objects, but in the end, realise that you’re infinitely better equipped to decide what’s best for them.

57 Responses to “IDEA: What happened to innovation?”

  1. jb Says:

    Prior to IDEA the last IDE I used was Borland C++ for OS/2 back around 1992 or so. It wasn’t very good - it had numerous bugs including corrupting register var types. After those horrid experiences, I found myself most productive with a fast editor, makefiles, log files (or stdout), and a good shell. This setup is portable across platforms.

    Back about two years ago, a smart dude (Salaman!) bet me a case a beer, I’d like IDEA if I gave it a chance. Keep in mind, I’d refused to use IDEs for about 10 years at this point. Well, I was hooked. The refactoring support alone was worth the cost of IDEA. Lately, IDEA has been turning into JBuilder - slow and stupid.

    I’m running build 944 or so and marginally happy. It runs a little slow on my 1.6GHz/1GB laptop, but is still useable. But if it gets much slower, I might have to bail on IDEA.

    That said, the gist of this posting is this: IDEA is an editor at its core. Don’t fuck it up. Gizmos and gadgets are cool, but don’t crap in the bed to keep lazy users from having to walk to the bathroom.

  2. Jason Carreira Says:

    Now see? Here’s a bile I can agree with… IDEA is getting too bloated…. Stick with the excellent editor, debugger (the features mentioned in CodeGuide sound excellent), refactoring, etc… The new JUnit runner looks good, but that could have been added in a couple of weeks….

    They need to remember that there’s a REASON we don’t want to use JBuilder, etc…

  3. Andreas Says:

    I simply stay with IDEA 3.0; it’s great! However, what you say about CodeGuide is interesting. I’ll check that out.

  4. No one Says:

    jb, if you haven’t used Jbuilder for 10 years, how do you know the JBuilder is slow and stupid?

    It kills me that IDEA biggots say that the IDEA of today is so much better than JBuilder was 5 years ago.

    NO SHIT!

    Compare JBuilder of today to IDEA of today. You’d be surprised.

  5. Anonymous Says:

    I can compare the JBuilder of today with the IDEA of today. IDEA’s still faster and more useful and cheaper and has much better tools for what it does.

  6. Nipsu Says:

    Wow! One of the first reasonable articles (by you) that I’ve read. It’s much more enjoyable to read a text without constant bashing of certain people.

    That said, I generally agree. Aurora has some nice new features but there’re also some features that are so rarely used/needed that we all could live without them if the absence of them would make the IDE more lightweight.

    Luckily the 1094 disables AspectJ support by default (you need to set -Didea.aspectj.support=enabled) to get them to show in editor.

    The CVS support is still not as good as it should be but it’s improving, memory usage seems to get down slighty with each new build, and there’re less bugs. My guess is that with current pace the Aurora starts to shine in two…three months.

    End of rant.

  7. Mark Derricutt Says:

    I too was excited by those new Code Guide features I saw, untill I read the blurb that said they were only possibly by using a special byte-code compiler that added information to all your classes so that you could do that.

    Now, everyone complained about IntelliJ’s used of byte-weaving for the GUI designer, but just for some debug tracing? Not unless their compiler can run from Ant….

  8. Rob Abbe Says:

    Well said!

    It seems a lot of people are wondering if they really want to shell out the $ for this next release.

    Why does intellij seem to start nearly from scratch on new releases when things appear to work fine as is?

    The GUI builder seems to have been forgotten about mid way through this release cycle and feels half complete compared to other IDEs. It’s an important feature for me and I hope they finish the job and get it right.

    As for code guide adding special byte code to classes, who really cares as long as you can do a release compile with out it?

    Keep the bile coming. Too many people take themselves way too seriously.

  9. Charles Miller Says:

    +1

  10. Nick Says:

    I have to share Hani’s bile on Aurora - and with an equal amount of pain - IntelliJ is dear to my heart.

    There are some niiiice features in Aurora (find symbol, being able to diff the two arguments in JUnit assertEquals failures - amazingly useful for long strings - like documents or buffer contents) however none of these are really run-around-the-desk-to-show-your-workmates amazing…

    Instead, IDEA has become more complex and, tragically, it is no longer as intuitive as it used to be.

    My biggest complaint is over the UI for libraries. It just sucks ass. How obvious is it for a new user (new to IDEA or new to Java) to add one simple shitty Jar to the CLASSPATH.

    There is NO MENTION of CLASSPATH … ANWYHERE! It is like they are trying to pretend it doesnt exist!

    Then there is the bewuildering array of Library types - Module Libraries, Project Libraries and Global Libraries - do we really need this level of fidelity in Library Scope??? Its like the absurd FINE, FINER, FINEST logging levels of java.util.logging !!

    I am sad to say that the IntelliJ developers need a bit of slapping about the head with the SIMPLICITY stick.

    -Nick

  11. Ass-Pect Oriented Says:

    Why is AOP support disabled by default in IDEA? Does it suck ass?

  12. Anonymous Says:

    Fate is too pea brained to really understand AOP :)

  13. Toy App Maker Says:

    As Greg Wilkins (Jetty guy) stated in his blog:

    AOP == cool but useless

  14. Jonathan Feinberg Says:

    And the reason you’re using an expensive, proprietary IDE when you could be using a free, extensible, powerful, good-looking IDE–Eclipse–would be…?

  15. Marc Logemann Says:

    Being an IDEA user quite for a while, i am also a little bit scared about what kind of features are going to be in the next release and how the project is doing overall.

    Lets see:

    - better CVS integration

    could not be called an innovative one, the current is not nice but it works and i heard the new one is not perfect either

    - GUI builder

    go use jbuilder, i dont need one, never used one, never will. If you use asskicking libs like JLooks, you are lost with UIbuilders.

    - module of modules and modules

    Could be nice, but dont need this one too strongly.

    - new debug features

    sounds nice, but i have forgotten how to use a debugger because recently i mainly do serverside and j2me stuff, in these areas, out.println is the number one debugger.

    - bea weblogic

    fully agree with hani, what it is good for to support one AppServer? They cant support all, so they should think about a different path for that issue. Whats next? Jetbrains ,do you want to compete in Websphere integration with WSAD? You cant win here and you dont need to.

    At the end i have the feeling that the “we make it different attitude” is lost at Jetbrains. Too many people cry for all this shitty features that should go in, in order to have a second jbuilder someday. They shouldnt try to be as feature rich like Jbuilder but instead focus on the smart functions.

    Why do i bought IDEA in the beginning?

    - Refactoring
    - Responsiveness
    - superb Ant Integration
    - Smart Editor

    So, Eugene & CO, please concentrate on the coders out there with the average skill of your inhouse engineers. We dont need the latest Wizard nor do we need other unrelated stuff (aspectJ is really a good example). We need a tool which knows what we wanna do while coding and helps use *APPLYING* our skill.

  16. fuckwit central Says:

    Eclipse users are probably just as big as fuckwits as IDEA users, but at least they didn’t get screwed for money to be fuckwits!!!

  17. Anonymous Says:

    AOP is only useless to those who are useless themselves

  18. Anonymous Says:

    Eclipse highlights the line you are on in the dubugger. Check before you say it doesn’t work.

  19. Armond Avanes Says:

    Yes! Yes! Yes! All agree…
    I believe that adding some unneccessary features (like WebLogic one) has truned IDEA into a slow IDE (in compare with the previous versions).
    Well, if they want to add some features which cover just a small amount of users, they should make them plugin like things and keep out of the original bundle!
    It’s really obvious, supporting many bells and whistle finally will lead into slowness if could not be managed good. Turning off/inactive some of the low-volume used features by default or totally pulling them out and making as plugin, can really improve the whole story.

  20. YAF moron Says:

    Right move, regarding AspectJ! Screw this much-hyped piece. There are AOP systems that do not require so much work to integrate (read: those that fit into the syntax of the existing language).

  21. Geert Bevin Says:

    About the special bytecode needed to make Codeguide’s debugging work. This is of course only needed during development, the final version of Codeguide Amethyst will support production builds with all additional bytecode removed. Note also that in the past Omnicore (the company behind Codeguide) released a standalone compiler based on Ant, called Antelope which supported all the JDK 1.5 features independently from the IDE. Besides me and a few others guys not many people were interested. I asked to include a similar feature in the Codeguide distribution so that Codeguide projects could easily be compiled through Ant into a production build. This is going to be added to the next version most probably (which will only take a few monts - the release schedule is very fast).

  22. fmar Says:

    “So now we have IDEA becoming a lot more mainstreamy and homogenised.”

    People that wrote so much on their blogs how wonderfull IDEA is, are the ones to blame for this.
    Everybody ran to get their own copy and now you have it…”mainstreamy” ;-)

  23. Patrick Lightbody Says:

    Bah! Aurora may not be ground breaking, but the CVS support and the addition of modules and J2EE modules (the confusing librarys and content dirs are way overkill, though) are more than enough to justify the upgrade. That said, those are the _only_ things I’ve been looking for. UI editor? No. AOP support? No.

    But I can say with absolute fact, the ability to have modules is HUGE for some projects (mine). I hacked it together in 3.0, but it was never ideal and caused problems once in a while. Now that modules can have other modules that they depend on, I can replicate my Ant build script without actually needing to use Ant all the time, which is huge because the Integrated Development Environment does a much better job when it comes to short tweak-compile-hotswap-test cycles.

    So, once again… Hani is full of it ;)

    Pat

  24. lox Says:

    It might be argued that while Aurora itself hasn’t many new/nice features, there are some plugins enabled by the new OpenAPI which make the big difference (yes, I’m talking about InspectionGadgets and a few more).

    – dimiter

  25. Thomas Singer Says:

    I agree, that a lot of areas where IDEA’s core strengths were in previous versions (e.g. refactoring, intuitive user interface), are neglected in the current EAP. There was spend a significant amount of time to implement features, that are only important for a minority of the users, or good features were made worse (e.g. the settings dialog and the odd scrolling behaviour). Sure, that there is not enough time any more to make more important things like Move Member Methods or something like this…

    Tom

  26. Nipsu Says:

    > AOP is only useless to those who are useless themselves

    AOP is not useless, but forcing it down to everyone’s throat is idiotic. If the code parsing can be made faster without the AspectJ support then that support should be pluggable not ‘always on’.

    The good thing about the parser slowdown on big files is that it *requires* one to keep classes decent sized. <500 rows. =)

  27. Anonymous Says:

    Is it any wonder that an IDE for Java is good for morons? That’s its core market. Java is a language that was expressly designed for the less able programmer. Just have a glance through the idiocy on javablogs.com to see the neanderthal mentality of the average Java programmer. And, despite your deluded pretensions of superiority, I do include your blog in that assessment.

  28. Eponymous Says:

    Amen, brother.

  29. Ass Pecker Oriented Says:

    I like AOP. It helps me with my masturbatory exercises. I love to play with useless things–much like my Pecker.

  30. Jason Says:

    If the cost were more that 149, I would have a hard time justifying the upgrade. But then, I think that the 3.0 release spoiled IDEA users pretty bad.

  31. a nony mouse Says:

    A logical, consistent argument containing substantive complaints, without a bit of vulgarity? Admit it Hani, the bile blog’s been hacked, right?

  32. Dave Says:

    Best of breed CVS integration. Powerful module system (admittedly only 90% there). Editor splitting. Best-of-breed static analysis system (Yes, you need to use my plugin for this one. Cope.). Hotswap debugging. 1.5 generics support. Enhanced searching (find symbol, wildcards on find class and find file, “implemented by” and “overridden by” gutter icons). Very pretty JUnit runner with some nifty features.

    Yes, IDEA 4.0 is an incremental improvement, while 3.0 was a revolutionary change. Yes, the “big-ticket” items in this release (UI Builder, AspectJ) were poorly chosen. Yes, some of the other line items (macros) were disappointing. Yes, we can hope the next releases features are chosen with these gripes in mind.

    Was it worth biling? Hell no.

    –Dave Griffith

  33. Ass Monger Says:

    AOP?

    AOP is for you fashion sluts who need something to fap to because your facade as a high-priced web developer lacks any credit.

    It’s about as useful as a non-lubercated asshole… in fact I am so angered I just might have to donkey punch my next surprise sex victim.

  34. Angry-Dad Says:

    > And the reason you’re using an expensive,
    > proprietary IDE when you could be using a free,
    > extensible, powerful, good-looking IDE–Eclipse-
    > -would be…?

    Because Eclips is a piece of shit and I’m not going to waste my time trying to explain why fuckwit.

  35. OBender Says:

    This kind of jerks make this world a funny place to be…:)
    AOP has it’s place and purpose as everything else.

  36. Robert S. Sfeir Says:

    Dude let’s get real, you’ve been whining about IDEA since the beginning, when they first announced the feature set. This version was a major rebuild for those guys and they did an amazing job. Did they make mistakes yea! and you know what, they made them in front of everyone, all opened up for the world to see. Other companies hide behind their own bile, and come out smelling like a rose when they want you to look at the damn build.

    Are you that dense that you don’t see that? Should you pay for it? it’s up to you, no one is reaching in your fucking pocket and making you pay for it, and yet there it is, you use it, and support it and you whine about it… you get to pay to whine.

    Nothing new? Jesus man, do you not see Modules and HUGE improvements in J2EE? You must not develop portlets, because if you did you’d see the incredible value Web Modules bring. This is nothing CodeGuide will touch.

    I would love to write some plugins for app servers, but it’s not there yet… but you’re too dense to see that the J2EE stuff is still changing, even with today’s build (1101) there is a refactoring of the features and new features added, I don’t know where the hell you get this thing about code freeze, and being around the corner. There was no code freeze announced, and around the corner is still a month away. Have you lost all faith in what these guys can do and improve in the mean time?

    CodeGuide? Are you kidding? Have you seen the support from these bozzos? Did you even look to see that you need to allow CodeGuide to put their hooks into your code to accomplish what they are doing? How can you be OK with THAT, and not be ok with a simple Wizard? (I recall you vehemently objecting to that early on.)

    Bloated? WTF is bloated? We all sit on the EAP and complain about speed, and then come time when JetBrains does some improvements, we’re all surprised. Then we want all these refactorings, and features, and we complain it’s bloated. These guys have to make money, and stangely in spite of us, and they need to compete. If you don’t like it, use something like vi, it won’t get in your way, it’s not bloated, and it will even do refactoring for you.

    CVS is OK, it still needs work, but it’s getting there.

    I am willing to bet though that with all your whining, there is no way you switch IDEs not to CodeGuide, refactoring sucks, and not to Eclipse because you’d have to spend years developing a plugin for that piece of crap, AND you would not get JSP support at all (Lomboz is no example).

    I invite any of you who think that having a blog is cool, and just going around bashing people’s work is cool, to post your OWN code, and your OWN work, and show some balls to see how your work stands up to scrutiny. I’d like to see Hani’s work actually, and see if ALL his users are 100% satisfied.

    You’re just pissed because you can’t write a plugin for an app server that can’t get its shit together, Orion, and it’s not until what… 6 months ago, that these guys came back from a big fat vacation after they sold license of their code to Oracle. Yeah, it’s great code, and it’s free for Development, and they charge $1500 a license… Resin kicks Orion in the ass for $500.00 and is easier to deal with, and has GREAT support… unlike the non existing support from Orion… they have to go out and get some 3rd party to handle it.

    I think JetBrains wasted a good free license on you last year.

    R

  37. Anonymous Says:

    Yeah, APO has it’s place, but I’m not going to write where that place is. You figure it out.

    But, seriously.

    There is a real use for APO when you are faced with retrofitting some feature on top of some horribly ugly system some moron consultant designed, and you are unable to to rewrite it (usually for political reasons).

    Take a look at the AOP examples. They’re all about retrofitting logging or security onto existing code. I have yet to see a real-world example of AOP use where a properly designed framework wouldn’t have solved the problem.

    Have you ever tried to debug a large C++ application? Especially one that uses all of the more painful methologies like multiple inheritance, operator overloading and… templates! Have you noted how utterly impossible it is to predict what the code is going to do? You have all sorts of magical calls to various methods (scoped destructors is a particular nightmare, “I just passed this }, why the fuck the the program crash?”). AOP adds this wonderful (execute this hidden code at the moment the programmer least expects it to) to Java. Oh! Let’s all praise AspectJ for giving us such an amazing feature.

    No thank you. You AspectJ people can take you AOP and shove it. And I’ll stick with that opinion until someone shows me a convincing example of when it’s useful.

  38. Toy App Maker Says:

    I’ll drink to that…in fact, I am raising my pint of Guinness right now—-slurp, ah.

    I sit here on the back patio, watching the sun set reading the bile blog and drinking Guinness…what could be better?

    Answer: A world without AOP whores rambling on and on about how useful it is. Take that shit and shove it up your ass where it came from.

    Even better: A world where IDEs stick to the task at hand instead of taking every bangbus conceived idea and using it to bloat their product to the size of Jason Hunter’s ego.

  39. Nathan Brown Says:

    > Logger breakpoints that just print out the results
    > of an evaluation when hit! Now THAT is innovation,
    > when was the last time you had a serious
    > alternative to System.out.println for quick
    > debugging?
    FYI, IDEA has had this for a good while now, even in version 3 if I recall correctly.

  40. Gregory Pierce Says:

    Don’t you qualify as one of those masses? Why should they listen to you?

  41. harod Says:

    hani, you are the real meaning of Bitter Java
    :)

  42. Marc Logemann Says:

    Robert,

    you are on fire right? Am i entitled to whine? In fact i have paid the license fee (even i am used as poster boy on their site) and as long as i am living in a country where free speech is tolerated, i keep it going.

    Nobody says thats IDEA is crap, but some have concerns about future development. With guys like you, without any useful criticism at all, products wont evolve.

    They have to compete, thats correct. But do you really think they will achieve this by adding 1 AppServer Deployment Feature into the product. As i said, whats next? WAS Integration? They probably wont reach WSAD style of integration and because of ANT and vendor server tools which can be triggered by ANT, you dont need this clicki-clicki integration…

    marc

  43. Crack Head Developer Says:

    It’s easy to bitch about the newest version of IDEA, especially in beta version, but point blank an upgrade is worth it (at least, once it isn’t so buggy, which I’m sure final release will cap in the back of the head). You fucks doing “Hello World” coding probably aren’t gonna benefit much … this ain’t your mother’s IDE… but real developers can see the benefits, even if they’re not “leaps and bounds” like they used to be, IDEA jumped so far ahead, those Borland and Eclipse homos had to copy them to keep up … Oooh. Borland and Eclipse folks are boot-lickers… picking up the scrapes that IDEA throws to them. IDEA isn’t the pan et circus of development tools… it’s your mom’s dildo hidden way back where your father won’t find it!

  44. Dumb Asshole Says:

    What’s IDEA? What’s AOP? Can I buy it and put you out of business?

    Bill Twatface Gates

  45. Rafael Alvarez Says:

    There are four features in IDEA 4.0 that will make me go for it:

    1) Parsing the clases at startup (or while synchronizing) is faster than IDEA 3.0

    2) Generic support for JDK 1.5. Most people don’t get why this is good or why give a damn, but then most people don’t understand why the STL in C++ is good. I used to be one of those, until a C++ Hacker friend of mine shown me the ligth.

    3) Modules. At home I have two or three projects that benefit from a common fourth project (a layout manager). It was a pain each time I found that I need to modify something in that fourth project to accomodate a need of the other three. With modules I can have that fourth project as a module of the other three and modify it directly. At work, we develop a J2EE app. That alone make modules useful

    4) The new OpenApi. The new Intention plugin and Inspection plugins are really good. It’s sad that there are not many plugins developers for IDEA :(

    The UI designer? I do most of my Gui’s by hand, using IDEA is not THAT difficult :)

  46. crayon Says:

    The only problem with the JDK 1.5 support in IDEA is that JDK 1.5 is not really supported at all. IDEA only supports generics as implemented by Sun’s early prototype. It does not support foreach, enums, static imports, autoboxing nor wildcards in generic type information. Thus it is incompatible with the already released JDK 1.5.0 alpha and it will be incompatible with the beta once it is released.

    http://www.intellij.net/forums/thread.jsp?forum=22&thread=55399&message=656959#656959

    I don’t know if CodeGuide’s support for JDK 1.5.0 is any better though.

  47. Marcus Brito Says:

    Now, I didn’t expected this one from you, Hani. IDEA supports “logging breakpoints” for quite some time. It has always been there, just set a breakpoint and then edit it’s properties.

  48. Toy App Maker Says:

    “You fucks doing “Hello World” coding probably….” –Crackhead Developer

    Hey! Get your own show.

  49. Anonymous Says:

    Did somebody here actually check out the COdeguide debugger? Or is everbody doomed to stick with his strange IDEA?

  50. Ross Greinke Says:

    There’s only one feature of 4.0 that I’m looking for. CVS access via SSH without having to use SmartCVS or WinCVS and pageant (putty).

    Other than that, I’m quite happy with 3.0.

  51. programmer under the influence Says:

    hey crack head dev

    IDEA didn’t invent those features you find in Eclipse you dumb arse. Smalltalk and Visualage had most of that donkey’s yonks before you even first inhaled IDEA out the back of your crackwhore mum’s crackhouse. so quit with the hallucinatory substances and welcome to reality, dumbfuck.

  52. matt Says:

    “IDEA isn’t the pan et circus of development tools… it’s your mom’s dildo hidden way back where your father won’t find it!”

    Best Line Ever

  53. Clown Puncher Says:

    You only say that because it hits close to home….

    We all know what you did with your mom’s dildo, matt.

  54. matt Says:

    “We all know what you did with your mom’s dildo, matt.”

    ..hey, I was young.

  55. Anonymous Says:

    You don’t need to read javablogs.com to be convinced neanderthal mentality of the average Java programmer. The comments on this blog are evidence enough. Top marks goes the poster who tried to look clever by quoting Juvenal, but got the Latin wrong. Nice try, professor Ug!

  56. Gerald Bauer Says:

    Hani, you’ve lost the plot as usual. You need to realise that Java is *not* the way. Just ignore it.

  57. Daniel Says:

    Idea is powerful code editor, not a real IDE like JBuilder. I have to say that Idea’s code editor is much better than JBuilder, but for quick enterprise development, I think JBuilder and WSAD are much better. That’s why their prices are so different. I use both Idea and JBuilder for quite a long time, and I used Eclipse for 2 months, finally I chose JBuilder. If you have enough money and cares about enterprise application, JBuilder is your only choice.

Leave a Reply