Transpilers are not what you think

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:

Transpiling is a type of compiling that takes source code written in one language and transforms it into a similar language, if not the same exact language. For example, Babel takes ES6 JavaScript code and “transpiles” it into ES5 JavaScript code.

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.

2 Replies to “Transpilers are not what you think”

  1. You’re easily as ignorant as the people you’re talking about. Yelling and getting upset doesn’t make your opinion any more noteworthy.

    1. In fact, I might be more ignorant than the people I’m talking about. The big difference is I’m not acting as though I’m an expert in a given technology, imparting my brilliance upon others. When I am actually trying to give people useful information, I spend at least a tiny bit of time doing the damn research.

      I may be far less intelligent than the morons I mock, but at least I know how to do a cursory examination of the information before I say things which are completely untrue. Also, yelling and getting upset totally makes an opinion more noteworthy. Have you not paid attention to the U.S. election process?

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.