Search code examples
c#dynamic-languagesruntime-environment

Is C# wrapped in a runtime env, or is it like the traditional C/C++ languages where the programmer provides the compiler, debugger, and libraries?


I have the urge to look into other languages, and the one I keep considering again and again is C#. I don't know much about it, and was curious as to how it has been designed. Does C# make use of a Runtime Environment like many other contemporary languages? Or is C# more like the two traditional C languages — C and C++ — in the sense that the programmer (or IDE) must provide a compiler, debugger, and libraries to build & debug executables?


Solution

  • C# is a language that runs on the .NET platform.

    .NET used to be windows only, but .NET Core (soon to be .NET 5) is cross platform.

    C# does not compile down to native code; rather it compiles down to bytecode that is run on the CLR -- the Common Language Runtime. This is akin to Java's JVM.

    There are slight backwards compatibility issues between .NET Core and .NET 4.8; but that's another story.