C#
Hacker ApprovedShares rank 7 of 163 programming languages by recommenders
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.
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.
480 people gave an opinion
- recommend it
- 359
- criticize it
- 121
- approval share
- 75%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 10 years
Median of the 20 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 359 people recommend itNeeds 10 or more, met.
- 3 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Fast with low-level performance tools
“There's been a really solid effort by the maintainers to improve performance in C# , especially with regard to keeping stuff off the heap.”
Comment from 25 Nov 2025 in “Bytes before FLOPS: your algorithm is (mostly) fine, your data isn't” “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”
Comment from 21 Oct 2026 in “C# now beats Rust on WASM size” “It has both generic vector types across a range of sizes and a good set of intrinsics across most of the common instruction sets”
Comment from 5 Nov 2025 in “The state of SIMD in Rust in 2025” - Comment from 30 May 2026 in “Zig: Build System Reworked”
- Comment from 8 Apr 2026 in “Explore union types in C# 15”
- Comment from 3 Nov 2025 on Hacker News
- Comment from 23 Oct 2026 in “Hedra is a 3D open world game I wrote from scratch while in highschool”
- Comment from 28 Oct 2026 in “Python's experimental JIT to be removed”
- Comment from 24 May 2026 in “dotNET (OK, C#) gets union types”
- Comment from 22 Dec 2025 in “Rue: Higher level than Rust, lower level than Go”
Steady stream of useful features
“Reified generics, value types, nullable reference types, LINQ are only some of the things that would give C# an edge in DevEx today.”
Comment from 12 Apr 2026 in “High-Level Rust: Getting 80% of the Benefits with 20% of the Pain” “The language design team is really making sure that the features work well throughout and I think that does deserve some credit.”
Comment from 8 Apr 2026 in “Explore union types in C# 15” “Where C# has had object initialisers and pervasive IEnumerable with a very simple interface that nearly everything uses.”
Comment from 12 Nov 2025 in “.NET 10” - Comment from 23 May 2026 in “dotNET (OK, C#) gets union types”
- Comment from 18 Oct 2026 in “Java sealed classes and exhaustive pattern matching”
Easy to learn and productive
“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.”
Comment from 23 May 2026 in “dotNET (OK, C#) gets union types” “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.”
Comment from 7 Dec 2025 in “Perl's decline was cultural” “I can onboard an average developer that's familiar with Typescript and have them be productive in C# in a week.”
Comment from 5 Apr 2026 in “Lisette a little language inspired by Rust that compiles to Go” - Comment from 7 Mar 2026 in “What canceled my Go context?”
Native AOT compilation
“C#, with default tooling, can compile without needing a VM, for windows, macOS, linux and some other platforms.”
Comment from 1 Feb 2026 in “The history of C# and TypeScript with Anders Hejlsberg | GitHub” “C# since getting Native AOT and the low level programming improvements, is close enough to Modula-3 design”
Comment from 30 May 2026 in “Zig: Build System Reworked” “C# Native AOT gets rid of the JIT and gives you a pretty good perf+memory profile compared to the past.”
Comment from 22 Dec 2025 in “Rue: Higher level than Rust, lower level than Go”
What people warn about
Each mark is one comment
Too many bolted-on features
“Too many -- WAY too many -- "features" from Javascript and functional languages have been jammed into C#, and the language has suffered for it.”
Comment from 12 Nov 2025 in “.NET 10” “It's mostly a bunch of shiny-looking language features being bolted on, all in ways that make the language massively more complex.”
Comment from 8 Apr 2026 in “Explore union types in C# 15” “while both are decent languages, C# is the one that likes implementing every conceivable language feature immediately”
Comment from 12 Nov 2025 in “.NET 10” - Comment from 15 Sep 2026 in “Java 27”
- Comment from 19 Sep 2026 in “What Zig felt like, coming from Rust”
- Comment from 8 Apr 2026 in “Explore union types in C# 15”
Large AOT binaries, limitations
“there are a lot of limitations if you want AOT compilation and you still get the bloated binary and limited performance”
Comment from 19 Aug 2026 in “Mojo is now open source!” “The self-contained binaries still have pretty poor startup time and are large since they contain the whole JIT.”
Comment from 17 Jul 2026 in “G# – A modern .NET language with Go, Kotlin, and Swift ergonomics” Awkward for allocation-free code
“Writing C# that doesn't allocate is like wearing a straightjacket and the language doesn't help you much with manual memory management.”
Comment from 13 Feb 2026 in “D Programming Language” “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”
Comment from 24 May 2026 in “Improving C# Memory Safety” Weaker outside Windows
“Yes it can be done and it's helpful for cross platform with windows but I wouldn't consider it a first class citizen.”
Comment from 1 Feb 2026 in “Swift is a more convenient Rust” “C# has close to zero community and only really works properly in Windows which is far past its glory days”
Comment from 12 Apr 2026 in “High-Level Rust: Getting 80% of the Benefits with 20% of the Pain”
Other programming languages people recommend
The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 163 programming languages, rankedWhat people said
40 of the 747 comments that mention it, newest first. Each links to the original comment.
“less verbose Java with async/await like you have in other languages, and better performance than Typescript”
“IMO better syntax and VM than Java and easier to write performant code than other VM based langs like Python”
“Its async model is a pain point, but otherwise it really does a great job of being able to accommodate a vast range of use cases”
“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”
“Java lacks a ton of quality-of-life features that are table stakes in other languages, including C# and Kotlin.”
“now it feels like it has become bogged down with chunks just abandoned on the alter of backwards compatibility”
“I love the performance changes and bits of functionality here and there, but the syntax-sugar is getting annoying.”
“there are a lot of limitations if you want AOT compilation and you still get the bloated binary and limited performance”
“I use it a lot these days and I find the AI rarely has any issues with language/framework and you get pretty good results.”
“The self-contained binaries still have pretty poor startup time and are large since they contain the whole JIT.”
“It's a product of an era of OOP when the idea of a program fitting in a developers head was a dangerous reactionary idea.”
“It has so many things, like pointer, you can define that memory alignment works like in C, SIMD, AoT compilation, Span”
“C# since getting Native AOT and the low level programming improvements, is close enough to Modula-3 design”
“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”
“Or C# has generic specialization, so if your generic param is a stuct, you get a separate implementation”
“One of the best parts about C# is they never stop bringing useful features from other languages back home to us in C#.”
“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.”
“Reified generics, value types, nullable reference types, LINQ are only some of the things that would give C# an edge in DevEx today.”
“C# has close to zero community and only really works properly in Windows which is far past its glory days”
“General purpose != multiple dialects, that is the trouble with languages like this - C# is a tower of babel.”
“A multi-paradigm language with GC and flexibility to allow you to write highly expressive or high performance code.”
“The language design team is really making sure that the features work well throughout and I think that does deserve some credit.”
“It's mostly a bunch of shiny-looking language features being bolted on, all in ways that make the language massively more complex.”
“I can onboard an average developer that's familiar with Typescript and have them be productive in C# in a week.”
“I quite enjoy C# and F# and while they are low boiler plate, you can really learn them in a week or two”
“Writing C# that doesn't allocate is like wearing a straightjacket and the language doesn't help you much with manual memory management.”
“C#, with default tooling, can compile without needing a VM, for windows, macOS, linux and some other platforms.”
“The sequence of turbo pascal / delphi / c# / typescript which brought us LSP as a sidekick (!) IMHO has benefitted the whole industry”
“Yes it can be done and it's helpful for cross platform with windows but I wouldn't consider it a first class citizen.”
“C# Native AOT gets rid of the JIT and gives you a pretty good perf+memory profile compared to the past.”
“C#'s distinction of being a cross-road among academic research, production system and business oriented language for applications makes it ideal tool”
“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.”
“There's been a really solid effort by the maintainers to improve performance in C# , especially with regard to keeping stuff off the heap.”
“C# is popular for a variety of reasons (fast, mature ecosystem, etc.); however, "just use C# because others are using it" is by itself not a compelling argument.”
“Too many -- WAY too many -- "features" from Javascript and functional languages have been jammed into C#, and the language has suffered for it.”
“Where C# has had object initialisers and pervasive IEnumerable with a very simple interface that nearly everything uses.”
“while both are decent languages, C# is the one that likes implementing every conceivable language feature immediately”
“It has both generic vector types across a range of sizes and a good set of intrinsics across most of the common instruction sets”
“there have been a lot of improvements to low-level C# since v7 that make unsafe unnecessary in a lot of situations”
“Java and C# did a much better job at introducing the features they needed without breaking the readability and familiarity of C.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.