Is Developers Tool Choice Rational(ized)?

Opinion: Goals should shape tool choice, not the other way around.

As several thousand developers head for Orlando to attend this weeks IBM Rational Software Development Conference, Im trying to get used to the idea of an IBM Web site using a turn of phrase like "cranking the volume up to 11, so you can hear whats shaking." Its hard to believe that this is the company that used to promise us things like "a conceptual model that describes software structure in a generic way and provides a coherent organization of function." Im not entirely sure that the companys new groove is an improvement.

On the other hand, IBM is probably entitled to express itself to developers in whatever way it prefers: Despite the high profile of Microsoft among mass-market software developers, IBM claims to have led the tools market in revenue for five straight years, with Microsoft in second place at half of IBMs tool revenues.

Of course, Microsoft may not judge its success in tools by how much money those tools bring in, but rather by their success in attracting talent to the Microsoft platform. I once asked Microsoft research manager and genuine development guru Jim Gray if Microsofts tools were expected to generate the same kind of margins as other Microsoft products, or if the tools group was merely expected to cover its overhead while serving strategic developer engagement goals. "Thats a good question," he replied, but thats as far as his answer went.

I vented in a recent blog post on the subject of whether taxpayer-funded software development should make a point of using only standards-based tools for nonproprietary platforms: This led to some dialogue among our blogs readers on whether I was (i) taking a cheap shot at a government agency that had made a rational choice of a productive tool set or (ii) accurately identifying the political nature of the process by which tools are chosen. Ill admit that Im of two minds myself. Ideologically, I want to see school kids with Macs or Linux boxes being just as able to use a NASA-developed learning application as students in Windows-equipped classrooms. Practically, and as I acknowledged on the 20th anniversary of Windows late last year, Ive seen technical tasks dramatically aided by the availability of useful and free applications that might never have been written without the leverage of inexpensive tools for a ubiquitous desktop client.

To argue against myself, though, Ive also taken a good hard look at how the world of end-user computing might have evolved if Windows had been less effectively marketed, and if broadly licensed standards from many vendors or open standards created by the community had instead become the definers of how we develop and deliver. I believe its possible, and smart, to choose development tools and practices that reflect the common subset of technology thats available to almost every user: a "subset" that is today an enormous superset of what we once thought was pretty darn good.

Tell me how you make these choices at


Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.