Live data from Hacker News

GopherCon 2014 Videos

confreaks.com

11–20 of 75 posts

Re: GopherCon 2014 Videos

#11
post #9

I've wondered what the story was on Go's dependency management, so I'm glad someone brought it up at the end of the keynote. Pike said that it was up to the community to develop tools to deal with that. This is what happened in the Clojure community when Leiningen became the de facto standard, but its dependency management builds on a pre-existing system (Maven). I am curious if this is on anyone's radar, or if it is…

Ruby's dependency management (rubygems) also came from the community and is now part of the standard library. That seems like a good model to follow.

Dependency management for Go is definitely on people's radar. https://github.com/tools/godep has been getting some traction.

Re: GopherCon 2014 Videos

#12
post #3

I am watching the keynote, it looks interesting. I don't know Go at all, though I know several languages including C. I don't quite know what he is talking about when he talks about main and initialization. Can anyone elaborate on this for me? I hate to say this because I feel like a jerk in doing so, but I'm about 25 minutes in and the little gopher that scrolls across the screen (some sort of advertisement, I think…

Function main() in package "main" is the entry point for a Go application but it is not the first code that gets executed when you start a Go app. Each package can have an init() function which gets executed in the order of dependency (if pkg A imports pkg B then B.init() is executed before A.init()) before main.main() is executed.

Re: GopherCon 2014 Videos

#13

I really enjoyed the keynote. The joke about the profound error of using whitespace just shows how partisan these discussions are. In go, with the semi-colon insertion rules and with gofmt, there is an implicit whitespace rule all over again. Personally, I like whitespace because its how my mind reads code. Its nice in Python, mostly because of how concise Python is to read. Its a bit of a bind in Java, where you don…

> In go, with the semi-colon insertion rules and with gofmt, there is an implicit whitespace rule all over again.

Can you explain what this means?

Re: GopherCon 2014 Videos

#14
post #3

I am watching the keynote, it looks interesting. I don't know Go at all, though I know several languages including C. I don't quite know what he is talking about when he talks about main and initialization. Can anyone elaborate on this for me? I hate to say this because I feel like a jerk in doing so, but I'm about 25 minutes in and the little gopher that scrolls across the screen (some sort of advertisement, I think…

Function main() in package "main" is the entry point for a Go application but it is not the first code that gets executed when you start a Go app. Each package can have an init() function which gets executed in the order of dependency (if pkg A imports pkg B then B.init() is executed before A.init()) before main.main() is executed.

I see. Thank you.

Re: GopherCon 2014 Videos

#15

I really enjoyed the keynote. The joke about the profound error of using whitespace just shows how partisan these discussions are. In go, with the semi-colon insertion rules and with gofmt, there is an implicit whitespace rule all over again. Personally, I like whitespace because its how my mind reads code. Its nice in Python, mostly because of how concise Python is to read. Its a bit of a bind in Java, where you don…

> The joke about the profound error of using whitespace just shows how partisan these discussions are. In go, with the semi-colon insertion rules and with gofmt, there is an implicit whitespace rule all over again.

Other than lisps, most languages have significant whitespace -- treating, for instance, newlines as having an important distinctions from other whitespace.

Re: GopherCon 2014 Videos

#16
post #9

I've wondered what the story was on Go's dependency management, so I'm glad someone brought it up at the end of the keynote. Pike said that it was up to the community to develop tools to deal with that. This is what happened in the Clojure community when Leiningen became the de facto standard, but its dependency management builds on a pre-existing system (Maven). I am curious if this is on anyone's radar, or if it is…

Take some popcorn and go through the discussions on golang-nuts mailing list.

There is a big discussion between those that think a language without dependency management tooling does not make sense in modern times.

And those that think it should be abolished from the face of earth and replaced with git revisions and pure open source, regardless of industry needs.

Re: GopherCon 2014 Videos

#17
post #3

I am watching the keynote, it looks interesting. I don't know Go at all, though I know several languages including C. I don't quite know what he is talking about when he talks about main and initialization. Can anyone elaborate on this for me? I hate to say this because I feel like a jerk in doing so, but I'm about 25 minutes in and the little gopher that scrolls across the screen (some sort of advertisement, I think…

Not a Go expert, but I think it has to do with global variables/constants in modules. In C, what can run before main() is extremely limited. In C++, much more can happen before main(), i.e. running constructors for static objects, and the initialization order is undefined (this is a pretty well known problem).

I guess in Go you can also have relatively elaborate static initialization, so it has a similar problem as C++? Interested if any Go users can elaborate on this.

Re: GopherCon 2014 Videos

#18

OK, who wants to put on a GopherCon 2015 next year, dedicated to actual Gopher[1][2][3][4]? I mean, there is a precedent for this sort of thing. http://iubio.bio.indiana.edu/soft/util/gopher/gophercon1.txt [1]: https://en.wikipedia.org/wiki/Gopher_%28protocol%29 [2]: gopher://gopher.floodgap.com/ [3]: https://addons.mozilla.org/en-US/firefox/addon/overbiteff/ [4]: gopher://sdf.lonestar.org/

From the first link: Finally, the relative numeric success of Gopher over WWW was discussed (there are orders of magnitude more Gopher servers than WWW servers out there): Gopher seems to have won out primarily because of the ease of entry (it's much harder to put up a WWW server than a Gopher server), although another factor may be that a hierarchical presentation is more appropriate than hypertext for the broad-bas…

When I started my CS degree we still used mostly Gopher, the WWW browsers started to appear on campus AIX, DG/UX terminals around one year later.

Re: GopherCon 2014 Videos

#19
So, in the keynote, Rob underlines again that there'll be no generics. Ever.

Path to getting generics thus becomes:

1. A preprocessor that eats ggo (generic go) files and emits go. This is is like the original C++ which translated to C for compilation.

2. Someone integrates ggo into go to speed it all up.

Post reply on HN