Live data from Hacker News

Go version 1 is released

blog.golang.org

141–150 of 168 posts

Re: Go version 1 is released

#141

Earlier quoted context omitted.

On X11, the keymap can be set to "US International" which is the same as a stock US layout but with deadkeys and an AltGr key. I find it to be even easier than Apple's input method.

Actually that's my configuration of choice, being Spanish, I use a UK keyboard + AltGr and it's perfect. I find the UK layout more comfortable for programming, and still can type Spanish when needed.

This is just the same for me in Norway. The Norwegian layout has open curly brace on AltGr + 7, which is very painful when programming. US with AltGr is so nice, but it just makes me more of a weirdo up here..

Re: Go version 1 is released

#142
post #92

Earlier quoted context omitted.

We used it to write our own simple distributed computing software after realizing hadoop was too complicated (and thus bug prone) for our embarrassingly parallel needs. It took us less time to get the system written, stable and up and running then it had to get hadoop setup (different developers so not a fair comparison but still). It feels like python with the good parts of C on linux (most things are file like obje…

Sounds like a hell of a blog article. I hope you write it.

Yea, I agree, blog needs to be written.

I would love to see one, since we're in the same boat (deciding between Hadoop or a bit of homegrown stuff for our simple needs).

And I'm really curious about Go in general. The vibe seems really positive, kind of Java-vibe like back in the 90ies.

Re: Go version 1 is released

#143

Earlier quoted context omitted.

My god. Go is _so_ much fun to program. Apart from it's technical pedigree this is its most remarkable feature.

Essential question: what makes it fun?

For me it is probably this.

It works - easy as pie. No problems building, linking or worrying about dependencies. (it should be noted that this is a common property of hobby projects)

It's fast, which is nice for the small boy (or girl) in all of us. It is gratifying to make software that can run like blazes.

I get the control over memory layout that I really want. By day I am a Java dev, by night I used to hack Erlang. Neither of these allows me to lay out an array of structs contiguously in memory. I did this for a quad-tree implementation and got 2X speed up on read operations. This means that all the stuff I am reading about CPU architecture, cache-lines and latency etc. can be experimented with in an easy to use environment. That's just pure fun and gratification.

Comprehension. In Java I recently wrote a SOAP server (I know, lame) and it took me an hour of XML fiddling before a more informed person told me that we do that with annotations now.

"Which annotations? These magical ones. Ah thanks"

That is a server in Java. At the end I was as ignorant as when I began. But I had the annotations and I had a server. This is bullshit. Programming without learning is like eating without tasting anything. In Go I am learning as I code - this is ecstasy. When I am confused I can jump straight into the library source code, ever tried that in a JEE server? It is painful.

Websockets are fun. Go supports websockets in the easiest way I can imagine.

Errors. Explicit errors in Go are just great. Verbose, yes. But, the clarity of this approach surprised me. All the networking code I have written in Java seemed mysterious. I would hack away and end up with a block of code that would fail from 'somewhere' inside. Errors have taught me a great deal about the different ways my networking code can fail. This is possibly my favourite part of Go (which makes me sound a bit boring).

Green threads are great. I'm sure plenty has been said about this. And message passing too. I won't say more about that.

Closures are marvellous. I have to say that I had a lot of reservations about closures in an imperative language. But if you are careful they are as safe as anything else (in that soup of mutable state). And so much fun.

It should be noted that a lot of my complaints about Java can be remedied. I can read a book about the latest JEE annotations (I did start reading one). I could study the Java networking code better and learn about things that way. But the crucial point is that Go allows me to do all of this while I do what I like best. Hacking. I can build systems and learn at the same time.

Re: Go version 1 is released

#144
Is there any SEO trick for googling about "go"? It's really hard to look for "go" related material;

For example, I tried searching for how to use Go on Android. But "go android" returns all kinds of unrelated stuff.

Re: Go version 1 is released

#145

Is there any SEO trick for googling about "go"? It's really hard to look for "go" related material; For example, I tried searching for how to use Go on Android. But "go android" returns all kinds of unrelated stuff.

typing "go lang" seems to work.

Re: Go version 1 is released

#148

Earlier quoted context omitted.

Actually that's my configuration of choice, being Spanish, I use a UK keyboard + AltGr and it's perfect. I find the UK layout more comfortable for programming, and still can type Spanish when needed.

This is just the same for me in Norway. The Norwegian layout has open curly brace on AltGr + 7, which is very painful when programming. US with AltGr is so nice, but it just makes me more of a weirdo up here..

I'm a Norwegian living in the UK using a US keyboard layout.. Definitively couldn't handle using a Norwegian layout for programming any more.

Re: Go version 1 is released

#149
post #90

Earlier quoted context omitted.

Chrome could not be written in Go, due to the stop-the-world GC. 200ms GC pauses are completely unacceptable for a web browser.

I see a lot of very good reasons for Google not to lose time rewriting Chrome in Go, even without thinking about webkit, but do you have a reference to support this "200ms" assumption ? I never observed this in my programs (which doesn't have the kind of brutal allocations that a browser must have) so I'm curious.

ootachi does seem to like to pop into discussions about Go, throw around statements about Go's GC as if they were facts, despite never having used Go.

A 200ms GC pause is entirely possible for a busy, unoptimised server. The question you should be asking, though, is whether it's a problem. And if (and only if) it's a problem, whether the programmer has tried to reduce allocations. The easiest way to reduce GC time is to produce less garbage.

Re: Go version 1 is released

#150
post #16

Anyone care to share their experience writing something in go? I've toyed with it but not built anything in production. FWIW, the go dashboard ( https://godashboard.appspot.com/ ) has a number of interesting projects.

I have been (slowly) developing a chess engine in go [1] (still a long way to go, no pun intended!)

What I like most about go is its simplicity and cleanness while still allowing you to program somewhat close to the metal. In fact, it often feels considerably more like a higher level language than a systems language.

The go tool is quite fantastic too. My chess engine project folder contains 41 go files, including a number of files containing tests (named XXX_test.go) which contain functions named TestXXX. My entire test + build process is:-

    ~/gocode/src/weak$ go test ./... && go build
Go is like a very delicious trifle - the further into it you go, the more delicious things you find. The quality is clear throughout.

Go is very unassuming. You start by wondering what the big deal is + getting annoyed with the minor differences from other C-syntax languages before slowly progressing towards quite liking it, then eventually once you grok how simple + elegant and well engineered it is you come to love it.

[1]:https://github.com/lorenzo-stoakes/weak

Post reply on HN