# C#

359 Hacker News commenters recommended C# and 121 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 10 years (20 owners). It meets the Hacker Approved badge rule.

**Verdict:** An easy-to-learn, statically typed language that can scale to near-native performance with Native AOT and low-level features, though critics say it keeps piling on features and complexity.

## Why people recommend it

- Fast with low-level performance tools (10 comments): "There's been a really solid effort by the maintainers to improve performance in C# , especially with regard to keeping stuff off the heap." ([source](https://news.ycombinator.com/item?id=46046083)) "C# is good in that it's "easy" yet the performance profile of the features allows optimized code to run far closer to C++/rust/etc" ([source](https://news.ycombinator.com/item?id=50179191)) "It has both generic vector types across a range of sizes and a good set of intrinsics across most of the common instruction sets" ([source](https://news.ycombinator.com/item?id=45827014))
- Steady stream of useful features (5 comments): "Reified generics, value types, nullable reference types, LINQ are only some of the things that would give C# an edge in DevEx today." ([source](https://news.ycombinator.com/item?id=47737726)) "The language design team is really making sure that the features work well throughout and I think that does deserve some credit." ([source](https://news.ycombinator.com/item?id=47689990)) "Where C# has had object initialisers and pervasive IEnumerable with a very simple interface that nearly everything uses." ([source](https://news.ycombinator.com/item?id=45905761))
- Easy to learn and productive (4 comments): "C# does it really well because if your problem isn't performance/memory-constrained, you can ignore these features and fallback on the language's natural ease of use." ([source](https://news.ycombinator.com/item?id=48251835)) "Everything just kind of worked the way I expected it to. There are sharp edges, but far fewer than expected and always for an actual reason." ([source](https://news.ycombinator.com/item?id=46182345)) "I can onboard an average developer that's familiar with Typescript and have them be productive in C# in a week." ([source](https://news.ycombinator.com/item?id=47655111))
- Native AOT compilation (3 comments): "C#, with default tooling, can compile without needing a VM, for windows, macOS, linux and some other platforms." ([source](https://news.ycombinator.com/item?id=46846648)) "C# since getting Native AOT and the low level programming improvements, is close enough to Modula-3 design" ([source](https://news.ycombinator.com/item?id=48336106)) "C# Native AOT gets rid of the JIT and gives you a pretty good perf+memory profile compared to the past." ([source](https://news.ycombinator.com/item?id=46350331))

## What people warn about

- Too many bolted-on features (6 comments): "Too many -- WAY too many -- "features" from Javascript and functional languages have been jammed into C#, and the language has suffered for it." ([source](https://news.ycombinator.com/item?id=45908095)) "It's mostly a bunch of shiny-looking language features being bolted on, all in ways that make the language massively more complex." ([source](https://news.ycombinator.com/item?id=47689717)) "while both are decent languages, C# is the one that likes implementing every conceivable language feature immediately" ([source](https://news.ycombinator.com/item?id=45902190))
- Large AOT binaries, limitations (2 comments): "there are a lot of limitations if you want AOT compilation and you still get the bloated binary and limited performance" ([source](https://news.ycombinator.com/item?id=49359100)) "The self-contained binaries still have pretty poor startup time and are large since they contain the whole JIT." ([source](https://news.ycombinator.com/item?id=48950275))
- Awkward for allocation-free code (2 comments): "Writing C# that doesn't allocate is like wearing a straightjacket and the language doesn't help you much with manual memory management." ([source](https://news.ycombinator.com/item?id=47000681)) "C# is too much of a you hold it wrong language, you can easily avoid the problem you describe, but it is such a pain" ([source](https://news.ycombinator.com/item?id=48257619))
- Weaker outside Windows (2 comments): "Yes it can be done and it's helpful for cross platform with windows but I wouldn't consider it a first class citizen." ([source](https://news.ycombinator.com/item?id=46842365)) "C# has close to zero community and only really works properly in Windows which is far past its glory days" ([source](https://news.ycombinator.com/item?id=47736959))

## Alternatives hackers recommend

- [Rust](https://hackerapproved.com/p/rust.md): 2039 recommend
- [Go](https://hackerapproved.com/p/go-programming-language.md): 1254 recommend
- [Python](https://hackerapproved.com/p/python.md): 1067 recommend
- [Zig](https://hackerapproved.com/p/zig.md): 743 recommend
- [TypeScript](https://hackerapproved.com/p/typescript.md): 574 recommend

## Cite as

Hacker Approved, "C#", https://hackerapproved.com/p/c-sharp/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
