Hacker News new | ask | show | jobs
by jmcqk6 5073 days ago
Yeah, the author is apparently unaware that C# is one of the few truly multi-platform languages, which runs on Android, iPhone, OS X, Linux, windows of course, and whatever other platform the mono people have since added.

I don't even get the complaint about vendor lock-in. What does using C# lock you into (especially compared to the use of other languages)? Sure, it's possible to use C# in such a way that you're stuck with microsoft tech, but it's not mandated that this is the case.

3 comments

Good point.

The lock-in is mostly such that if you code in C# on Windows first, getting it to run on Mono later may be difficult, if you didn't pay close attention to what you were doing from the start. In this sense, it's rather different than e.g. Java.

But not too different from all that POSIX-specific Ruby and Python code out there, admittedly.

Yeah, but that statement applies to pretty much any language really, not just C#.

If you code your Java app to expect to find documents in /home/<user>/ or link your Java app with binary libraries that are platform-specific, then you're going to have the same trouble.

Cross-platform support is rarely (if ever) a matter of just compiling into a new binary.

It can be a bit of an effort though to get your code to run on multiple platforms w/ C#. Mono is awesome but it's not perfect by any means.
> Mono is awesome but it's not perfect by any means.

If by perfect, you mean doesn't implement whole of .net, then yes. For me, this is good enough http://www.mono-project.com/Compatibility I am not looking to play catch-up with MS's implementation(good to see mono mentioned WPF as no plans to implement)

What I don't like about .net in general is it's still catching up on package and dependency management.

He was actually being positive about the vendor lock in, and saying that it is damaging to MS that people are using cross-platform stuff. If he were aware of Mono, that would probably make him more negative.