The Artima Developer Community
Sponsored Link

Thinking Upside Down
Object Master & the classic beauty of the Smalltalk Browser
by Andy Dent
May 13, 2006
I recently had reason to work on some code a few years old and used Object Master and an older CodeWarrior IDE. I'd forgotten how much more productive coding could be with the assistance of a Smalltalk-style 3-pane browser. Here are a few points I've picked from my revisit.


I stopped using Object Master when I started using namespaces regularly because it was never upgraded to support them.

However, apart from the blazing speed (on an old 400MHz Mac with 144MB RAM) there are so many things that I still found useful I thought it was worth capturing a list of these goodies.

How it Works

Object Master parses your code, in either plain C, C++, Object Pascal, Modula-2 or Java and builds an internal representation caching its object-oriented representation of your code. This parsed representation is saved back into the files - it is an editing environment as well as a browser.

It groups C functions into "classes" based on their file membership and obviously follows the OO logic of other languages.

It is dumb as far as C macros go and requires you to manually define them. There are shortcuts to make it relatively easy to define the complex macros such as used in MFC and preloaded standard sets so this doesn't actually amount to much work.

Where the ability to hand-define macro meanings becomes very useful is in the area of speed and smart presentation, as noted below.

The browser window, of which you can create many, is a typical Smalltalk-style browser with a triple pane presentation of classes, methods and member variables, with a code area underneath.

Things Object Master does Very Right

This is a list, in no particular order, of the things that have impressed me in the last few weeks as I revisit Object Master. This is after years of using XCode, CodeWarrior, Visual Studio (up to 2003) and Eclipse (for C++ and Python, no comment on Java tools).

Whilst it also has strong project, makefile and source-control integration, the target environments are long-since outmoded and now therefore mainly irrelevant.

For browsing old code, I still found these features useful and depressingly better implemented than in any of the environments I'm using elsewhere!

Object Master History

I reviewed an older version in MacTech magazine so you can look at some pretty pictures and read the full review: [Dent94].

Version 3 did come out with all the things they promised include a Windows version that still runs very nicely under Windows XP.

However, the codebase had major cobwebs. It was originally written in MacApp v2 which used Object Pascal (the elegant, lean Apple variant developed in consultation with Wirth, nothing to do with Borland).

It was ported to MacApp v3 using a conversion tool to convert it to c++ (I think) and then the Windows version created using a product Mac2Win from the same company that acquired the rights to Object Master.

As the c++ standard loomed and became dramatically harder to parse, with the new casts, heavy use of templates and namespaces, a business decision was apparently made that updating the parser was not going to be cost-effective. I don't really know - I think it was a one-man product all those years and maybe the resident genius just grew tired, left or suffered some less-desirable fate.


Talk Back!

Have an opinion? Readers have already posted 5 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Andy Dent adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Andy is a free-lance developer in C++, REALbasic, Python, AJAX and other XML technologies. He works out of Perth, Western Australia for a local and international clients on cross-platform projects with a focus on usability for naive and infrequent users. Included in his range of interests are generative solutions, software usability and small-team software processes. He still bleeds six colors, even though Apple stopped, and uses migration projects from legacy Mac OS to justify the hardware collection.

This weblog entry is Copyright © 2006 Andy Dent. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use