Investigating .NET  

In November 2002, a local branch of the British Computing Society asked me to give an address introducing the .Net Framework to their members. What follows is the result. Although highly compressed, it combines history, comment and technical introduction. If you don’t want to read it all, you can use the sidebar to skip to the sections that interest you.

What is .NET?

Even within the computer industry, there is confusion over what Microsoft .Net really is. Depending on who you talk to, it seems to be mainly to do with Microsoft storing your personal data online, or else a new language called C Sharp, or else the next version of Windows, or maybe some other new thing. The answer is pretty simple. Microsoft .Net is a brand name, a badge. Like all badges, it can be stuck onto numerous different things. So, we have Windows CE .Net, which is the newest version of Microsoft’s embedded operating system for devices, and Windows .Net Server, which is the next version of the server operating system, still in beta, and the .Net Framework, which is the virtual machine and class library that will replace COM. And there was .Net My Services, the brand name for personalised online services, which is now pretty much dead, or at least awaiting reinvention. In a nutshell, the word “.Net” doesn’t in itself convey any technical information, it merely tells you that it is something new or recent from Microsoft.

A little history

Even so, something really is happening at Microsoft. To put it in context, here’s a little history. Microsoft was formed in 1975 by Bill Gates and Paul Allen. It’s first product was a version of BASIC for the M.I.T.S Altair, one of the earliest personal computers. It might seem far away, but there are important themes that go right back to those early days. One is that Microsoft came from the world of personal computers, not the world of mainframes. Even today, the company’s biggest success is on personal computers, not servers. Another is the company’s focus on developers. Its first product was a programming language. Third, there is BASIC. A language aimed at beginners, and an interpreted language. Bill Gates has always championed interpreted languages, and arguably the .Net Framework is an evolution of that thinking. I realise that the matter of what constitutes an interpreted language is not simple; but if you hold in your mind the concept of an application being managed by a runtime engine, you will see that BASIC, Java and C# all have this in common.

The making of Microsoft though was not BASIC, but an operating system called Microsoft DOS. This began life as QDOS, created not by Microsoft but by another small company called Seattle Computer Products. QDOS stands for Quick and Dirty Operating System, and it ran on Intel’s 8086 processor. Of course the DOS story was really IBM’s fault. IBM thought it should get into personal computers, picked the 8086 processor, and decided to outsource its operating system. Microsoft got the contract, and not having an operating system of its own, purchased QDOS. So DOS was stretched beyond its original purpose from its earliest days. IBM’s PC running MS-DOS was announced in August 1981.