So what is the bootstrap process going to be? Other than already have a Go compiler I mean. Or is it have a Go cross compiler?<p>Maybe it matters less, you used to always assume bootstrap from C but that more or less died with C++ based compilers, although you can do a multistage bootstrap from the last gcc before C++ still.
I still just don't understand why they insist on building their own toolchain. It just doesn't make sense to me.<p>When you set out to build a programming language, what is your objective? To create a sweet new optimizer? To create a sweet new assembler? A sweet new intermediate representation? AST? Of course not. You set out to change the way programmers tell computers what to do.<p>So why do this insist on duplicating:
(1) An intermediate representation.
(2) An optimizer.
(3) An assembler.
(4) A linker.<p>And they didn't innovate in any of those areas. All those problems were solved with LLVM (and to some more difficult to interact with extent GCC). So why solve them again?<p>It's like saying you want to build a new car to get from SF to LA and starting by building your own roads. Why would you not focus on what you bring to the table: A cool new [compiler] front-end language. Leave turning that into bits to someone who brings innovation to that space.<p>This is more of a genuine question.
Nice. That's a step forward. Another bit of legacy code bites the dust. Another step forward to the post-C world we need.<p>(If you want to compile with a different compiler as a check, there's an LLVM-based compiler for Go.)
So, if I'm understanding this correctly, they are to re-write the Go compiler in Go, and compile it using the currently published compiler (i.e. 1.4)?<p>Could someone, kindly, explain how future versions would be built? Thanks!
One does wonder if the register re-naming from their abstract (but misleading) names to their proper machine names (e.g., from "SP" to "R13") wasn't at all a reaction to the (in)famous polemic on the golang build chain.[1]<p>[1] <a href="http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/" rel="nofollow">http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/</a>
Here we go again. <i>Another</i> compiler that can't be bootstrapped from source code. It's a packaging nightmare. Another magic binary to trust not to have a Thompson virus.