3 ms·
I strongly despise C#, and I say that with about 5 real years of experience with it. I have been on teams delivering real products with it. It is like Java but
by sqeaky 2y ago
I strongly despise C#, and I say that with about 5 real years of experience with it. I have been on teams delivering real products with it.
It is like Java but married to microsoft while philanders as it pleases. And when I say that out loud some putz always responds "but Mono!" and then the thing I need is inevitably not supported on Mono. When it is working it is stuck on windows server and needing a reboot for some half-assed update microsoft is pushing. With Java I can have all that on a Linux but at least pick which major vendor bends me over! Maybe C# works in Unity, but that is its fan scattering mess.
In C, C++, or Rust I am not beholden to one company and can actually control the hardware to do my bidding. I can go into the compilers to find bugs and the creators are responsive when I make bug reports. Often these are more expressive and have tinier code as well. Isn't C# supposed to be faster to develop in these old crusty systems languages? Why that never the case on real teams I am on?
If performance isn't what I need but rather short development cycles there is Lua, Python, BASH, or my personal favorite Ruby. All of these allow hacking together stuff so much faster, and when I have needed they it offer more control of the garbage collector or other runtime features so I often get better performance out of them.
Then there are the shops using C#. I don't know why, and I see no obvious mechanism that causes this but the culture in C# shops are invariably terrible. I have done 16 contracts in the past 22 years and the least stressful most productive shops are always the nix using professionals or JavaScript slinging kids fresh from college.
The overly corporate C# shops always seem stuck in bad ways, pushing some non-agile scrum, lacking any critical thinking, and are often overtly hostile. These are the shops that buy whatever consultant are selling and force it on me without ever consulting me. I have seen one fist-fight break out in the office and it was in a C# shop. Somehow those backend Unix greybeard wizards are always able to talk through their differences with the 22 year blue haired kid who wants progressive typing on the TypeScript interface that is fed by that wizard's service, and they often do it while discussing technical merit instead of political posturing.
At last C# contract I started I left after 2 weeks (and I am not counting that towards my 16), because the lead developer was preposterously racist and felt comfortable opening up to me about that in that short a time period. I had a lot of self reflection about why he felt comfortable dumping his race war crap on me, and I have no clue why.
C# is not as fast as the slow languages but productive languages. C# is not productive as fast but low productivity languages. And every other thing I mentioned doesn't even have a wiff of vendor lock-in. I am good without C# and the cultures that somehow arise around it.
(and the pay sucks I easily get double doing anything* else)
- neonsunset 2y agoWhich decade did these events transpire in? 00s? It also sounds like the issues had little to do with the language and a lot with specific positions and market... I fail to recognize the language you are talking about, but perhaps the fondness of Ruby is a subtle hint of warped perception of reality?
- sqeaky 2y agoScattered years, a year contract here and there. The toxic culture event was 2023 and EA was 2022. The fist fight was 2006 or so. But interesting that you throw shade at Ruby with no explanation. Feel free to expand at length. I would like to hear your objections.
- neonsunset 2y agoRuby is just a bad technology - very slow, brittle, extremely messy the moment a codebase becomes larger than trivial, not ideal package management, unproductive. It was made work by many great engineers that would have either had more success with a different technology or would have spent less effort in achieving their goals with it. Pick C# or Kotlin with ASP.NET Core or Ktor and be faster at shipping both the initial prototype and then managing the product after years of growth, while enjoying 10x difference in server resources utilization. But frankly your sentiment on C# is so unhinged that I don't even know where to start.
- sqeaky 2y agoSure and while we both wait for visual studio to be installed, I will have solved the problem in Ruby already. Edit - No Rails, I never said rails.
- neonsunset 2y agoI don’t use Visual Studio :) But I guess by the time it installs Rails finally completes serving the first request.