Goodbye, My Friend

I guess the other shoe has finally dropped at Borland. Chief Scientist Danny Thorpe has left. He jumped ship for Google in December. I received the news with mixed emotions. On the one hand, it’s a terrible, perhaps fatal, loss for Borland. On the other, Danny’s my friend, and I’m happy about the new opportunities Google might have for him – opportunities that realistically he would never have had at Borland.

As a long-time friend of the company, it’s been hard for me to watch Borland slowly die over the years. For a company that was once one of the brightest stars in Silicon Valley, Borland has stolen defeat from the jaws of victory more times than I can count. One corporate misstep after another has virtually doomed them – so much so that I wonder just how much longer they can go on. People have predicted Borland’s demise before, but I think this time their number may finally be up.

"What missteps?" you ask. I’m glad you asked that question. Personally, I think the first sign of something amiss at Borland was back in the 80s when the company parted ways with Niels Jensen. Niels helped found Borland in Copenhagen in 1979. In 1987, he and most of the language development team left in what he called a "disagreement over compiler quality." I never knew the whole story, but the promise of Niels’ work in subsequent ventures always made me wonder about the wisdom of letting him get away. After leaving Borland, Niels founded JPI, makers of the TopSpeed line of compilers and language products. Some of you old-timers no doubt remember them. The coolest aspect of the TopSpeed stuff was that it featured a unified IDE for all of JPI’s languages: C/C++, Pascal, Modula-2, etc. The object files produced by these compilers were interchangeable. Each compiled to an intermediate format that was cross-compiler and cross-language compatible. You could freely mix and match languages within a project to your heart’s content – playing to the strengths of each as you saw fit. Can you say "IL," anyone? And this was in the 80s, more than a decade before VS.NET shipped.

The next Borland misstep was the giant pile of poo it stepped in when it bought Ashton-Tate in a leveraged buyout in 1991. Some of you no doubt remember Ashton-Tate and its dBase line of PC database products. dBase had taken the world by storm in the early 80s as the first widely-used DBMS product for the PC. Numerous clones, compilers, and alternatives emerged thereafter (e.g., Clipper, Quicksilver, FoxPro, Force, Paradox, etc.), and these eventually eclipsed dBase as the tool of choice for PC database work. By 1991, Ashton-Tate had squandered what lead it had had in the PC DBMS market by spending its time suing people instead of innovating. It was a dead company, and Borland already had Paradox, which it got when it bought Ansa in 1988, so many of us wondered what exactly they were doing when they mortgaged the company’s future to acquire Ashton-Tate. I personally couldn’t see what they gained for all the debt and ill-will they acquired from the merger.

There’s an apocryphal story about Borland persuading Ashton-Tate to agree to the buyout by showing them a half-done version of "Turbo dBase" – a dBase compiler they never shipped. If true, that’s pretty hilarious given that dBase compilers were old news by the time 1991 rolled around. Besides, Ashton-Tate already had its own. It was codenamed "Jupiter," and they showed it to me in 1989. I had written a programming environment that provided an integrated editor and compiler/linker execution environment for virtually any PC language product. Most compilers at the time were command-line tools, and my software complemented them with a full-featured development environment along the lines of the Borland Turbo environments. It already supported all of the other dBase compilers, and they wanted me to add support to it for Jupiter. I was nonplussed with the demo they gave me – the compiler barely worked and produced code that ran no faster than interpretive code running under dBase itself. Worse yet, the beta they gave me to try out had a propensity for ruining hard drives, so the diskettes it came on carried a warning advising testers to "install the software on test machines only – this software may corrupt your hard drive." Like most people, I didn’t have a machine on which I could really afford to lose the hard drive, so I never installed it. Thanks, but no thanks, Ashton-Tate. I think I understand why you wanted to sell the company; I just can’t understand why Borland wanted to buy it, Philippe Kahn’s ego notwithstanding.

Borland never really recouped the huge investment it made in Ashton-Tate. They bet the farm on the merger and lost. The purchase sucked the life’s blood out of the company, and they struggled even to turn a profit thereafter. Today, they sell none of the products they acquired in the merger.

The next big misstep was letting Anders Hejlsberg get away from them. Anders, the creator of both Turbo Pascal and Delphi, was Chief Engineer at Borland for many years and widely regarded as one of the top developers in the world. For whatever reason, he left Borland for Microsoft in 1996, and Borland has never been the same since. If you ask me, if they wanted to mortgage the future of the company on something, keeping Anders should have been it. They should have done whatever it took to keep him (perhaps nothing would have – I dunno), but they didn’t, and the rest is history. It was a great gain for Microsoft (and I think for the industry), but it was a terrible loss for Borland – one from which I don’t think they ever really recovered.

Moving on down the list, I suppose I could detail what a misstep the "Inprise" gaffe was, but, as Garry Wills said of John Wayne’s movie portrayal of Genghis Kahn, that whole fiasco is best passed over in silence. Even now, I look back at that time in Borland’s history and just shake my head.

Over the years, Anders’ departure was followed by the exodus of several other topflight engineers including Chuck Jazdzewski (Anders’ successor as chief architect of Delphi) and, now, Danny.

Danny and I first got acquainted in the early 90s when I called up a VP I knew at Borland and told him about a product I really thought they should consider building. I told him I liked the visual development paradigm presented by "this new Visual Basic product," but hated the BASIC language and, given that I was a long time fan of their Pascal products, wondered whether they’d considered creating a "Visual Pascal" of some type. Turns out they had, and they were already well along with it. The next day, a fellow named Danny Thorpe called to tell me about this new super-secret visual development environment they were building for Pascal. Originally to be called "Borland Pascal 8," and codenamed both "Mango" and "Wasabi" at various times, this was exactly what I was looking for. Danny sent me some diskettes with handwritten labels (which I still have), and I began alpha testing what eventually became the first version of Delphi. This was 1993.

I did wonder about the wisdom, from a business standpoint, of targeting Pascal with the product. Even then, Pascal seemed to be a dying language. The one-time jewel of PC development products was quickly falling behind both VB and C/C++ products (and, eventually Java) in terms of sales and market share. I loved Pascal then (and still do), but questioned the wisdom of betting the company on a language an ever-increasing segment of the business community refused to use. It seemed to me that this was Borland’s final "Hail Mary" pass, and, if it were me, I’d have probably thrown for C++, especially given that Borland already had its own C/C++ language product. I asked Danny about this, and he said they went with Pascal because, unlike C++, they could control the language (no ANSI committee to deal with), and they needed to evolve it in order to support the visual development model and the other things they wanted to do. I flashed back to this conversation the first time I saw C#. It occurred to me that the same thought process had probably been at work when Anders and company decided to create a new member of the C language family rather than merely extending C++. People like to accuse Microsoft of creating C# to compete with Java, but I think the need to be able to control and evolve the language as they saw fit must also have played a part.

I’m not sure what Danny’s departure portends for Borland, but it can’t be good. I know Danny well, and I know he’d never make a decision like this impulsively. It makes me wonder what else is going on at Borland. Their loss is definitely Google’s gain. I understand the reasons behind Danny’s decision, but I miss the old days. So, goodbye, my friend. For your sake, let’s hope you find a way to keep what remains of your top engineers from leaving for greener pastures some time soon – some time real soon.