tl;dr: Explaining terms you don’t understand makes smart people ignore your article. And I’m not even all that smart, so… this must be pretty fucked.
Please don’t start your articles with a “What is X” when you have no god damn idea what the fuck you’re talking about. For instance, if you were wondering to yourself one day, “what is transpiling?”, you’d be making a huge mistake by reading the first paragraph of Hail, Babel! The Transpiling Overlord.
The author’s just plain stupid.
A compiler, as defined by wikipedia:
A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code. The most common reason for converting a source code is to create an executable program.
Compile, as defined by Oxford Dictionaries:
(of a computer) convert (a program) into a machine-code or lower-level form in which the program can be executed
Both definitions sort of include Cody Lindley’s terrible definition:
Compiling typically involves transforming source code written in one language and compiling it into a completely different language.
But it’s when he contrasts compiling with transpiling that he shows how utterly ill-equipped he is to be talking about anything more technical than an abacus:
When speaking about transpiling, just keep in mind we are talking about compiling source code, not into an entirely new language, but instead to a similar language.
No. That’s fucking wrong, Cody. You’re speaking authoritatively about something you shouldn’t ever EVER discuss again.
Compiling is really a superset of transpiling. Transpiling is just source-to-source compilation, and the term applies not just to shit that makes one version of JS turn into other. For instance, Emscripten turns C++ into JS – radically different languages. But it’s still a transpiler. It’s also a compiler. If you had something that turned your Go code into Erlang, that would be a transpiler (AND a compiler). If you can compile source code into source code, no matter than languages involved, no matter how similar or different, you have a transpiler – which is just a specific type of compiler.
I’ll try to explain in simpler terms: one cannot say that red apples are different from apples. One is just a sub-category of the other. Just like how you’re a “JS developer”, which is clearly a subset of “dipshit”.
So as usual, my abhorrence for JS “programmers” grows. They’re so dumb, and so certain they know about concepts and technologies they haven’t even researched for ten minutes.