3 ms·
> I chose to compile Earl Grey to JavaScript Some programming languages generate code much deeper down the abstraction stack, e.g. Haskell generating machine c
by vorg 11y ago
> I chose to compile Earl Grey to JavaScript
Some programming languages generate code much deeper down the abstraction stack, e.g. Haskell generating machine code, whereas others generate code to a much shallower depth, e.g. most languages generating JavaScript. A language generating lisp code from some syntax could even be shunting code up the abstraction stack.
How deep does the generated code need to be down the stack for some syntax to earn the name "programming language"?
- z92 11y agoIf you look at the code, and can't identify it as language X, then it probably deserves a new name.
- MatthewMcDonald 11y agoThis sounds pretty similar to the definition of a species. If two organisms of appropriate gender can't reproduce with each other, then they probably aren't the same species. If code from two samples can't be interspersed, then it's probably not the same language.
- labster 11y agoUnder that definition, Perl and Python have finally merged, given Perl 6's Inline::Python. Peace at last! I'd probably go with a definition more like "mutual intelligibility" like for natural languages, but that doesn't seem right either. Sometimes I have to turn on the subtitles for British TV.
- Tiksi 11y agoYeah, under that definition everything that supports FFI has merged into a massive unholy mess with C. I guess if it can't be "natively" compiled/interpreted as the same language without inlining or including, I'd say it's a different language.