TypeScript to C++
github.com
github.com
* https://github.com/ovr/StaticScript * https://github.com/ts-llvm/ts-llvm * https://github.com/nervosnetwork/minits * https://github.com/andrei-markeev/ts2c * https://github.com/yakir22/ts2cpp * https://github.com/duncanhorn/ts2cpp * https://github.com/sebbekarlsson/typescript * https://github.com/andrejusk/typescript-compiler * https://github.com/sebbekarlsson/tscc
and etc
The compilers with C++ target on that list don't "do a lot more". The others are not directly comparable.
Implementing lexical analysis and parsing manually as opposed to using lex/yacc felt much more valuable to understanding the module, which was very useful for the exam. Definitely recommend the challenge!
But more generally it is incapable of the kind of end-user tooling that attracts early adopters. This is because it targets everything, and so really using it means knowing the platform you target and being able to debug at both levels - it does what you would expect a best-effort compiler to do, but it does not try to magically cover up what's going on. You can be put at sea pretty quickly if things break several layers down.
And that makes Haxe a great technology and a less great product. When it's paired with a framework like OpenFL it seems to get a lot of interest though. I see it as a long-term "survivor language" since its premise is still valid - it will be able to keep hanging on, gradually accumulating more of a basis for itself.
Well, Vala still has some amount of manual memory management because it translates directly to GObject, not only for system resources but for types as well, so it isn't 100% memory safe, like Java or Javascript.
Vala is/was a great project, unfortunately, the C people at Gnome hated that and some Gimp maintainers refused to hear about Vala, and then it was blamed for I'm not sure what exactly by people who wanted to turn Gnome into a Rust project. The later also failed, because the same C guys don't want to hear about Rust either.
Interesting bits about internal politics at Gnome.
However the conversion from some GNOME components to Rust, seems to still be ongoing.
I'm only half-joking.
You'd be jumping through so many hoops to set up a build pipeline for transpiling Typescript into C++, let alone writing a BSP library in Typescript to interact with the Arduino SoC. ( Which is vaguely interesting, I'd still call it a fool's errand though. ) You'd surely be much better off investing the same amount of time and effort becoming proficient in writing C for the target platform.
Jumping through hoops is a good metaphor for fun.
Perhaps code related to Operating System drivers, etc.?
I also wonder why isn't there to C# yet?
GraalVM's native image has the same trade off.