Table of Contents for Programming Languages: a survey
C#
Because it is moderately well-known and moderately well-liked, C# gets its own chapter.
Pronounced "C sharp".
people: Anders Hejlsberg
Popularity:
- Moderately popular and moderately beloved
Tours and tutorials:
Best practices:
Retrospectives:
Respected exemplar code:
Opinions:
- ".NET lacks a build tool like Maven or something similar (SBT, Gradle, Leiningen). .NET is still at the level of Ant / Make and .NET devs don't realize what a huge difference that is. " -- [2]
- "Between reified generics, better native interop, and many functional features, C# felt and feels more concise than idiomatic Java" [3]
- "My mind has been absolutely blown with what modern .NET and C# are capable of doing in terms of low level/systems program and interop with C/C++/Rust etc...Can envision a not so distant future where C# is a common choice for places when you'd typically reach for C++" Gavin Ray
- "C# native interop is very, very nice. However, the build/package system for this is still a complete mess if you want to target more than one architecture" [4]
- "It’s sprouted a lot of functional features over the last five or so years. If only they’d get around to adding discriminated union types, I’d be perfectly happy." [5]
Opinionated comparisons:
- vs Typescript "...The C# runtime is way richer, but I like the TS type system more...." [6]
- "Yeah this is one of the ways I think C# is clearly improvable is having a type system closer to TS." [7]
- vs Haxe: "I made it a few days into rewriting before finding that although I like C#, I like Haxe more. In making the game I’d leveraged a bunch of core Haxe features like super enums and implicit typing and it was all getting trickier and trickier to implement by hand in C#." -- [8]
Gotchas: