According to Wikipedia a tanspiler is:
A source-to-source translator converts between programming languages that operate at approximately the same level of abstraction.
And this definition is flawed. Let's consider TinyC and GCC, TinyC proves that C is very easy to directly translate into assembler so it's not unreasonable to call TinyC a "transpiler", GCC proves that optimizing C code can take millions of lines of code so we call GCC a "compiler". So both the transpiler and the compiler translate from C to x86 code... What the definition is missing is that compiler vs transpiler is not about the involved programming languages at all (!) but it's about the complexity of the language translator.
I always love your articles, this quote is very nice:
After all, standing on the shoulders of giants is a great way to reach a long way without having to do a lot of climbing
But I must admit, I feel like a lot of recent topics on the internet about Nim are more about bikeshedding rather than constructive feedback, I like that this article tries to clear things up!