tags:

views:

1415

answers:

3

What is the early development history of the .Net framework? (Before the release of .Net 1.0 in 2002)

I've heard various stories about it, including that ASP.Net was originally written in Java, and that .Net was once called COM3, but certain versions of Windows thought that the project directory was a serial port.

Does anyone have a more complete story?

A: 

Dot net is basically a write/copy of Java. In the late 90's Microsoft attempted to add some Windows extras to Java. The com and winforms support baked in dot net are quite clearly necessary for Microsoft to leverage their investment in those respective technologies.

A better way to answer the question is perhaps to ask Why Microsoft felt the need to reinvent Java. The brief simple answer is because Microsoft wanted to drive the direction and capabilities of the platform so that it worked well with Windows. Features like Pinvoke thing and its liberal use will always mean that when Office or Visual Studio when they are written in c# will only work on Windows - vendor lockin.

The close pedigree between Java and Dot net is clearly evident with so many things being copied across - NHibernate, NSpring. Is ASP MVC a copy of Struts + JSP albeit with some little extras ?

mP
/me checks URL... hmmm nope, I'm definitely not on /.
Ahmad Mageed
@mP: You might want to include a link to a citation about this if you want to be taken seriously.
John Saunders
If you checked the above answers, MS had to reinvent Java because Sun wouldn't let them extend the existing Java.
MiffTheFox
and by "extend" you mean "make proprietary and then extinguish".
MattC
@MattC extinguish is debately but its about control.@Miff I do beleive you do not understand why MS got sued and lost. They published a modified incompatible platform and called it Java. There was nothing stopping MS publishing their changes as an addon library.
mP
@Miff if they wished to make something different they could not call it Java. This is the direction they took and it after some reworking became DotNet.
mP
@MiffTheFox: what above answers are you referring to? And you may be confusing J++ with .NET. J++ tried to add Windows-specific features to Java after Sun sued but before Sun won. After Sun won, of course, J++ was withdrawn.
John Saunders
speculative answer.
Anonymous Type
@Miff They could release the windows extras as a third party library instead of corrupting the java the langauge and platform. Thats why they were sued and lost - because they completely ignored the contract they originall y signed.
mP
+14  A: 

w:Anders Hejlsberg:

In 1996, Hejlsberg left Borland and joined archrival Microsoft. One of his first achievements was the J++ programming language and the Windows Foundation Classes; he also became a Microsoft Distinguished Engineer and Technical Fellow. Since 2000, he has been the lead architect of the team developing the C# programming language.

w:Comparison of Java and C#:

C# accommodates constructs more commonly found in languages such as C++, Delphi (the design of which was Anders Hejlsberg's principal job when he was at Borland) compared to Java.

Before creating C#, Microsoft implemented a modified Java environment, called J++, adding new features in a manner which was in direct contravention to the standards and conventions ensuring the platform neutrality which lies at the heart of Java. This violated the license agreement Microsoft had signed, requiring that standards and specifications be strictly adhered to in return for using the Java name and brand logos. Sun Microsystems sued, and in settling the suit, Microsoft agreed to discontinue J++. (Other existing Microsoft products that used Java were permitted to continue such use for seven years.)

w:C#:

During the development of .NET Framework, the class libraries were originally written in a language/compiler called Simple Managed C (SMC). In January 1999, Anders Hejlsberg formed a team to build a new language at the time called Cool, which stood for "C like Object Oriented Language". Microsoft had considered keeping the name "Cool" as the final name of the language, but chose not to do so for trademark reasons. By the time the .NET project was publicly announced at the July 2000 Professional Developers Conference, the language had been renamed C#, and the class libraries and ASP.NET runtime had been ported to C#. C#'s principal designer and lead architect at Microsoft is Anders Hejlsberg, who was previously involved with the design of Turbo Pascal, CodeGear Delphi (formerly Borland Delphi), and Visual J++. In interviews and technical papers he has stated that flaws in most major programming languages (e.g. C++, Java, Delphi, and Smalltalk) drove the fundamentals of the Common Language Runtime (CLR), which, in turn, drove the design of the C# programming language itself.

w:.NET Framework:

Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released.

An Early Look at Microsoft's Next Generation Windows Services:

NGWS will veer off the current Windows DNA path by relying exclusively on XML as the data communications standard. XML, which users often assume is a replacement for or an upgrade to HTML, the language of the Web, is simply a standardized way to describe data. In the NGWS model, each piece of the puzzle—client, middleware, and data—will communicate with every other piece using XML. Developers won't need to learn to hand-code XML, as they do now. The tools in Microsoft's next version of VS will generate the XML code for them.

eed3si9n
Does anyone else here remember ".NET My Services"? I've still got the book (http://www.microsoft.com/mspress/books/5800.aspx). See also http://www.eweek.com/c/a/Enterprise-Applications/Microsoft-Tunes-Net-My-Services/.
John Saunders
This answer is completely wrong as it only mentions "Java" the language and not "Java" the platform which is the real value. J++ is just another language that looks like Java.
mP
@mP, I totally agree .NET Framework is influenced by Java-the-platform. I was hoping to draw it out by showing the lineage of Anders coming from Delphi and then working on J++, which likely means he worked on MS JVM too. Technically they are very similar (GC, CLI, etc.), but strategically they did things differently like pushing WinFrom, ASP.NET, Web Services, etc, marrying the forces from old C++, VB, Delphi, and Java. Also .NET Framework was always big on multilanguage thing and had interesting concepts like metadata and Code Access Security.
eed3si9n
Aside from putting Microsoft classes into the wrong namespace, what did Microsoft do that violated the "standards and conventions"? All I remember is "polluting the namespace".
John Saunders
A: 

Here's a little bit (not much, almost 3 minutes) from the Man himself.

JP Alioto