Hacker News new | ask | show | jobs
by andyhnj 4232 days ago
I'm not sure about this statement: "Of these platforms, Linux is clearly the most important. Today, Microsoft earns much of its (record) profits from enterprise software packages (SQL Server, SharePoint, Exchange, etc.). By running .NET on Linux, it now has the ability to run those apps on a significant majority of server platforms."

Are significant portions of SQL Server, SharePoint, and Exchange written in .NET managed code? I would have thought most of the code base for that stuff would still be in non-managed C++. Will having .NET on Linux make it significantly easier for them to release SQL Server on Linux?

3 comments

I don't think so and I don't think that's the reason behind this move.

I'm pretty sure this is about gaining back some developers. All the cool things happening these days on mobiles and on the web are not happening with Microsoft's platforms.

It's important to remember from where .NET comes from. It was part of a larger vision of Microsoft that included Windows Longhorn, .NET Passport, project Greenwich and Trusted Computed. Of course this vision screamed "Lock-In" and it was about just that (too bad that it is happening anyway, yet people aren't paying attention anymore). So .NET wasn't opened because it was seen as a way to keep people on Windows. Sure there was an ECMA standard, but that was just like putting lipstick on a pig (though ironically that ECMA standard is much stronger and useful than Java's JCP, which is a complete farce).

Unfortunately they missed the forest from the trees. The web developed outside of their walls, mobiles developed outside of their walls. All the cool things happening right now are happening outside of their walls. And now all of a sudden, a Windows-specific platform becomes a liability, a way to keep people out of Windows or whatever Microsoft wants to do.

Personally I'm happy about it. It's a pretty solid platform and a good alternative to the JVM. Given the dickish moves by Sun against Apache Harmony and by Oracle against Android's Dalvik, I think it's about time the JVM had some competition. .NET is still missing a healthy ecosystem though. For Java / the JVM the ecosystem is intimidating at first (e.g. so many choices, so much open-source, multiple IDEs, multiple languages, WTF), but it's actually its biggest strength. On the other hand if there's enough interest, then .NET can catch up as the basics are taken care of.

Virtually none of SQL server is. Most of SharePoint is. Exchange is all c++ still.

So we might see SharePoint for Linux yet.

The other two I suspect are very tied to win32.

I know that a lot of SQL is likely still C/C++, but MS does put a bit of effort into being able to be cross-platform. I don't know how much of SQL is tightly coupled to windows, but it wouldn't surprise me if MS wanted to they could do a linux, or OSX release.

Just look at SQL's installer for tools, it really seems to be a gui on top of some cli tools. Its' origins are in Sybase, which IIRC supported a few platforms early on. MS-SQL is a pretty good value compared to say Oracle. The management interface as well as scaling (replication) support is very well integrated. I've wished PostgreSQL could get to this level in the box for years now.

I think this has more to do with developer mindshare than anything, especially with Azure as a platform. If you can write .Net apps and run wherever it's very appealing. Even with Mono it was a nice story to have. Integration with system libraries to .Net is much easier than Java's JNI and the like. If I can write C# in VS and deploy to Linux as easily as with windows, it will likely return as my back-end of choice.

I think what's meant is that it will be easier to create software on Linux that uses MS enterprise packages, like SQL Server, Sharepoint, etc.. So devs can make use of the MS ecosystem without being totally locked into it. Especially since cloud-based services like Azure means never having to buy/host/maintain any Windows boxes at all, if you don't want to.