Hacker News new | past | comments | ask | show | jobs | submit login

The interpreter is certainly an interpreter, but a transpiler is arguably also a compiler, be it maybe with an easier target than most conventional compilers. Assembly language and machine code are also languages you can program in; in that sense you'd also have to call gcc a transpiler ;)



Indeed, every compiler is a transpiler: it transpiles into asm. But not every transpiler is a compiler in the truest sense of the term. IMO only transpiling to machine language qualifies as compiling.

But we're just arguing about semantics here :) My comment was more directed towards the interpreter part of things.


> Indeed, every compiler is a transpiler: it transpiles into asm. But not every transpiler is a compiler in the truest sense of the term.

I think you have it backwards. Every transpiler is a compiler, but the reverse is not necessarily true.


> IMO only transpiling to machine language qualifies as compiling.

It is not black and white, compiling to IL or bytecode qualifies as compiling. Perhaps compiling means compilation to a binary executable format?


Bytecode is machine language, specially on mainframes and computer architectures up to early 80's.

It is all a matter how the CPU executes it, direct mapping of machine code into gates, or micro-coded translation layer.


GCC compiles C to assembly, and then uses GAS to turn that into actual machine code... So is GCC a transpiler, and GAS the compiler?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: