What's in a Platform?.
James Strachan questioned some of Alan Cooper's opinions in the recent XML & Web Services magazine interview, stating ".NET only runs on Windows". This is actually quite a common misconception, stemming partly from terminology problems. Alan was referring to the CLR, which is (by and large) an implementation of the CLI - an ECMA (currently) and ISO (soon) standard. It is the existence of this standard that provides the portability and multi-language capabilities that Alan Cooper was praising.
As for the cross-platform issue, it is helpful to first agree on a definition of "platform". I like to use the FOLDOC definition: "...a specific combination of hardware and operating system and/or compiler". Microsoft itself has several different implementations (the .NET Framework, the Compact Framework, and Rotor) of the CLI specs running on different platforms, i.e. different hardware architectures (Intel x86, StrongARM, XScale, etc.) and different operating systems (Windows XP/2000/>NET, Windows 98, FreeBSD, Windows CE .NET, etc.). More importantly, there are also third-party efforts (Portable.NET, Mono) aiming to bring the CLI to other platforms such as Linux/x86, Linux/PPC, StrongARM, SPARC, etc. Time & the market will be the judge of these efforts, but I believe that Alan called it correctly when he stated that the CLR creates opportunities for code portability and competition.
[Peter Drayton's Radio Weblog]
Although .Net can be implemented on any platform it will be a long time (if ever) before it will be on **ix or OS-X with the same state of features that it is on the windows platform. If Microsoft were releasing Linux/OS-X implementations simultaneously with the windows version I would call it a cross platform environment (by the way I develop for and really like .Net, too bad it really isn't cross platform)
10:23:48 AM
|
|