Teaching Distributed Systems in Go
da-data.blogspot.com
da-data.blogspot.com
There were several student complaints about the lack of an IDE or debugger. These tools do exist: I use LiteIDE, with syntax highlighting, code autocomplete and built in Go debugging everyday. Perhaps the professor was not aware of LiteIDE, but his students could have used Google.
http://code.google.com/p/liteide/
https://github.com/visualfc/liteide
Go also has great built-in profiling support: http://blog.golang.org/2011/06/profiling-go-programs.html
Installing Go is easy, you can download it as an archive or use your package manager:
http://code.google.com/p/go/downloads/list
aptitude install golang-go
Also even installing Go from source is easy: cd ~/
hg clone -u release https://code.google.com/p/go
cd ~/go/src/
./all.bash
I think the hardest part is the environment variables, but these are well documented.http://mac.softpedia.com/progScreenshots/LiteIDE-X-Screensho...
> Also setting up a Go environment on a new machine is a nightmare.
How so? There are binaries for all major platforms: http://golang.org/doc/install
All you have to do is extract the archive and adjust the PATH.
> Compilation in general is a huge, unintuitive mess.
Compiling a Go project is dead simple: it's just "go build". How is this a mess?
My assessment of hassle between the two would be the opposite, but I suspect it varies greatly.
The Windows MSI package and the OS X .dmg have wizards.
It was very enjoyable. The networking package abstracts some of the cruft of the underlying C libraries, and with the RPC package I didn't have to worry about serialization and dispatching.
https://groups.google.com/forum/?fromgroups=#!searchin/golan...
"I removed support for this shortly before Go 1, because it was causing worse problems. My intention is to allow this usage in Go 1.1, but only if there is no src directory in the GOPATH tree in question. That is, if you create a directory listed in GOPATH that has _no source at all_, then it will be treated as binary-only."