Live data from Hacker News

The State of Go

talks.golang.org

11–20 of 271 posts

Re: The State of Go

#11
> Where we're at in February 2015

Still producing 1.3M hello world executables.

I wonder if rewriting the linker from C to Go will be primarily rewriting, or maybe they will start fixing it somehow.

Re: The State of Go

#12
post #6
post #4

Earlier quoted context omitted.

Besides the arrow keys, you can move forwards or backwards by clicking on the left or right edges of a slide.

You can also click on the vertical area between slides to go forward/back.

Also known as "easter egg navigation."

Re: The State of Go

#13
post #11

> Where we're at in February 2015 Still producing 1.3M hello world executables. I wonder if rewriting the linker from C to Go will be primarily rewriting, or maybe they will start fixing it somehow.

http://golang.org/doc/faq#Why_is_my_trivial_program_such_a_l...

The linkers in the gc tool chain (5l, 6l, and 8l) do static linking. All Go binaries therefore include the Go run-time, along with the run-time type information necessary to support dynamic type checks, reflection, and even panic-time stack traces.

A simple C "hello, world" program compiled and linked statically using gcc on Linux is around 750 kB, including an implementation of printf. An equivalent Go program using fmt.Printf is around 1.9 MB, but that includes more powerful run-time support and type information.

Re: The State of Go

#14
post #3

Breaking the mouse entirely probably isn't the greatest of frontend design patterns.

How is the mouse broken? I can

* See my mouse pointer

* Right-click and bring up the right-click menu

* Click on the link in the second slide

* Drag to select text

Chromium 40 on Linux

Re: The State of Go

#15
> In general, pull request culture is not about code review.

This is not true. There are many projects on GitHub which do extensive code reviews on pull requests. It may not be as nice as Gerrit for the type of project like Go (where you often have many iterations or the diffs are large). But for many other projects the UI that GitHub provides is sufficient (and arguably more efficient than Gerrit).

Re: The State of Go

#16
post #4
post #3

Breaking the mouse entirely probably isn't the greatest of frontend design patterns.

Besides the arrow keys, you can move forwards or backwards by clicking on the left or right edges of a slide.

The left and right buttons also do the trick.

Re: The State of Go

#17
post #13
post #11

> Where we're at in February 2015 Still producing 1.3M hello world executables. I wonder if rewriting the linker from C to Go will be primarily rewriting, or maybe they will start fixing it somehow.

http://golang.org/doc/faq#Why_is_my_trivial_program_such_a_l... The linkers in the gc tool chain (5l, 6l, and 8l) do static linking. All Go binaries therefore include the Go run-time, along with the run-time type information necessary to support dynamic type checks, reflection, and even panic-time stack traces. A simple C "hello, world" program compiled and linked statically using gcc on Linux is around 750 kB, inclu…

> A simple C "hello, world" program compiled and linked statically using gcc on Linux is around 750 kB

diet gcc -o hello hello.c; strip hello

2280 bytes on my system.

There are reasons why using glibc results in executables so big, and why it is tolerated (kind of). Those reasons hardly apply to a new language being actively developed. Yet said language produces executables almost twice the size.

"Run-time support and type information", why is it linked into a an executable that never allocates memory and does no introspection of any kind?

Re: The State of Go

#18
post #2

> Now running Linux, FreeBSD, OpenBSD, and Plan 9 builders on Google Compute Engine. (OS X, Windows coming soon.) What purpose does putting work into Plan 9 support serve other than wastefully gratifying Rob Pike? Most Googlers I've spoken to despise this guy's reactionary lordship over the project, and seeing stuff like this lends evidence to the idea of it being a North Korean situation.

The Plan 9 support was contributed by other people. I'm sure that if there was nobody left to maintain it, it would have been dropped long ago.

Re: The State of Go

#19
post #11

> Where we're at in February 2015 Still producing 1.3M hello world executables. I wonder if rewriting the linker from C to Go will be primarily rewriting, or maybe they will start fixing it somehow.

Yeah, what an outrage this is.

1.3 megabytes. That's like $0.00004 USD worth of hard drive space.

Does the go team think we are all rich or something?

Re: The State of Go

#20
Most of career has been spent doing web programming, so maybe I'm ignorant, but if you have to build Go with a Go binary, instead of C, doesn't this break OSS's value proposition? (obviously I'd have to start with a C compiler, but that feels a bit purer in my mind, as I can start with a pretty bare-bones OS)
Post reply on HN