4 ms·
Interestingly enough, the initial Go implementation was indeed just a transpiler to C, and generally Go and C are semantically very similar. So the fact that yo
by nasretdinov 7mo ago
Interestingly enough, the initial Go implementation was indeed just a transpiler to C, and generally Go and C are semantically very similar. So the fact that you can even (successfully and relatively easily) do Go->C transpiling isn't entirely surprising. Of course you can't port `go` keyword and GC, but the language that the author is developing (called So) doesn't support these features anyway :).
- dimes 7mo agoI could be wrong, but I don't think the initial Go implementation was a C transpiler. It was written in C, but it did its own compilation.
- pram 7mo agoEarly Go was the first time I ever saw the Plan 9 compiler/linker used in action: https://9p.io/sys/doc/compiler.html https://9p.io/sys/doc/compiler.html
- throwaway27448 7mo agoAlef is the missing link between C and Go.
- pjmlp 7mo agoNope, Limbo is the missing link, plus a bit of Oberon-2 on top. Additionally Limbo also carries the lessons learnt out of Alef failure in Plan 9.
- throwaway27448 7mo agoLimbo compiles to bytecode and comes with an os; it feels more like a branch than a link.
- pjmlp 7mo agoWith a JIT compiler, and actually shipped, unlike Alef which was aborted and they pivoted back to C.
- throwaway27448 7mo agoSure, but that makes my point for me.
- pjmlp 7mo agoNope, because it is C => Alef (abandoned) => Limbo => Go ^ Oberon => Oberon-2 / Anyone schooled in compilers and language design knows how to differentiate language, semantics and implementations.
- throwaway27448 7mo agoLimbo was also abandoned, and go doesn't include most of its innovations. Hence why I explicitly said alef and not limbo. > Anyone schooled in compilers and language design knows how to differentiate language, semantics and implementations. I'm not sure what your point is. not one of these languages have semantic innovation—I suppose you could argue the `go` keyword is, but even that feels facetious.
- pjmlp 7mo agoNo it wasn't, the software reached production deployment to several customers from AT&T, and Vita Nuova. Alef never saw the light of the day outside some programmer offices.
- pjmlp 7mo agoNo transpilation was taking place, they replaced the frontend to understand Go.