from Hacker News

“This change deletes the C implementations of the Go compiler and assembler”

by osw on 2/23/15, 10:14 PM with 126 comments

  • by justincormack on 2/23/15, 11:00 PM

    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?

    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.

  • by arcticbull on 2/24/15, 4:11 AM

    I still just don't understand why they insist on building their own toolchain. It just doesn't make sense to me.

    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.

    So why do this insist on duplicating: (1) An intermediate representation. (2) An optimizer. (3) An assembler. (4) A linker.

    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?

    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.

    This is more of a genuine question.

  • by ngoldbaum on 2/23/15, 11:10 PM

    Wow, github doesn't handle big diffs well. Some sort of automatic pagination would really help.
  • by brandonwamboldt on 2/23/15, 11:08 PM

    Congrats to the Go team, but that link kills the browser....
  • by Animats on 2/24/15, 3:40 AM

    Nice. That's a step forward. Another bit of legacy code bites the dust. Another step forward to the post-C world we need.

    (If you want to compile with a different compiler as a check, there's an LLVM-based compiler for Go.)

  • by bketelsen on 2/23/15, 11:10 PM

    RSC is awesome.
  • by smegel on 2/23/15, 11:00 PM

    And the boy pulled up his bootstraps and became a man.
  • by Vecrios on 2/24/15, 3:43 AM

    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)?

    Could someone, kindly, explain how future versions would be built? Thanks!

  • by tbolt on 2/24/15, 3:30 AM

    So this means the go compiler is completely written in go?
  • by joeld42 on 2/24/15, 12:50 AM

    congrats gophers! That's a big step for the language.
  • by davidrusu on 2/23/15, 11:16 PM

    Anyone else seeing this post as the 1st and 2nd link on the front page of HN?
  • by pjmlp on 2/23/15, 10:47 PM

    Great news!
  • by gresrun on 2/23/15, 11:01 PM

    Once you go Go, you never Go back!
  • by bcantrill on 2/23/15, 11:05 PM

    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]

    [1] http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/

  • by davexunit on 2/24/15, 2:16 AM

    Here we go again. Another 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.