cross-posted from: https://lemmy.world/post/31184706

C is one of the top languages in terms of speed, memory and energy

https://www.threads.com/@engineerscodex/post/C9_R-uhvGbv?hl=en

you are viewing a single comment's thread
view the rest of the comments
[–] 5 points 1 year ago (1 child)

The code is ultimately ran in a JS interpreter. AFAIK TS transpiles into JS, there's no TS specific interpreter. But such a huge difference is unexpected to me.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago (2 children)

    Its really not, have you noticed how an enum is transpiled? you end up with a function... a lot of other things follow the same pattern.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 1 year ago (2 children)

    Nope, have not noticed because I hate JavaScript with a passion. Thanks for educating me.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 1 year ago (1 child)

    No they don't. Enums are actually unique in being the only Typescript feature that requires code gen, and they consider that to have been a mistake.

    In any case that's not the cause of the difference here.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago (1 child)

    This isn't true, there are other features that "emit code", that includes: namespaces, decorators and some cases even async / await (when targeting ES5 or ES6).

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 year ago

    Ah yeah I forgot about namespaces. I don't think they're a popular feature.

    The other two only generate code for backwards compatibility. When targeting the latest JavaScript versions they don't generate anything.

    Ok decorators are technically still only a proposal so they're slightly jumping the gun there, but the point remains.

  • source
  • parent