The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

what lanague did MS use to create .Net?

i've heard C++ and C#. how can you create .Net based on C#?

Not look for deep detail but can someone explain a bit on how one can use interperted lanague like C# to create a framework.

Thursday, June 29, 2006
Step 0: Read the 'bootstrapping a compiler' discussion
Step 1: Write the CLR runtime in C or C++, probably. Some language other than C#, anyway.
Step 2: Write a minimal C# compiler in C
Step 3: Write the C# compiler in C#, using the verison written in C
Step 4: Use the C# compiler written in C# to add new features as desired

Also, it's important to learn the difference between "interpreted" and "compiled". C# is a compiled language. It is possible to write an interpreter should you wish. It is possible to write a C interpreter. It's even possible an x86 assembler interpreter in Visual Basic, should you desire.

Thursday, June 29, 2006
"It's even possible an x86 assembler interpreter in Visual Basic, should you desire."

Yeah and it would be fast too...
Donald Adams
Friday, June 30, 2006
The runtime platform for .NET (the CLR) is written in C++. The base class libraries (System.Whatever) are generally written in C#, although some of the stuff that requires heavy interop (System.EnterpriseServices etc) was (I think) written in a C++/Managed C++ combo. The Microsoft.VisualBasic libraries are written in (surprise) VB.NET.

The C# compiler itself is written in C++, not C#, so it's not bootstrapped, nor do I believe Microsoft has plans to make it so in future. The Mono C# compiler was bootstrapped in C# from an interpreter (Mint) written in C or C++ AFAIK.
.NET Guy
Friday, June 30, 2006
Download the rotor and take a look by yourself.
The C# compiler was written in C++, based on results from lex and yacc.
Friday, June 30, 2006

Friday, June 30, 2006
The original C# compiler was not written in C#.

The current C# compiler was written in C#, and thus is unlikely, at best, to use pure C tools.  ;)

Sunday, July 02, 2006
They used python.
Justin Silverton Send private email
Monday, July 03, 2006
> They used python
and VB6
Monday, July 03, 2006
Managed DirectX was written in Logo. They had to use a hacked version without the turtle, though.
Chris Nahr Send private email
Monday, July 03, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz