Joel Spolsky writes in CLR on Linux and FreeBSD that the mono project now has the Common Language Runtime running on Linux as well as on FreeBSD. He says “And of course, it is true. I’ve had no problems compiling and running C# programs on FreeBSD (Rotor), and Mono goes well beyond Rotor for functionality.”
Given that this is the case, how does affect my original conclusions in Parsing .NET? At the time I said
If your product is not on a Windows platform, then implement the XML interfaces being specified by WS-I.ORG in order to remain interoperable with web services. These have broad, cross industry acceptance.
- If your product is a Windows-based server product, then avoid the use of C# for client-side scripting if you must interoperate with non-Windows clients. This is the common scenario for Internet server products. Use Java instead.
- If your product is a Windows-based server product for use in homogeneous networks, such as are found in many enterprises, then simply implement using the full suite of Microsoft tools.
I’d update that now to simply read “Avoid C# for client side scripting”. The rest is really irrelevant, since .NET applications can now run on any server platform.