• warlaan@feddit.org
    link
    fedilink
    arrow-up
    6
    ·
    2 months ago

    C# isn’t exactly compiled, at least not into machine language. It is transpiled into byte code that is run on a virtual machine that on turn is an interpreter/JIT-compiler.

    Depending on why someone is asking for a compiled language that may or may not be a problem, because to the one writing the code it looks like a compiled language, but to the one running it it looks like an interpreted one.

    • Sarah
      link
      fedilink
      English
      arrow-up
      17
      ·
      2 months ago

      Not necessarily these days! With NativeAOT, C# can be compiled to machine code.

    • GetOffMyLan@programming.dev
      link
      fedilink
      arrow-up
      12
      ·
      2 months ago

      It is compiled to bye code. Just to be clear transpiling is completely different. It is also not interpreted.

      But ahead of time compilation is available now. So you can compile straight machine code.

      The newer tiered JIT can actually give better performance than a traditional compiler as well.

      Overall C# is an awesome language. If performance is absolutely critical you can use raw pointers and manual memory management, but obviously you lose safety then.

    • Undertaker@feddit.org
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      It is compiled into bytecode. A transpiler translates to another programming language with the same level of abstraction. A compiler translates into a level that is nearer to or machine code.