In which it is revealed that Silverlight lives on … as .NET Core
Interviews Visual Studio. NET was released on February 13th 2002, marking the moment when Microsoft’s Java alternative was declared ready for business. Dates are difficult. The. NET Framework 1.0 and Visual Studio. NET 2000 were first made available to developers on 15 January 2002, but only to subscribers of Microsoft’s developer network (MSDN). The official launch though was at the VSLive! 2002 conference in San Francisco, where then CEO Bill Gates described it as «the first fully integrated development environment for building XML Web services and next-generation internet applications.» The. NET Framework was first previewed 18 months earlier, in July 2000. We cast our minds back. Windows 2000 was released in February of that year. Microsoft’s development platform at the time was formed by Visual Studio 6.0, a bundle of separate IDEs including Visual C++, Visual Basic (VB), FoxPro, Visual InterDev and Visual J++. Visual C++ aside, all of these languages had issues. VB was wildly popular but not object-oriented, complex and intricate for advanced use with COM and the Windows API, and bested in nearly every respect by Borland’s Delphi. FoxPro was brilliant in its way, but its DBF database format was not, and Access (part of Office rather than Visual Studio) was more popular and better aligned with SQL and SQL Server. Visual InterDev was Microsoft’s first go at web development using Active Server Pages (ASP), a sort of VB version of PHP, but without its simplicity or cross-platform capability. Visual J++, designed by Delphi’s architect Anders Hejlsberg who had jumped ship to Microsoft in 1996, was Microsoft’s version of Sun’s Java and rather good for Windows development, but it did not conform to the Java specification and was the target of righteous litigation from Sun. At the time, the. NET Framework was just one component in a new strategy. «It’s our task to introduce you to a new generation of technologies from Microsoft,» said Paul Maritz, then group VP of platforms strategy, speaking at the company’s Professional Developers Conference (PDC) in July 2000. Maritz likened its significance to that of the Win32 API, introduced with Windows NT eight years previously. Originally called NGWS (Next Generation Windows Services) while under development, Maritz said that «we finally alighted on the name. NET because it represents the set of technologies designed to contribute to making the internet into a true distributed computing platform.» Microsoft’s idea was for a programmatic web driven by XML web services using SOAP (Simple Object Access Protocol), an XML standard for exchanging data over the internet. «We call this a web services architecture… our. NET platform is designed to make it easier to build those types of applications,» said Maritz. The strategy was intended to put the company at the heart of the internet with its Passport directory and a set of first-party XML services codenamed Hailstorm, unveiled the following year, but soon abandoned thanks to anti-competitive concerns. This was the big picture into which the. NET Framework was introduced. «This has been a long time goal for us, to get Visual Basic, Visual C++, and our other languages onto a common footing … we have today the first true general-purpose multi-language modern object-oriented runtime environment,» said Maritz. His wording was an attempt to differentiate the. NET Framework from Java, with which it seemed to have a lot in common. The pitch was that Java was just one language, but the. NET Framework had the «common language runtime» (CLR) that would run all kinds of languages. That seems an odd distinction today, when the notion of JVM languages is commonplace, and most. NET development is done in C#, but it was important at the time. Microsoft also played the open source card. «It is our intent to take the full intellectual property in this common language runtime and these class libraries and offer them to standards bodies so they can become a truly open set of standards,» said Maritz. In practice the company was not wholehearted about open source. NET. ECMA-335 for the Common Language Infrastructure (CLI) was published in December 2001, but this was far from being the complete specification for the. NET Framework. It was not until 2014, with the forking of. NET to become. NET Core, that Microsoft really got behind open source. NET and made it cross-platform. And even last year decisions were made and revoked that would have damaged the open source release. Maritz also referenced a new framework for web applications, then called ASP+. «We need to do for web development what the industry did for GUI development,» he said. ASP+ web forms had a drag and drop visual interface builder that worked, brilliant for enabling VB programmers to build web sites, though with architectural limitations that became apparent later. The influence of Java on. NET is complex. Sun’s Java was a conscious attempt to undermine Microsoft’s de facto monopoly on business computing at the time, and both Visual J++ and later. NET were key to the company’s riposte. That said, the technology in. NET came from the Visual Basic team according to Mark Anders, co-inventor of ASP. NET with Scott Guthrie, who spoke to this author in 2007 about «Project Cool,» an early codename for the CLR, while also revealing that early prototypes of ASP.