Gotweet - command-line Twitter client in Go
codingrobots.org
codingrobots.org
While writing it I found a bug in JSON library (http://code.google.com/p/go/issues/detail?id=73), which has been fixed quickly by Go developers (in less than an hour).
Currently their http library doesn't support basic authentication, and their http.send method, which allows tweaking headers, is private, so I had to copy and paste three methods from http package and add authentication (see http_auth.go).
The hardest part for me was to get those io things right (I was confused by []byte vs bytes package, and io.Writers/Readers).
I love cross-compilation: both binaries (for Mac OS X and Linux) were compiled on Mac.
Indeed, the Plan 9/ken way of structuring compilers rocks. All compilation is cross-compilation! Simple, elegant, reliable.
If you want a better system programming language than C, why not use Haskell? If it is better than Go in perhaps every measurable way. And there is already an HTTP library that supports basic auth...
speed of execution, speed of compilation.
There may also be a factor of 2 execution speed advantage for a few things that Go lets you directly write in a CPU-friendly way. But the slow part of a Twitter client is waiting for Twitter. In fact, even Twitter isn't written in Go or Haskell or C, and it still works fine.
Undoubtedly. But if we're going from the position of systems programming languages speed of execution is inevitably going to be a factor. And you did say every measurable way... so what other measurable ways did you have in mind?