9 ms·
I think it's only underrated in the HN/startup world.
by PerfectElement 8y ago
I think it's only underrated in the HN/startup world.
- snorremd 8y agoYeah. My impression is that C# rules the world of enterprise and fintech software, at least here in Norway. It might be different elsewhere. It seems like a good language with very good tooling if object oriented programming (in the Java and C# sense) is your posion of choice. Now with .Net Core and other good iniatives from Microsoft it might be a more relevant language than ever.
- dmarlow 8y agoThe are startups using it. We're just not in the MS bashing bandwagon you see here on hn.
- bauerd 8y agoI don't get the impression that C# is bashed on HN, rather the opposite
- vezycash 8y agoThey said "MS bashing" not C# bashing. In other words, using anything MS was once considered uncool. There's still a number of people who are waiting to catch MS pull a Embrace... stunt. I've not seen any thread on HN bashing MS without reason. However, the only guys who claim to use C# either work with big companies or freelance.
- NicoJuicy 8y agoMS basshing was only based on the M$ quote. Because it was closed source. Some context has shifted, the Microsoft takes over Github part has shown sentiment shift also ( not everyone of course)
- tracker1 8y agoI'm not specifically anti-MS myself and am generally supportive of their OSS moves. I think it aligns well with their SaaS initiatives (Office365, Azure, etc) and think that it will continue. Beyond that, MS does deserve the skepticism it gets, and I'm not a fan of the "M$" references or similar. Leadership at MS has changed and it does show. I do wish they'd stop doing sleazy things with windows though. I've been using more Linux and Mac as a result.
- HereBeBeasties 8y agoActually, it's a very good language (although arguably getting too featureful/complex for its own good these days) with fairly suboptimal tooling. NuGet is slow and a pain in the neck, MSBuild is a huge, slow, blundering XML-tastic beast of a thing, etc. Migrating large projects to dot net core piece by piece is fraught with tooling bugs and issues (you pretty much need to migrate everything to SDK-style projects before you do anything else, for example, otherwise you get strange interactions between net461 and netstandard projects around auto-generated binding redirects). There's still DLL hell. Default "copy local" results in crazy n log n file copies in large solutions that totally kills build performance (you can tweak this to use hard links in an effort to improve things, but not within Visual Studio which is where I really want cycle times to be low, or do mad hacks with shared output folders, but that can give you nondeterministic builds). So it's far from all roses - check out their bug trackers on github and there are a number of surprising issues. There are also a lot of missing things on Linux still (e.g. Out-of-the-box support for kerberos auth in ASP.NET core/WebAPI things on Linux). Quite a number of APIs pretend they are there in netstandard but throw at runtime on Linux machines, and yet other things are annoyingly half-hearted, like mapping some Linux syscall return codes to Windows HResults, but not all of them and not consistently across all APIs. It's getting there, but the surrounding ecosystem has a lot of catching up to do compared to Java, IMO. The language is nice, though. F# also.
- lwansbrough 8y ago"C# has suboptimal tooling" is a new one. Maybe if you use vim. Visual Studio is far and away the most comprehensive IDE available.
- iainmerrick 8y agoNo, they are correct, the tooling is bad. Tooling in the sense of setting up a build for a large and complex project, that can resolve dependencies quickly and correctly, where the build is very fast and deterministic, where incremental builds always work correctly, where building multiple configurations is easy and reliable, and so on.
- deleted 8y ago[deleted]
- nicoburns 8y agoPerhaps also in the Open Source world (for obvious reasons), which might reduce people's exposure to it if they haven't used it at work. But agreed that it's more popular in other kinds of business.
- benaadams 8y agoAny obvious reasons currently; or just historic ones? i.e. its been fully open source for 4 years https://mattwarren.org/2018/12/04/Open-Source-.Net-4-years-later https://mattwarren.org/2018/12/04/Open-Source-.Net-4-years-l... and is under the .NET Foundation rather than Microsoft https://dotnetfoundation.org/ https://dotnetfoundation.org/
- nicoburns 8y agoMainly historical ones I think. It's been open source for 4 years, but for most of that time there was a paralell closed source implementation which complicated the ecosystem a fair bit. I'd say it's only really in this last year that it's really started escaping its legacy and started really making sense as a non-microsoft stack.
- arminiusreturns 8y agoIt's open source, but does it comply with the four freedoms to make it FOSS? Why does mono still exist then? inb4 "but EEE was only the 90s!"
- hurricaneSlider 8y agoMono still exists for the same reason .NET 4.X still receives updates, amongst other things. It also has better mobile and crossplat support for targets outside of the server realm
- ptx 8y agoOne reason might be that the tools have telemetry (i.e., automatically gathering and sending data about your system and your use of it to Microsoft) enabled by default[1], which is unexpected and off-putting to people in the free software world. It seems to reflect a very different attitude to some fundamental cultural values. According to the comments on the issue tracker, it was supposed to be OK because it was anonymized – but oops, there was a bug, so it wasn't totally anonymized. But it's OK because you can disable it if you happen to know about it – but oops, the disabling mechanism had a bug. Things that are important to many free software users are not important to Microsoft. I was excited about .NET Core until I became aware of this stark misalignment of goals and priorities. [1] https://github.com/dotnet/cli/issues/3093 https://github.com/dotnet/cli/issues/3093
- endorphone 8y agoC# owns enterprise development, and makes a good showing in fintech (though still less common than Java/Python/C++). It is very uncommon in stand-alone software development of all sorts (shrink-wrapped, service development, commercial web apps, etc) for very obvious reasons. That doesn't make it underrated, there just happens to be a lot of other great platforms.
- le-mark 8y agoWhere I'm at (US Fortune 500 companies) it's all Java, very little .net. Ymmv
- coldtea 8y agoGo below Fortune 500 (Fortune 10M) and it's almost all .Net.
- jacques_chester 8y agoI work for Pivotal. We see pretty much 50/50 between Java and .NET across F500.