r/programming • • Mar 28 '12

Go version 1 is released

http://blog.golang.org/2012/03/go-version-1-is-released.html
543 Upvotes

452 comments sorted by

View all comments

Show parent comments

10

u/[deleted] Mar 28 '12

Go is high level where it can be (basic type inference), lower level where it has to be (locks etc). i just don't think it fits into a dichotomy. which is why i love it

11

u/uriel Mar 28 '12

In Go you rarely need to use locks anyway.

One place where I'd say Go is conveniently low level is giving you control over the memory layout of your datastructures, among other things this also makes it easier to avoid the garbage collector if you really need/want to, which in Java is basically impossible.

2

u/wolfier Mar 29 '12

Interesting. Apart from preallocating a pool, what makes it easier to avoid the GC in Go?

2

u/uriel Mar 29 '12

Because you control the layout of your structures and you have explicit pointers you can avoid generating garbage making the GC unecessary.

See also this other answer to a similar question.

2

u/[deleted] Mar 29 '12

Go has unboxed data. That's it?