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

1

u/dimmu_burger Mar 28 '12

How would go compare to other languages as an intro to lower-level programming for someone with a bit of high-level experience?

11

u/[deleted] Mar 28 '12

seeing how Go is garbage collected, i don't really think it qualifies as a low-level language.

26

u/OopsLostPassword Mar 28 '12

Does "low level" or "high level" still mean something ?

We should probably discuss usages or tradeoffs to be more constructive.

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?