A little story you may know…
I have an idea. I have a favorite language. All problems are basically clear and solvable. So let’s write the project down…
Some hours later…
Damn there is no NPM package for computational geometry… port it? Write it yourself? As binding? How to link a C library… and so on. So normally I end up with a depth-first search along missing functionality, because it is only implemented in C, Python, Javascript…
Why? In compiler construction I learned that there are M frontends (parsers) and N backends (optimizers & generators). To overcome M × N transformations, we use intermediate code for only M+N transformations. But in general that does not happen…
I think we as language engineers are able to clean up that mess. I have some ideas… but before presenting anything I would like to hear your opinions.
- Do you feel the same?
- How do you overcome this situation?
- Do you see other problems that I did not realize, yet?
Maybe I am a bit naive. I know there are some little solutions like the language Haxe and, I guess, LLVM. Actually every language covers a certain purpose. There are also different paradigmas like functional, imperative, logical… but somehow they influence each other and become more similar to each other.