Over the years, I’ve worked with many programming languages in many different environments, but one theme that’s been common throughout is that we’ve always needed some means of creating some kind of source file. This has often been a simple text editor such as vi or emacs on Unix, or Notepad on Windows. If we’ve wanted something more advanced from a graphical perspective, it might be something like Notepad++. Whatever editor we chose, all it did was helped us to write and edit code in the most efficient manner possible.
I’m all for efficiency, and when presented with any form of traditional text editor, I’ve always strived to use it to as completely as possible, in order to maximise the benefits that I could reap as a programmer. However, they were always still just editors.
At some point in my career, I started using Visual Basic and Visual C++ (prior to the full Visual Studio offering) and was amazed about the way the editor was aware of what I was doing. It seemed to know what I wanted to type, so would make helpful suggestions. It also knew when I’d messed up and pointed out the errors to me. These things were great, but at the time I only linked them to “Visual” development and didn’t fully appreciate the overall advantage.
The IDE Advantage
Nowadays, I look for an IDE (Integrated Development Environment) for all of my programming. Not only can I expect a great text editor, I also get things such as:
- Context sensitive autocomplete
- Syntax highlighting
- Syntax Error highlighting, usually via Lint integration
- Test framework integration
- Project management
- Build/Release management
- Integrated Debugging (usually including breakpoints and variable watches)
These things taken together enable me to produce better quality code on tighter timescales, with a higher degree of confidence.
In addition, IDE’s are a great way to help new programmers get up to speed quickly – particularly with code with which they’re not familiar. The same goes for more experienced programmers who may be picking up a legacy codebase or having to work in a language in which they’re not so experienced.
In most programming languages we have the choice of whether to use an IDE or whether to rely on the outdated text editors. For some languages, it’s obvious what we should use – Visual Studio for Visual C# code, Xcode for iOS development, for instance. However, for other languages we often have to go looking for an editor. In these cases, I usually find that Eclipse with an associated plugin will cover what I need. For example:
- Java – Eclipse handles out of the box
- Python/Jython – PyDev plugin
- Perl – EPIC plugin
- PHP – PDT plugin
- COBOL – Visual COBOL plugin
In each case, the tools available within Eclipse enable the savvy developer to dramatically increase their productivity and in many instances, to reduce their stress levels!
Don’t you owe it to your developers to find out whether an appropriate IDE would help them to help YOU improve your software delivery process?
Let me know your thoughts in the comments below!