While developers can still write applications with a command-line compiler and a text editor (
vi flame war, anyone?), most programmers these days turn to an integrated development environment (IDE). An IDE can present a common user interface to all the tools in the developer's arsenal, from debugger to unit testing tools to source code management system. But with dozens of popular IDEs to choose from, which one is best?
For the third year in a row, Evans Data conducted a worldwide survey of developers' satisfaction with the features of various IDEs. The 2008 free report (registration required) compiles the feedback from over 1,200 developers. The results are based on experience, not hearsay; only users of an IDE were asked to rank the features of each IDE.
The goal, says the report, was to shed light on the different toolsets and characteristics of each IDE and to show the strengths and weaknesses of each. "The design philosophy behind integrated toolsets can differ significantly as vendors target different market segments and provide different capabilities focused on the needs of those segments," its author writes. But whether an IDE is an open-source tool or designed for enterprise use (or both!), it ought to fulfill and ideally exceed user expectations.
The IDE that most clearly achieved that goal is IBM's Rational Application Developer, which got the best scores from their users for the second time in three years. Its rankings were head and shoulders above competitor tools in user satisfaction. The next three IDEs in developer ranking are JDeveloper, Microsoft's Visual Studio, and Sun Studio. Other IDEs evaluated include Adobe Creative Suite / Macromedia Studio, Codegear's Delphi, MyEclipse and NetBeans. MyEclipse and NetBeans were at the bottom of the heap overall, though individual features had high satisfaction rankings.
The report also looked at the product attributes and features that matter most to developers. The IDE attributes ranked as most important are debuggers, ease of use and the performance of the resulting applications. None of these is surprising; every developer depends on a debugger to help identify and solve software defects, and an IDE that gets in the way won't last long on a development desktop (at least not if the developer has anything to say about it). Plus, since the point of all the programming is to create production applications, the code really ought to run fast.
The least critical IDE capabilities—relatively speaking—are the IDE's code profiler, sample applications, and the availability of third-party tools. The availability of third-party tools has decreased in value rather significantly, says the report, perhaps because buying complete "out of the box" solutions has become more popular during the last year.
Fifteen IDE features and capabilities were rated by the users, including quality of tech support, the size and quality of the developer community, and documentation. Each of the eight IDEs spotlighted are examined on those product feature satisfaction rankings. Delphi, for example, gets extremely high marks for ease of use, but very low ones for sample applications.