Last year's Borland Developer's Conference was filled with the fanfare of sneak previews, corporate acquisitions, and an "upsizing" message targeted at corporate developers. Shortly thereafter, Borland hit a wall. Profits slipped, Borland founder and industry icon Philippe Kahn resigned, and a reorganization left many wondering if Borland could continue casting stones at the glass houses in Redmond.
Indeed, there were many questions on attendees' minds at this year's Sixth Annual Borland Developer's Conference in San Diego, California. But in the end, they seemed to walk away with a sense of commitment from a leaner, meaner Borland that's focusing on a core line of software tools - Paradox, Visual dBase, Borland C++, and Delphi.
As with last year's conference, Borland used the venue to announce something new - Delphi-32, the latest in the Delphi family line. An informal show of hands in one session indicated that more than half of the developers attending were interested in Delphi, Borland's visual Pascal development environment. As you might expect, interest came largely from the database and client/server development camps. I was surprised, however, by the number of C and C++ programmers peering over the fence. What intrigued attendees was a 32-bit version of Delphi, which will include new language extensions, an optimizing code generator, the ability to generate .OBJ files, a 32-bit version of the Borland Database Engine, OCX support, and support for Windows 95 controls. Delphi-32 is expected to ship within 90 days of the commercial release of Windows 95.
C++ programmers had good reason for listening in. Many of the new code-generation features, as well as improved error messages and diagnostics, come from a compiler back end common to Delphi-32 and Borland C++. Many optimizations (register optimizations, for instance) are geared for speed and are performed implicitly by the compiler. In this case, the compiler stuffs frequently used parameters and variables in CPU registers to reduce the number of instructions for access. Placing parameters in registers also eliminates the need to store temporary values in a stack frame. In addition, the compiler analyzes variable usage and reuses registers wherever possible. Other optimizations include common-subexpression elimination and loop-induction variables.
In one of the more unusual keynotes I've heard, object-methodology pioneer Peter Coad conducted a game-show-like presentation entitled "The Object Game," which focused on design patterns. Despite the corny format, the presentation was interactive, soliciting feedback from the audience, and Coad kept the attendees riveted. The show, er, talk, was based on a chapter from an upcoming book by Peter Coad, David North, and Mark Mayfield entitled Strategies and Patterns Handbook (Prentice Hall). Coad describes discovery of design patterns as a process of defining four key areas of a system: purpose and features; objects; responsibilities; and scenarios.
According to Coad, a designer should ask "why now?" when describing the system's purpose, and objects should focus on the problem domain. Interestingly, he contrasts this approach with that of tools like Delphi and Visual Basic, which are forms based, and thus hide the business rules within forms. Responsibilities involve describing "what I know, who I know, and what I do." Coad describes scenarios in terms of the interaction within a problem domain.
Borland's conference sessions were well thought out, and Borland continues to attract quality speakers. The Borland C++ sessions featured many well-known speakers including Bruce Eckel, Pete Becker, and frequent Dr. Dobb's Journal contributor Al Williams. In the Delphi sessions, Jeff Duntemann discussed Internet publishing and Ted Faison presented a class on extending Delphi through DLLs.
Between conference sessions and keynote addresses, there was time to spend on the exhibit-hall floor. Overall, there seemed to be fewer exhibitors this year. Blue Sky Software was showing off its latest version of WinMaker Professional and a suite of Windows Help development tools, which now includes Windows 95 support. The WinHelp Office suite, which consists of RoboHELP, the WinHelp Tool Kit, WinHelp Video Kit, and WinHelp HyperViewer, is a must for any professional Windows developer. Turbo Power Software, a long-time Borland third-party developer, was showing off Orpheus, a slick library of visual components geared towards data entry, as well as its new serial communications component, Asynch Professional for Delphi. Other notables on the show floor included Novell, IBM, MKS, Intersolv, and Poet Software.