Development Tools

Some great software has been written with the most basic of tools. Simple text editors such as Notepad can do the job. Computer code is, after all, just structured text that is then interpreted or compiled to produce a result. That result can be data displayed on a local screen, in a printout, or stored in a file. Programmers who know their language intimately can be productive using any tools. The rest of us need help.

Modern programming usually takes advantage of IDEs (Integrated Development Environments) which assist the programmer in many ways. Code completion accelerates code writing and reduces errors. Refactoring allows changes to be made with internal integrity. Integrated database browsing and maintenance simplifies back-end data access. Links to version control allow graceful recovery and branching. Code builders and precompilers significantly improve productivity and reliability. These are just the most obvious tools within an IDE – there are many others, some common, some very language specific.

For Web and Mobile development the IDE is often determined by the language or target. Development for Apple products, for example, pretty much dictates that Apple’s Xcode be used. Microsoft encourages use of Visual Studio. Advanced text editors such as TextMate and Sublime Text are commonly used in Ruby on Rails development. For regular Web development, the most common platforms are Aptana, Eclipse, NetBeans, and JetBrains products. A current trend is to use Cloud-based IDEs such as Cloud9. Each has advantages and disadvantages. Some are “free”, others have a one-time or subscription cost. Most or all will support common frameworks such as Rails and Django, and the languages Ruby, Python, Java, JavaScript, C++, PHP, and HTML.

After trying most of the common IDEs, I have settled on the JetBrains product range. Starting with the free “Community” editions allows a programmer to get comfortable with the tools. If suitable, any single product can be purchased, or the entire suite. The pricing is very much structured to encourage purchase of the entire suite. The first year is a bit pricey, but subsequent years become quite reasonable. The subscription can be allowed to expire, and the current version remains active indefinitely. Simply put, the subscription gives one access to the regular updates and support.

Every development team has different needs. A careful analysis of current and expected needs should be undertaken early in the development cycle, and appropriate tools chosen early. A development tool suite which fits well to the development team’s needs will increase productivity, decrease frustration, and increase quality. Contact us at joe (you know what goes here) for (relatively) unbiased assistance in selecting the best tools for your team.