arturaz
β
What exactly is .NET?
@Merineth I'll add my take on this π
So every programming language either directly compiles to machine code or needs some sort of runtime/interpreter to turn that to machine code.
Haskell, for example, takes in haskell source code, runs that through ghc (the compiler) and spews out machine code. That machine code contains the haskell runtime, which does things like garbage collection while your program is running.
.net is basically:
- a CLR (common language runtime) - a virtual machine that takes in IL (intermediate language) code and turns that into machine code when you launch an application. That is why you can compile a C# app once and run it on Windows/Mac/Linux without recompiling.
- a standard library (BCL) which can be used by any programming language targetting .net
- some default tools, like the
dotnet
CLI application that lets you create new projects easily, msbuild
as the default build tool, nuget
as the dependency manager.
Various languages can compile to IL. C#/F#/VB.net does right now. Scala used to have a IL backend (that meant you could compile scala programs to run on CLR).
C# is the primary language of .net which receives most support and resources.351 replies