Some important Go run-time bugs fixed since beta 1:
runtime: fix deadlock in network poller
runtime: make CgoMal alloc field void*
runtime: change Note from union to struct
runtime: change Lock from union to struct
runtime: replace unions with structs
runtime: replace union in MHeap with a struct
runtime: reset dangling typed pointer
runtime: reset typed dangling pointer
Well it is high performance like Haskell and has easy concurrency like Erlang, but both of those languages are considered by many to be hard to read and write without a lot of ramp up time. Go is very easy for anyone familiar with a C family language to write and read and tends to have very straight forward and maintainable code.
After watching the presentation of GO what I understand that it's more about the sintaxis reduction and being practical as much as the programmer can when writing code as well, of course, many other things. But Go seems to be the perfect language to write and maintain projects.
If I'm using it for hobby projects on my local machine, should I be using stable, weekly or tip? I'm guessing stable will be fine after 1.1 is pushed there (which sounds like it'll be soon)?
Weekly releases were a thing before Go hit 1.0. Right now your choice is between 1.0.3 (current stable), 1.1-beta2 and tip. I'd go with the beta if you want precompiled binaries, or tip if you don't mind the 2 minutes it takes to compile the Go toolchain and standard libraries yourself.
The improvements in tip can be very important for large applications (for example in some HTTP realted benchmarks tip is 20-40% faster), tip also has better garbage collection leading to lower memory use. Tip also supports around 128 GB of heap on Linux/amd64 versus 8 GB for stable.
All that being said, if you are just writing small programs on your machine using 1.0.3 until 1.1 is out is probably not a big deal. Just don't judge Go on performance until 1.1
I've just been using tip post-1.0.3 and pulling down a new version and recompiling (which only takes a couple of minutes) approximately weekly.
ARM support at 1.0.3 was pretty iffy and now it is really quite good. YMMV depending upon platform and how you are using Go, but in my experience tip is incredibly stable most of the time, certainly stable enough for hobby project development.
13 comments
[ 0.20 ms ] story [ 42.5 ms ] threadMay it enter on the same league as Haskell, Erlang?
[1] http://en.wikipedia.org/wiki/Rob_Pike
[2] http://www.youtube.com/results?search_query=Rob+Pike&oq=...
All that being said, if you are just writing small programs on your machine using 1.0.3 until 1.1 is out is probably not a big deal. Just don't judge Go on performance until 1.1
ARM support at 1.0.3 was pretty iffy and now it is really quite good. YMMV depending upon platform and how you are using Go, but in my experience tip is incredibly stable most of the time, certainly stable enough for hobby project development.