Hacker News new | ask | show | jobs
by skrebbel 5073 days ago
> Nowadays nobody under thirty writes anything on Microsoft developer tools unless they are demented or brain-dead.

I'm 29 now, switched to mostly doing C# two years ago, and I love it. Its mix of pragmatism, familiarity and modern constructs is unparalleled, and no other truly modern language has this good IDE support.

The only thing I don't love about it is the vendor lock-in, but in reality this is a smaller problem for many applications than it seems.

5 comments

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.

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.
I'm 27 and have been programming in C# for 3 years using Visual Studio Express or Professional (started with Express and got a license for Pro 2 years ago).

You can use Microsoft developer tools to create platform agnostic code. So I fail to see how using a great product would make somebody "demented" or "brain-dead". If this attitude is common in other parts of the world, than it is no wonder that it is hard to find people who know MS languages well.

"You can use Microsoft developer tools to create platform agnostic code" at least someone gets it. I'm (just) 30 and I yet have to find an IDE that pleases me as much, and handles most of the languages I use (to make money, amongst other reasons) daily. I know it's cool and such to say MS sucks and does everything bad, but calling users demented? Ha, I almost stopped reading there.
"The only thing I don't love about it is the vendor lock-in, but in reality this is a smaller problem for many applications than it seems."

I hate to suggest this, but write that statement down and put it somewhere you will find it when you're, say, 40. I've known a number of Microsoft-dedicated (and Apple-dedicated, for that matter) developers over the years, and I can't think of any right off-hand that are still programming.

I see what you're saying but I think you're mistaking me for a different type of programmer. I'm not at all Microsoft-dedicated. I know 5 languages very comfortably, and quite consciously choose C# when given the freedom, because I like it most. I strongly doubt this will remain the case, just like I doubted that I would stay on Ruby forever when that was what I spent my time hacking. Most projects I work on professionally are a mix of languages, usually at least (cross-platform) C++, C# and JavaScript.
I really tried to like it, but seeing lots of .exe files on my Unix machine is somewhat distressing. C#, even under Mono, is very Windows-like.
Self-reply here: naturally, none of this means that the author is wrong on the big picture. I wouldn't be surprised if MS indeed is very much dying. Sad, cause I like their dev tools.