4 ms·
Well microsoft didn't make C# cross platform, that was all really the mono guys.
by jlawer 14y ago
Well microsoft didn't make C# cross platform, that was all really the mono guys.
- aespinoza 14y agoYou are right, but it is still funny though.
- moonchrome 14y agoBut they made it an open standard (and are regularly updating it), which goes against the general perception of "M$".
- saurik 14y agoBack when .NET was still in beta, I was flown up to Redmond to provide some feedback on Managed C++. I specifically asked them why their Socket API was "crippled" in comparison to WinSock (which has some really beautiful mechanisms for handling things like cross-protocol addressing), and the answer I got was "portability to non-Windows systems".
- bad_user 14y agoOn the other hand the asynchronous parts of the Socket API was modeled after the Windows kernel, which has true support for asynchronous sockets. That's one reason why the Mono implementation was always suboptimal, because implementing that API on top of poll, epoll, kqueue and the like is not really straightforward. It's also the reason for why the attempts to build alternative web servers are using bindings straight to libevent, bypassing the socket API. The original plan was indeed for .NET to be portable to non-Windows platforms, but Windows-specific details have leaked in nonetheless.
- MichaelGG 14y agoNot to detract from the Mono team's awesome achievements but: - Microsoft has released a cross-platform CLR ("Rotor"). Win/Mac/BSD I believe. - C# and the CLR are ECMA specifications. - A lot of the class libs are definitely not Windows only. - Microsoft also has Silverlight (CLR) running on Mac, if that counts. The whole .NET stack, apart from some Windows specific libraries (some COM+ management stuff, Win Forms) were definitely made to be cross-platform.
- lloeki 14y agoNot to detract from the Microsoft team, but: IIRC Rotor was more of a proof of concept, only supporting .Net 1, and later 2.0. It could not be built that easily either, and not bootstrapped. Early C# (1.1 and 2.0) and the CLR specs were posted to ECMA, then it stopped. I think they published some more of it to ECMA much later, and some of the class platform too but it's still incomplete for .Net to be even remotely called an ECMA standard. Silverlight does work on Mac, but on Linux you have to use Moonlight. All in all, the Mono team went much, much farther than Microsoft, but it is impressive for Microsoft to have shown so much effort and so clear intent towards cross-platform support.