Is an IDE all it’s cracked up to be?

Tuesday September 12thFreeware, Linux, Microsoft, Software Development, Technology Category

Have the days of writing code in VIM ended? Is Emacs ready to be put to bed? Are we destined to spend the rest of our development lives heads-down in a bloated and expensive Integrated Development Environment (IDE)?

IMHO, this argument is very much a Linux vs Windows style argument.

To those long term VIM and Emacs users, there’s no reason to go an IDE like Visual Studio. Both of those editors are customisable, flexible and support a plethora of plugins and utilies. They even support a scripting language which lets you add your own special functionality. While it may not be supported “out of the box”, you can have features such as intellisense, debugging support and source code browsing. They both work on lots of platforms - actually, they’re usually installed by default on quite a few Linux distributions. They also cost you nothing, zip, nada, nought and stuff all. I this this last point tends to be a winner - especially to those in the open-source and free software camps. The power of these applications is not to be underestimated - there’s little they can’t do or can’t be made to do.

To those long term IDE junkies who have lived their lives in Visual Studio and/or Borland IDE, the comfort of the tool coverage in a single window is something that can’t be missed. The IDEs contain a plethora of information and features - source browsing, project support, generation of makefiles, in-built debugging with call-stack and memory views, intellisense, SCM integration, etc. Some even make the tea!

Well, not really.

So who wins? What’s the point of going for one instead of the other? Of course, my list of editors and IDEs is far from exhaustive, but the ones mentioned are the ones that most people will know about and have an opinion on (so you’re by no means constrained to this pitiful list! :)).

One of the things that stands against the likes of VIM and Emacs is that they’re both very tough to learn. Initially, the interface and shortcuts are very hard to grasp, and it feels like it takes an ice-age to get anything done. Time is something that is required to fully realise the power of these tools. IDEs tend to be a lot more intuitive (note the word tend), and people are generally able to get up to speed with using them in a fairly short period of time.

Personally, I can see a lot of value in both. I try to do development work on a variety of platforms (my current targets are Windows XP x64 / x86 and Gentoo Linux AMD64), which doesn’t make an IDE such as Visual Studio an option for me despite the fact that it does make debugging applications an absolute breeze. I (try to) use VIM as much as I can but I find myself getting frustrated because I’m still not yet at that point where I don’t have to think about the shortcuts before I use them. I also find that since I’ve had to use Visual Studio so often in my day job as a contractor that I’m very used to this IDE as a development tool, which again makes me frustrated when dealing with VIM as I know I’d be able to use Visual Studio a lot quicker.

This isn’t putting me off though. I know from dealing with so many different people at work that VIM really can give you a huge productivity boost. This reason alone is enough to make me continue trying to learn it, although I’m sure there are many others. I like the idea that I can have a single editor that I’m familiar with that works on any development platform that I might find myself using - and not just a single editor, but one that has a great deal of power (as opposed to the likes of nano).

So where am I goingn with this rant? The answer is simple - where is the editor that encompasses all these features? Why am I yet to find an IDE with the text-editing capabilities of VIM? Yes, I’m aware of some psuedo-plugins that make VIM work in Visual studio, but it just doesn’t nail it. We need a cross-platform IDE that contains the power, speed, and text-editing capabilities of VIM, and the ease of debugging that comes with Visual Studio.

My image of a development studio might seem a little skewed, in fact I can’t really picture in my mind what would make an IDE the perfect IDE. This guy attempted to put his thoughts down on paper on what things should be like in the future, but I’m not sure he’s nailed it.

What I do know is this - we have a long way to go before we get to development tool utopia. VIM and Emacs do lack some of the development ease of Visual Studio with regards to debugging, and on the flip side Visual Studio’s text-editing just bites compared to the power of VIM/Emacs. I hope that someone somewhere somehow manages to bring it all together - as that means I don’t have to do it :)

If any of you have any thoughts or links on the text editors and development environments you use and feel are good, then I’d love to hear about them. Until I find something more worthy, it’ll continue to be VIM and Visual Studio for me :D

2 Trackbacks/Pingbacks

  1. Pingback: OJ’s rants … » Blog Archive » Finding Productivity Utopia on September 18, 2006
  2. Pingback: OJ’s rants … » Blog Archive » An IDE Follow-Up on September 20, 2006

4 Comments

  1. dan
    September 13, 2006

    Notepad++ :) or jEdit. That’s all I use. Of course, I don’t do anywhere near the development you do - however I do like their cut-down yet scalable nature. Worth a look.

  2. OJ
    September 13, 2006

    Aye, I’ve heard of those lads before, and I’ve played with the both of them. When I first saw jEdit in your post the first thing I thought was “slow!”, but then I realised I’ve talked about using Visual Studio which arguably is a lot slower :) What I do think though is that for a text-editor without the bells and whistles of an IDE, jEdit takes too long to load (probably thanks to the JVM). I haven’t looked at it for a while, so it may well have improved a lot. Perhaps I’ll give it another look when I get my Gentoo & Ubuntu installs up.

    I remember you mentioning Notepad++ to me a while back, as have a few other dudes. I’ve not checked this one out yet. From what I remember, this appliaction is Windows only, right? I can’t help but notice that from the screenshots (again, which I looked at some time ago) that it looks like it uses scintilla. Not that I have a problem with that :) But it does beg the question, “Why not use SciTE?”

    Edit: I just had a quick look at the Notepad++ site.. and it said this:

    This project, based on the Scintilla edit component (a very powerful editor component), written in C++ with pure win32 api and STL (that ensures the higher execution speed and smaller size of the program), is under the GPL Licence.

    So, I guess I was right :D

    Thanks for the feedback!

  3. Keef
    September 19, 2006

    Games development (particularly for consoles) kinda forces you down the Visual Studio path (though I’d probably break NDA to describe the tools or SDKs here).

    However, that’s no excuse for not knowing Visual Studio inside out.

  4. OJ
    September 19, 2006

    I agree with you there. Visual Studio sure does appear to be a bit of an industry standard, and that’s not just in game development. But that doesn’t mean to say that there aren’t any other options. CodeWarrior seems to cover a massive amount of platforms (I haven’t used it before), and there’s always Borland :)

    One of the bits things about this is that Visual Studio seems to have the best supporting toolset for building game software out of the IDEs that I have seen, and I think that’s why the game developers will tend to stick with it. Not just that, but lots of the game development middleware companies (such as SN who built the/a PS2 compiler) tend to write their tools in such a way that allows for easy use inside Visual Studio. Then there’s other plugins like Incredibuild and VisualAssist which again work with Visual Studio.

    I guess it becomes a bit of a no-brainer for most developers at this point :) It’s Visual Studio, or it’s a constant fight getting a large amount of supporting tools to behave.

    *… waits for the abuse from the Linux advocates …* :)

Leave a comment

Size

Colors