6 ms·
Ask HN: Why is Mono still not widely used on Linux?
It seems as though one of the initial reasons for not embracing .Net on Linux i.e. ".Net is Microsoft and Microsoft is Evil", now apply to Java since Oracle took over. So why is .Net/mono still not being shown much love?
- SEJeff 13y agoPerhaps because Ximian is spending most of their time on mobile and their partnership with Microsoft? And because most .Net developers aren't huge fans of Linux perhaps?
- wilsonfiifi 13y agoYou're probably right but I think Ximian shifting their focus to mobile was probably because they needed a way to finance future development of mono after Novell was bought by Attachmate.
- dragonwriter 13y ago> Perhaps because Ximian is spending most of their time on mobile and their partnership with Microsoft? Xamarin. Ximian is, as they say, an ex-parrot.
- melling 13y agoIsn't Java still open source and isn't it a first a class citizen on Linux? In other words, you get the same Oracle JIT optimizations on Linux as you do on Windows and the Mac.
- sharemywin 13y agoI only see 2 use cases: 1. already windows app port to Linux. 2. want to deploy on iOS(apple tablets, maybe phone) and linux otherwise why not use java.
- catinsocks 13y agoProbably because it isn't an official port, there is no reason to learn .NET if you don't develop exclusively for Microsoft. If you're developing for multiple platforms chances are you already use some other toolkit with platform specific bits mixed in, mono is only useful if you are a .NET developer and then decide you want to port apps.
- deleted 13y ago[deleted]
- gesman 13y agoEnterprises don't do Linux. Enterprises hate sysadmins (i.e. the guys who control everything that managers don't have a control of and no clue about). Enterprises can afford Windows + support. Enterprises love [Azure] cloud. Linux + Mono is a bit of a bait-and-switch candy from Ballmer.
- tptacek 13y agoAs you might imagine of a high-end security consultancy, we work with a lot of big enterprises, and I'm having a hard time thinking of a single one that doesn't use Linux for line of business software development. Linux is nearly universal in enterprises.
- iends 13y agoThis is an odd perspective to have. I'm fairly certain a large percentage of the Fortune 100 use linux (based on personal observation and experience).
- shaboon 13y agooff course they do.
- fit2rule 13y agoWhile you are getting downvoted, I have found your point of view to be applicable.. I've definitely encountered managers who have the point of view "we can just use Azure now, why do we need to pay a sysadmin" .. and as well, "Linux isn't professional - Microsoft is professional" is a standard refrain among the ignorant Executive classes, as well. So there is some truth to your statement, imho. I've recently had to port a .Net app to Mono so we can deploy it on Linux - in fact, we're doing everything possible to remove any dependency on Azure, because Azure is an atrocious trap for anyone looking to deploy productively. (e.g. can't clone an instance to .VHD without decomissioning and destroying it first..) Anyway, mono on Linux is distasteful, in my experience - there are too many dependencies and packages and libraries/subassemblies that just are not well described. Its as much about the affront of the language used in the Mono ecosystem as anything else. Unless you have the gumption to invest weeks in understanding the perverted terminology and strange architecture of the mono packages on Linux, you're going to be dissuaded by its complexity - especially if you're used to an open, well-describe taxonomy of the traditional Linux packages' way of doing things.
- yzzxy 13y agoMono is widely used in games for Linux, for what it's worth. A lot of independent games have been written in the .NET XNA framework, and Mono has a Monogame component that allows developers to port these games to Linux relatively easily. Between the Humble Bundles including a lot of Linux ports and the Linux Steam/Steam OS launch from Valve, there's a lot of these ports coming out right now.
- jlengrand 13y agoI would take the question the other way around. Why would a .NET developer use linux in the first place?
- usea 13y agoI'm a .NET developer who uses linux from time to time. Mostly the reasons are licensing costs, linux being easier to develop on in some other languages, and personal growth. I am orders of magnitude more productive using Visual Studio in Windows, but in the grand scheme of things that's a local optimum. I'd like to learn new things, use other tools, etc.
- jlengrand 13y agoCool to know, thanks for the feedback, didn't mean to be rude or call you close minded. :) You highlight exactly what I meant " am orders of magnitude more productive using Visual Studio in Windows". There probably isn't much incentive for you to write in mono on Linux, because you could be so much more productive on another platform. And if you switch to Linux, it's probably so much easier to open a python shell that setting up a MONO environment doesn't make sense in most cases.
- kristianp 13y agoI'm another .net developer, who loves linux. I have had daydreams of porting the software at work to mono, so we can have Mac and Linux versions, but it isn't going to happen. When I use linux, I much prefer to use languages where linux is the "1st class" platform (and not Java or JRE based). Mono is improving all the time, but C# doesn't have the attraction for me outside of work.
- scaramanga 13y agoAnd it's just not, technically, particularly compelling either. Also, not sure Java was any more or less evil when it was Sun. In either case the question is just one about which demographics the multi-million dollar marketing campaigns behind one technology or another have targeted. Had they decided Linux hackers were going to be their customers then I'm sure that demographic would be drinking the kool aid and wearing the t-shirts instead.
- dragonwriter 13y ago> It seems as though one of the initial reasons for not embracing .Net on Linux i.e. ".Net is Microsoft and Microsoft is Evil", now apply to Java since Oracle took over. The initial reason for not embracing .NET on Linux is that the entity that created and maintains .NET doesn't support Linux as a first-class platform for .NET. That remains the case. Even the entity that maintains Mono, the almost-.NET that runs, among other places, on Linux, isn't really focussed on Linux any more, having moved on to mobile.