September 93 - Office Memo: Tools USA Report
Office Memo: Tools USA Report
In 1988 Bertrand Meyer published one of the landmark books on object-oriented development, Object-oriented Software Construction. In this excellent book Dr. Meyer presented most of his principles and examples using an object-oriented language called Eiffel (we expect to have a technical overview of Eiffel in FrameWorks in the near future). At about the same time, he also started a company called Interactive Software Engineering. ISE became the first company to offer a commercial implementation of Eiffel.
Several years later, ISE is still hard at work selling Eiffel and Eiffel tools all over the world. In addition, there are two other commercial implementations of the language, an independent Eiffel Standards Group, a Consortium of Eiffel users, several additional Eiffel books, a quarterly Eiffel publication, and finally, the Tools conferences. ISE organizes and hosts three different Tools conferences every year: Tools USA (which I just attended in Santa Barbara, CA, an excellent location for a conference), Tools Pacific (to be held in November in Melbourne Australia), and Tools Europe (early March in Versailles, Paris, France). Tools Pacific and Tools Europe are reputed to be the largest object-oriented conferences in Australia and Europe.
Tools USA consisted of two days of tutorials, two days of keynote speakers intermixed with paper presentations, a special OO education symposium, followed by a one-day Eiffel conference. I attended the first four days. There were more than 200 attendees from all over the world. Because of ISE's sponsorship, there was quite a bit of Eiffel praising and C++ bashing (which I found refreshing after the market blitz being exhibited by C++ champions during the past year or so). And, I have to admit, the Eiffel advocates were generally fair and unbiased about Eiffel's strengths and weaknesses.
There were five separate tutorial tracks covering technical and management topics, and case studies. Many were taught by leaders in the field. For instance, Dr. Richard Wiener, editor-in-chief of the Journal of Object-Oriented Programming, did a detailed, four-hour comparison of C++, Smalltalk, and Eiffel. At the risk of trivializing his work, he summed everything up very nicely by stating that Eiffel is great for design, Smalltalk is great for prototyping, and C++ is a good choice if you have serious performance requirements. He didn't really discuss combinations of languages (such as Eiffel with C++ for those code sections where you really need to optimize things).
Most of the keynote speakers also did an excellent job. Roger Osmond, Director of Software Engineering for Bytex Corporation, presented a very strong case study for OO technology (specifically Eiffel) to develop a mission-critical network management product. Unlike much of the conventional OO wisdom which counsels introducing OO technology with a non critical project, Bytex started with a high-risk "bet-the-whole-company" project. His very funny keynote discussed the differences between their expectations and the realities of what happened. The punch line is that they completed the project on time, saved the company, won a bunch of awards, and lived happily ever after. As a reward, Roger gets to go around to conferences and tell his story.
Roger also gets the award for the best C++ slurs (these are direct quotes). This is good stuff:
- "C++: stop it before it kills again."
- "C++ is an object-tolerant language at best."
- "C++ will bring about the next software crisis if we use it without restraint."
- "C++ is the lead rat at the front of a pack of lemmings that are racing towards the cliff at the edge of the sea" (this is somewhat paraphrased-I couldn't write fast enough).
The other outstanding keynote was by Meilir Page-Jones, a well-known consultant from Wayland Systems who specializes in introducing OO technologies into organizations. Based on the title of his presentation ("Object-Orientation: Management Implications") I thought it would be pretty boring. As it turns out, he is both well informed and entertaining. To start things off, he outlined the most popular reasons why a software development manager decides to introduce object-oriented technology into an organization:
- because it's the latest thing
- because they read about it in BusinessWeek
- because their boss's boss read about it in BusinessWeek
- because the programmers want C++ on their resumes
- because the user want icons and a mouse
- because the competition is using it
- because they went to a talk by Bertrand Meyer
- because structured techniques don't work
- because information engineering doesn't work
- because C++ is a better C.
He went on to do a good job of discussing the complications of managing large-scale OO development projects.
The Lead Rat–Gene Wang?
The other keynote I was very interested in hearing was Gene Wang, Symantec's new software development executive (you know, the one who is being sued by Borland for alleged theft of trade secrets). Since this guy has stirred up so much controversy, I expected him to be a very interesting speaker. Unfortunately, it was more like the kind of high-level overview that a software company presents to a marginally technical Wall Street crowd (in all fairness, there were lots of slightly entertaining animated graphics that the financial analysts would probably not see). Let me summarize his slides: there are serious problems with software development tools; Symantec is on top of things and is creating the coolest tools imaginable; C++ will win the language wars; Symantec will win the C++ wars. The Tools USA crowd bought this stuff about as well as a MADACON crowd would.
Gene did talk about Bedrock, but he said nothing that hasn't been said before. He called it a "research project" that had been going on for years. That's scary–it implies that there may not be a commitment to a real commercial-level product (maybe I'm reading between the lines too much). He also mentioned that Symantec will be coming out with a new C++ compiler this summer, while flashing a slide of some Windows' windows on the screen (how's that for a subtle nonproduct announcement). He didn't mention the current crop of problems with the new C++ products that make it impossible to use MacApp (or the Booch Components, or QuickApp, or ...) with Symantec C++ for the Mac. Being an out-of-town visitor, I didn't ask).
Here are a few highlights from the question and answer portion of Gene's session:
- with the new safety mechanisms in C++ (he didn't say which ones) and new tools designed to help detect memory leaks (again, no details), automatic garbage collection is not really an essential language feature any more;
- regarding exception handling in the new Symantec Macintosh compilers–they're working on it;
- regarding Dylan–C++ is an excellent language that will eventually migrate to PDAs, Newtons, and all other types of machines out of sheer momentum;
- the unique strengths of OO languages like Smalltalk, Eiffel, and Lisp/CLOS will eventually migrate to C++, making it the clear winner; the other languages will never be more than niche curiosities.
For a crowd that was looking for bad things to say about C++, Gene didn't make too many friends. Although he's might be right about the sheer momentum of C++, at least in the US, he also made me think about the people riding the lead rat at the head of the lemming pack mentioned by Roger Osborn. These are not pretty pictures (imagine what the Eiffel-philes in the crowd were imagining).
My Summer Vacation
So, that's what I did during my summer vacation. Let me summarize my findings:
- It's good to get out of town and into the California sun at least once a year.
- I'd rather go to Santa Barbara than Boston (I knew that before I went).
- It's good to spend time around other object-oriented enthusiasts especially if they have different biases and don't listen to a lot of market hype.
- Eiffel is an excellent language (I knew that ahead of time as well, I just didn't know it had so many evangelists) with some real advantages over anything else available.
I hope your summer vacation was as much fun.