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!

Comments (3)
  1. Anonymous says:

    Also, you can check out http://www.go-mono.com Very full featured also with C# bindings for many Linux based solutions such as Gtk and Gnome.

  2. Anonymous says:

    Yeah but…

    Without System::Windows::Forms , having the CLR on Mac OS X and FreeBSD is kinda like a mule with spinning wheel : no-one knows how he got it, and be damned if he knows how to use it 🙂

    The mono folks are making remarkable progress in this area, but it relies on WINE. ( Which of course is a recursive acronym fo "Wine Is Never Enough" )

    GTK# under Windows relies on cygwin, which again, is less than a stellar solution.

    There is rumor of a port of IBM’s SWT from java, which would be a native toolkit implementation on multiple platforms, but I’ve never seen a real build. — ‘Course you probably could get away with using IKVM, and binding to the Java one 🙂

  3. Anonymous says:

    Hmmm when will be .NET for Linux?

Comments are closed.

Skip to main content