Category Archives: Software Engineering

From Wikipedia: Software engineering (SE) is the profession concerned with creating and maintaining software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields.

Hot Jazz vs. Cold Beans

Honestly, this title sounds offending but I’m definitely not a guy who likes to start a flame war. It’s just a funny title we came up with in a typical EclipseCon night. πŸ˜‰

Well, I’m referring to the BOF yesterday held by John Wiegand, Erich Gamma and IBM Rational. Jazz is a technology that wires all the processes, artifacts, policies and systems involved in software development into Eclipse.

It really simplifies the whole process greatly. It also uses ECF technology to enable live communication between developers. Other technologies involved where Tomcat, Cloudscape, EMF, GEF (Draw2D) and CruiseControl. They also explained that they imported tasks/bugs from Bugzilla. However, it’s not tight to these technologies because Jazz is extensible and everybody – commercial software vendors as well as open source developers – are invited to extend it and to integrate it with their technologies. Continue reading Hot Jazz vs. Cold Beans

I hate provisional API

Eclipse puts provisional API into internal packages. I think this is really distracting. Why? Well, provisional API should encourage early adopters to support upcoming features. Great. But what do they get from adopting an API that will be moved to some other package in a later point of time? Right, their adoption breaks and the users of their plug-ins are stuck to an older Eclipse release.

This now happened to me with the Borland StarTeam integration. The developers adopted to the ResourceMapping support introduced in Eclipse 3.1. Actually this should bring the plug-in some benefits in handling model objects that are backed by multiple resources. That’s a great idea but now I’m stuck to Eclipse 3.1 and can’t use 3.2 M5 anymore because the package name of the Resource mapping support changed and the plug-ins can’t be started anymore due to a java.lang.NoClassDefFoundError: org...internal...mapping.ResourceMapping. This reduces the intendence of the adoption to absurdity. Even a match="greaterOrEqual" won’t help in this case.

Unfortunately, the StarTeam integration is closed source. Thus, I can’t go an fix this stupid error myself. I probably have to wait till long after Eclipse 3.2 has been released to get an updated. πŸ™

And at the end? Nobody will get any benifits. Users are stuck to an older technology or need to drop the Team integration completely. The adopters appologize and may consider not adopting next time. And the developer will get no feedback about his API because there won’t be any volunteers anymore. πŸ™

Update 2006-08-17:

I’ve written a plug-in for Polarion’s SVNImporter. It allows you the migrate from StarTeam to Subversion. The code is available here.