If I said that integrated programming environments are mixed blessings, any developer who started work in the past 15 years might look at me oddly and say, “Compared to what?”
Most developers probably feel that their choice is between one integrated environment or another. The idea of using entirely separate tools—an editor from one vendor, a debugger from another and compilers from other vendors still—is foreign to most developers working today.
Im having a discrete-tool flashback, though, as I contemplate the grand unifications taking place in various development realms. From JetBrains, for example, theres IntelliJ Idea 5.0 for Java: It edits the HTML page, the JavaScript that animates that page, and the Java code behind the page, in a single environment and using identical keystrokes for similar operations.
Microsofts Visual Studio 2005 likewise unifies writing and debugging of managed code and its user interface, whether on a Windows client or a Web browser or a wireless telephone.
Visual Studio 2005 goes on, moreover, to incorporate database development and the customization and extension of productivity applications into the same [insert favorite noun here].
I couldnt decide what noun to put at the end of the previous sentence because any word that I might choose is going to carry factional overtones. If I use a positive term such as “vision” or even a neutral word such as “structure,” that sounds like approval.
If I use a more colorful label such as “big giant hairball,” Im accurately expressing my concerns but also fanning the flames of anti-Microsoft jihad—and I have enough respect for the quality of what the company has accomplished that I dont want to be part of any such flamethrower-fest.
Im therefore glad to see continued innovation from companies such as Compuware, Parasoft, Agitar, Telelogic and Enerjy, all of which cross my radar often with significant improvements to their tools for code analysis and quality assurance.
Generating tests automatically by observation of the running code, testing complex and heterogeneous Web-based applications in a dynamic end-to-end manner, and compiling and applying local experts knowledge of coding rules and practices that have made the difference between success and failure: All of these are the kinds of contributions that I want to keep seeing from players like these.
None among us should claim to have a complete and accurate vision of what IS can be. It took six blind men to walk around an elephant and get complementary ideas of what was there, and none of them was entirely right—but each of them characterized something that the others had not.
Id rather work with incomplete but complementary views than accept the bullet point on a recent Microsoft briefing chart that read, “One tool, one framework, one programming model.” No, I dont think so.
That latter slogan sounds a little too much like the speech by the big giant talking head in the classic Apple “1984” commercial: “Our enemies shall talk themselves to death, and we will bury them with their own confusion.”
Yes, one could argue that this is exactly whats happening, and my problem with that is not a matter of whos good or whos evil. Its a matter of maintaining multiple perspectives in pursuing multiple goals.
No matter how good any all-singing, all-dancing workbench might be—and some of them are extraordinarily good—I hope that enterprise development managers will keep more than one tool close at hand.
We may never have an Underwriters Laboratory for development tools that can certify them as suitable for safe use in critical situations, but my use of tools from multiple vendors helps to shine a flashlight into the shadowy areas of specifications and the corner conditions of how a tool should handle tricky situations. Trust, as they say, but verify.
Whatever application model well be using a year from now may not yet be well-defined—its too much to hope that the perfect tool for doing it is already here.
Technology Editor Peter Coffee can be reached at peter_coffee@ziffdavis.com.