Tools That Teach Mustnt Overreach

Opinion: Developers must divide their attention between languages and environments.

This weeks sold-out Eclipse Summit Europe, in Esslingen, Germany, will include a presentation on the Topcased project, an effort driven by the French National Center for Aeronautical and Space Technology Research to construct "an open-source CASE environment [to] perpetuate the methods and tools for critical embedded system development."

The goals of Topcased include "high-quality open-source model editors supporting an integrated development process from system specification to product architecture and implementation," which sounds like a pretty good idea—but some eyebrows may rise when a reader encounters the additional goal, "Rely on the long-term structure of the academic world to ensure project continuity."

Im not saying that every contact between academia and industry is necessarily a collision, but these two communities are certainly known for having differing definitions of success.

When I see a software development tool being driven by higher-level goals—that is, by someones idea of how software should be written—Im at least as nervous as I am intrigued. In the very early days of the IBM PC, a Pascal development environment called Alice got a lot of advertising, with an iconic representation of a tall, intelligent-looking blonde who resembled an illustration from a Disneyfied Lewis Carroll story dressed up in a pinstripe suit. As I recall, though, the dominant theme of reviews of the product was that a developer who worked with Alice wasnt really learning Pascal (which was notionally the target language of the product)—but was rather learning the least cumbersome way to make Alice generate the Pascal that seemed to do what the developer wanted. No one seemed to think that this was ideal.

I had the same mixed reaction to last months announcement of the release of NetBeans/BlueJ, a version of the NetBeans open-source Java environment that incorporates elements of a university-driven research project aimed at teaching object-oriented development. The Java-oriented BlueJ is derived in turn from Blue, an academic language that is as purely object-oriented as a language can get.

Personally, Im much more interested in the kind of innovation that I see from Genuitec, with its continual efforts to deliver open-ended Java development capability in the interesting and cost-effective MyEclipse subscription model. Im interested in new offerings like TeamCity, introduced this month by JetBrains to provide a flexible but comprehensive foundation for team development efforts.

I dont dismiss the well-informed comments of someone like Sun VP/Fellow James Gosling when he expresses concern that students learning programming arent getting training thats either effective or relevant to their future work. On the other hand, Ive never seen anyone learn programming without a good reason—that is, without a problem they really wanted to solve that a cleverly written program would solve.

I like to think of programming environments as workshops that enable learning, not as classrooms that impose it.

Tell me what your favorite tools have let you learn at


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