8 ms·
People seem very hurt that the creator of C# didn't pick C# for this very public project from a multi-trillion-dollar corp. I find it very refreshing, they defi
by DrammBA 2y ago
People seem very hurt that the creator of C# didn't pick C# for this very public project from a multi-trillion-dollar corp. I find it very refreshing, they defined logical requirements for what they wanted to do and chose Golang because it ticked more boxes than C#. This doesn't mean that C# sucks or that every C# project should switch to Golang, but there seems to be a very vocal minority affected by this logical decision.
- bitmasher9 2y agoMy favorite benefit of Go over C# is that I don’t have to carry around a dotnet runtime to every service that touches my Typescript code.
- nailer 2y agoCan't the CLR tools just output native binaries now?
- bitmasher9 2y agoCan it? That’s awesome. Mostly these days I’m only aware of C# when it inconveniences me.
- ryoukokonpaku 2y agoIt even produces smaller binaries than Go and the size scales much better as the codebase grows too. dotnet has come a long way since the olden days of .net framework. The reasons stated on github doesn't seem to be convincing imo. - platform support NativeAOT supports all platforms, the only one missing is Android which is marked experimental, but since they'd be treated as a "1st party" customer since they're both MS projects, this could be easily expedited. Even WASM is supported in NativeAOT using the LLVM toolchain and is often compared to perform better than Go's WASM target which doesn't use LLVM - Usage of functions and structs C# supports this, and you even have better control on layout and performance in this regard. Functions can easily be ported as static functions on static classes. They could even use F# which is even closer to Typescript if they wanted a more direct port as both languages compile to IL for NativeAOT. There must be more reasons as to why it didn't choose C# in this regard, likely non-technical related. A missed opportunity imo.
- Matheus28 2y agoI love their choice of Go because of how simple it is to generate a static executable with no dependencies (ie no dotnet runtime).
- watermelon0 2y agoWith C# you can either bundle dotnet runtime with the executable, or use native AOT, which compiles to a binary without the runtime. However, in both native AOT and Go you actually have some parts of the runtime bundled in (e.g. garbage collector).
- deleted 2y ago[deleted]