Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> C# is specifically designed for enterprise-style OOP

Then why would they add Span<T>, SIMD types and overhaul ref types in the first place?



Because some people wanted to use C# for low-level programming, so they added these things as an afterthought.


You’ve clearly never used it and have no idea what you are talking about.


I have used it a few years ago and the enforced OOP boilerplate was too much for me.


You can write procedural or functional style as well, and with top-level statement you can write without any OOP or boilerplate whatsoever.


Trying to write it as if it was a different language instead or, for whatever reason, copying the worst style a team could come up with does happen and must be avoided, but that’s user error and not a language issue. Also the tooling, especially CLI, is excellent and on par with what you find in Rust, far ahead of Java and C++.

If you link an example snippet of the type of code that gave you pause, I’m sure there is a better and more idiomatic way to write it.


C# was originally a clone of Java. It was almost literally copy/paste compatible.


I have the same issues with JVM-like languages, like Java. I only write Java if I am getting financially compensated for it!




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: