What Killed the C Compiler Vendors?

I read with interest, but disagree with, this take on why the software tools industry dwindled in the early 90s. Like most historical accounts, it tries to achieve a linear account of a historical rise and fall: there were a lot of compiler vendors because writing a commercial compiler was relatively easy and then, as hardware advanced, remaining competitive became harder. 1-2-3.

I hold to a much more contingent view of history, at least in this industry. There were a lot of C compilers because the industry was expanding and people who hadn’t been competitors in 1985 were competitors in 1990. And the reason that the commercial software tools industry shrank so dramatically in the early 90s had, it seems to me, little to do with the actions of the individual language vendors and much more to do with:

  • the release of Windows 3.1;
  • the wrong-but-wideheld association of GUI programming and object-orientation
  • C++ as the winner of the “hybrid C” horse-race;
  • Microsoft’s decision to become more aggressive in the field, providing “good enough” IDEs, compiler tool-chains, linkers, debugging tools, etc. at a low cost

Zortech and Borland beat Microsoft to market with C++ and Watcom’s 32-bit C compiler was flat-out better than anyone else’s. You could argue about who had the best DOS-based IDEs, but Borland had a Windows-based C and C++ IDE on the market for a full year before Microsoft!

But Microsoft launched Visual Basic and then Visual C++ and MSDN (on CD-ROM!) and everyone wanted to build Windows apps — it was a much bigger industry change than today’s shift towards mobile development, because enterprise’s wanted their internal systems rewritten in Windows, not just new development and not just customer-facing development.

Borland stumbled terribly trying to become a full-fledged competitor to Microsoft by creating office-suite applications. Whether that directly drained talent from the languages division or not, I can’t say, but it certainly drained Borland’s coffers and as Microsoft was having the San Jose Orchestra play to the Software Development Conference, the poor Borland crew was making their way home over rain-soaked Highway 17 because the company wouldn’t put them up in Silicon Valley hotels.

In the UNIX market, we kept thinking that Sun was going to come along and show the PC guys what software development tools could look like, but they never marketed their tools well until  Java, whose rise was also not due to the inherent merits of that language or its tool-chain. But that’s a story for another day…

3 thoughts on “What Killed the C Compiler Vendors?

  1. Yes, the market for /Windows/ C compilers got smaller when Microsoft made the “de facto” environment for that platform. But the Windows C compiler market wasn’t at all as lucrative as many other markets, including embedded. Every UNIX vendor had to have their own compiler as well.

    Until GCC came along.

    Now, the only compilers I ever have to user are MSVC and GCC. I know there are a few others out there, but… they’re just not relevant in any of the remaining markets I work in or care about. The only upcoming competitor seems to be LVCC, which I actually look forward to! Apple seems to be giving that a new lease on life.

  2. Your version seems, to me, closer to the truth than the linked story.

    Regarding Borland, my understanding is that the office tools, during their brief heyday, paid for most of the company’s expansion; they almost certainly paid for the big headquarters in Scotts Valley. But a battle with Microsoft is one they couldn’t win, or at least didn’t. Paradox and the like were big, but not enough. However, as this all happened the company shipped some of its best programming language products. The company didn’t (unsuccessfully) attempt to kill C++Builder until well after the office wars. (Remember “C++Builder X?”) So I don’t think the office tools drained talent from the PL teams. Indeed, when the office tool revenue vanished, Delphi carried the company for many years; Delphi versions 1-3 coincide with the decline of the office tools. The Delphi team, at one point, wore hats reading “Delphi: Saving Borland, one quarter at a time.” Also, Borland poured resources into JBuilder as the office tools were declining.

    It seems to me that what *did* drain resources are the few tools which still carry the Borland name today.

  3. Larry, I agree that the rise of Windows played a major role in killing the C compiler vendors. A huge share of the development community shifted focus to Windows then, and VC++/MFC was the obvious choice for doing that work, igniting the transition from C to C++ in that community.

    At essentially that same time, while other compiler vendors focused on ANSI C and early C++ standardization, MS introduced and stuck to a non-standard syntax. Early C/C++ vendors had to choose whether to invest in supporting the standard, in MSC-compatibility, or both; a burden MS did not face until many years later. Most compiler vendors chose to support the standards, which left MSC a world unto itself, with very few viable competitors. “Of course we can compile all that MSC code you have, you just have to rewrite it to eliminate all the non-standard MS syntax” was the typical “eat your broccoli, it’s good for you” sales pitch most vendors tried to use back then.

    MS also introduced a number of small changes ca. MSC 5 or 6 that had broad impact, e.g., the ability to separate code and data segments, which enabled MSC to be used for embedded development. That significantly impacted Intel’s embedded tools business, which to that point had been a viable business.

    Also, most of the early C/C++ vendors were acquired by companies whose focus was not development tools – Watcom by Sybase, Zortech by Symantec. Each became the poor stepchild within the acquiring company, and just faded away; I suspect because the cost to stay competitive with MS was more than the parent company was willing to invest. (Borland was the inverse, acquiring a bunch of unrelated products, as you noted.)

    In contrast, MS viewed their dev tools as the absolutely crucial connection to their developer community, and the primary conduit through which they drove the introduction and adoption of all new Windows/Office/etc. developer-related technologies, and invested accordingly. Other MS product teams recognized that developer adoption of their APIs wouldn’t take off until VS delivered “tooling” like IntelliSense support and project templates. Rather than becoming the poor stepchild, MS dev tools remained a central part of MS’ overall strategy, and MS’ continuing investment in their dev tools reflects that.

Comments are closed.