Miscellaneous and Useless Information

Software development


Lately there’s been a bunch of initiatives aimed at making software development easier and more robust, by having programmers create and program in domain-specific languages, instead of general-purpose ones like C or Java. Examples include Intentional Software which was spun off from Microsoft Research, the Meta Programming System by JetBrains, and Software Factories by Microsoft. Martin Fowler has a good overview and commentary of this promising area in an article and follow-up blog entry.

Today I went to a Borland presentation on its Java development tool, JBuilder 2005. I hadn’t played around with it for more than five years, so obviously what I saw tonight was dramatically different. It has some slick support for developing and refactoring J2EE programs. For example, if you rename a class via refactoring, JBuilder is smart enough to not only rename any references to the class in other Java classes, but also within XML configuration files.

I was also interested in finding out more about JBuilder’s upcoming transition to Eclipse. I asked why Borland picked Eclipse over NetBeans. It all boiled down to the ecosystem. Even though JBuilder’s architecture is more similar to NetBeans than Eclipse, it would still be painful to move the code base to NetBeans, and the payoff wouldn’t be as great, because there is less third-party support for NetBeans than there is for Eclipse. Plus, Borland was actually a founding member of the Eclipse Foundation (although it didn’t became a strategic partner until this year), so they’ve been keeping an eye on Eclipse for a few years.

A little trivia: Borland has been in Scotts Valley, CA since its founding in 1983. In 2003, it started leasing office space in Cupertino City Center. Cupertino’s city government claimed that Borland was moving its headquarters to there, but Borland denied it. However, if you look at its web site now, its Scotts Valley address is almost nowhere to be found. Instead, it lists its “executive offices” as being located in Cupertino. But the listed phone number is the old Scotts Valley number!

Talking to the folks at tonight’s meeting, it turns out that most of the developer tools are still being developed in Scotts Valley, while sales, executive offices, and development for other products are in Cupertino. As for the headquarters… who knows.

In a move a lot less talked about than Mac to Intel, Borland announced that a future version of JBuilder will be based on Eclipse. This is good news both for Borland and Eclipse — Borland can focus its energies on building on JBuilder top of an IDE ecosystem, instead of trying to compete against one that’s free, and Eclipse gains that much more momentum. Every major tool vendor now supports Eclipse in some way, except Sun and Microsoft.

These last few blog entries have gotten quite technical; sorry to those not fluent in computergeekese.

The two features I find most interesting about Mac OS X 10.4 (“Tiger”) are not the ones getting the biggest hoopla, Spotlight and Dashboard. I’m more intrigued by improvements aimed at programmers. Core Data helps the developer manage the data within an application. Core Data, along with Cocoa Bindings, promises to make it much easier to write applications using the flexible model-view-controller pattern. Having just written a good-sized MVC app myself, I appreciate anything that makes it easier. The other feature I’m keeping an eye on is Automator, which allows end users to create their own scripts to automate tasks. Anything from renaming a bunch of files to rotating, cropping, and e-mailing a collection of photos is possible.

There has been a real lack of end-user programming tools built into operating systems lately; the last one was HyperCard, which was last bundled with a Mac in 1990. Windows had the primitive Macro Recorder, which simply recorded raw keystrokes and mouse events, and even that was removed from Windows when Windows 95 was released. So Automator is a welcome change. In some ways, Microsoft is moving in the other direction. It plans to include a new command-line shell and scripting language with Longhorn called MSH. That’s good for sysadmins, but doesn’t do much for end users.

« Previous Page