When comparing Nim vs C#, the Slant community recommends C# for most people. In the question“What are the best statically typed, compiled, memory safe programming languages?” C# is ranked 6th while Nim is ranked 8th. The most important reason people chose C# is:
The Visual Studio IDE offers one of the best development environments. The [Community Edition](https://visualstudio.microsoft.com/vs/community/) can be used for free.
Ranked in these QuestionsQuestion Ranking
Pro Python-like syntax
Readable, clean and familiar to Python developers.
Pro Great portability and optimization
Nim gains portability and optimization because it compiles to C, which offers a lot of choices from modern C compilers.
Works on Windows, macOS, and Linux.
Pro Visual Studio
The Visual Studio IDE offers one of the best development environments. The Community Edition can be used for free.
Can be designed visually with the Visual Studio designer for traditional Windows forms, WPF, or Web forms.
.NET offers rich functionality.
Pro Can be used in a variety of fields
with Xamarin for Mobile (ios, android)
with .net core asp for server (linux, windows)
with .net core for desktop (windows, mac)
with mono for desktop (windows, linux)
with blazor for web client with webassembly.
However, it is not considered top for any of those categories
top choice for windows desktop with .net framework
top choice for Unity
.net 5 will unify frameworks similar to JVM (just one)
Pro It is a C like language.
Being a C like language counts in favor for it as a general purpose programming language, given the ease of using existing skills to pick up this language easily.
there are other superior languages that could be used as a general purpose, such as: F#, Haskell, but the complexity of those languages, being functional, make them strange to the usual C Syntax.
C# is better than C whenever garbage collection, Objects, classes, data access, are needed. But C is going to be the choice when hardware access and performance are paramount.
Pro 3rd Party support
Lot's of tools and libraries available.
Con Learning curve
For a beginner the .NET framework can be daunting, the rich functionality means that things often can be done in several ways.
Con Microsoft will mess up with the Visual studio installation
And all of a sudden you'll need to reinstall the entire thing just because it stopped working.
Microsoft assumes that every workstation is connected to the Internet then it is always pushing updates.
Con Very large runtime
Cannot be used for embedded programming