Programming Windows: COOL (Premium)

In February 1999, just months after Microsoft shipped a sophisticated new version of its Visual J++ Java development environment, rumors emerged that the firm was developing an in-house replacement for Sun’s programming language.

What Microsoft had accomplished with Java was impressive: The software giant’s Java Virtual Machine (JVM) handily outperformed Sun’s JVM as well as all other third-party JVMs, with JavaWorld noting that “Microsoft … still stands alone as the only fast and scalable Java virtual machine … Customers with the highest website traffic currently have no other viable choice for a JVM.”

But Sun had sued Microsoft, charging the company with “trademark infringement, false advertising, breach of contract, unfair competition, interference with prospective economic advantage, and inducing breach of contract.” Sun’s complaint, put more simply, was that Microsoft’s JVM did not conform to the Java 1.1 standard as required by the contract it had signed, and it did so specifically to harm the Java platform.

“Microsoft embarked on a deliberate course of conduct to fragment Java," JavaSoft president Alan Baratz said when the suit was filed.

Between that suit and Microsoft’s disastrous showing at its U.S. antitrust hearings in 1998, it became obvious that Microsoft would need to abandon Java. The problem was that in trying to usurp Java, the software giant had in fact created something wonderful: Visual J++ 6.0 built on the clean, object-oriented design of Sun’s programming language and runtime environment and added an exhaustive new framework called the Windows Foundation Classes (WFC), allowing developers to easily create native Windows applications with Java.

This was important because the Windows application developer space in the late 1990s was fragmented into incompatible camps. Microsoft offered developers three main choices, each of which was fraught with compromise. There was the Windows API with its flat collection of C-based functions, which had expanded in recent years to include interface-based COM APIs too. There was Visual Basic, an approachable environment for beginners, enthusiasts, and app prototype makers. And there was Visual C++, a complicated environment for professional developers only; Visual C++ further complicated matters by offering two major frameworks of its own, the Microsoft Foundation Classes (MFC) for traditional application developers and the Active Template Library (ATL) for those focused on COM and Microsoft’s component-based platform.

And let’s not forget the web. In its Blitzkrieg-like embrace of the Internet in the late 1990s, Microsoft had also quickly created scripting languages, web frameworks like Active Server Pages (ASP), and backend component connectivity, management, and scheduling capabilities via its COM, Microsoft Transaction Server, and Microsoft Message Queuing services. And this was all on top of the client-side HTML and DHTML publish...

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Please check our Community Guidelines before commenting

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC