4 ms·
Perhaps what we need is more tools for creating languages so that it doesn't take a massive engineering effort to create a new language and to enable language f
by curun1r 9y ago
Perhaps what we need is more tools for creating languages so that it doesn't take a massive engineering effort to create a new language and to enable language features to be implemented once rather than for each new language. That way, we could have a ton of languages and everyone can choose their own "Goldilocks" language.
LLVM is a great effort in this direction and now language designers can target multiple architectures and get a ton of optimizations essentially for free. And it's great to see things like coroutines get added at that level. But more could be built at that level and on top of it to give higher-level language features in that same essentially free manner. It'd be cool to see stuff like borrow checking and garbage collection get added in a similarly reusable way.
The end result of this would be that syntax, the stuff that's mostly easy and yet most prone to bike shedding and developer aesthetics, could be mostly decoupled from the serious work normally associated with creating a language and compiler. And developers with less expertise could build quality languages that appeal to an unmet syntactical aesthetic without having to reinvent as much of the wheel as is currently necessary. Instead of having one language that brings together the best ideas, we'd just make those best ideas reusable so that any language could easily bring them together using whatever syntax shakes out of the bike shedding process.