Will .NET be available for non-Windows platforms?

I thought this deserved a post, and not be buried in a comment.  Dave asks:

Wow! it seems you are empowering c++ for CLR. will .net be available for non-windows platforms?

IT ALREADY IS!   Being Microsoft, you'd think .NET would be a Windows-only innovation.  But, happily, it isn't.  My buddy Joel is PM of the Rotor team, which is working to bring the CLI (Common Language Infrastructure - the core of the .NET Framework) and the C# compiler to other platforms.  Check out the SSCLI 1.0 release - which already builds on WindowsXP, FreeBSD, and Mac OS X 10.2, released under Microsoft's Shared Source Initiative.  As Joel says, boot your FreeBSD box, download, untar, build, have a cup of coffee, and start playing with the CLR today!

(Ripped from the download page for SSCLI 1.0):

The Shared Source CLI archive contains the following technologies in source code form:

  • An implementation of the runtime for the Common Language Infrastructure (ECMA-335) that builds and runs on Windows XP, the FreeBSD operating system, and Mac OS X 10.2.
  • Compilers that work with the Shared Source CLI for C# (ECMA-334) and JScript.
  • Development tools for working with the Shared Source CLI such as assembler/disassemblers (ilasm, ildasm), a debugger (cordbg), metadata introspection (metainfo), and other utilities.
  • The Platform Adaptation Layer (PAL) used to port the Shared Source CLI from Windows XP to FreeBSD and Mac OS X.
  • Build environment tools (nmake, build, and others).
  • Documentation for the implementation.
  • Test suites used to verify the implementation.
  • A rich set of sample code and tools for working with the Shared Source CLI.

What about the C++/CLI binding on non-Windows platforms? Well, Microsoft isn't typically in the business of making compilers for non-Windows platforms.  But Herb Sutter, with lots of collaboration with other groups (Plum Hall, EDG, and Dinkumware), are hard at work standardizing the C++/CLI binding with the ECMA Standards Group.  Then, there will be a standard that can be used by other groups and companies to develop C++ compilers those non-Windows platforms that can target the CLI, which will be available on those platforms through Rotor.  We're even working with the C and C++ standards groups to try and bring some of our innovations to the language into those standards!

Thanks for the question, Dave!  And you're right about the empowerment - but it isn't C++ we're empowering for CLR - it's our USERS!