Go

Where to Go Next ~ Operators

Go version 1.0 arrived in late 2009. It’s now a well established language and ecosystem, having carved out a significant niche in server integration and bespoke webserver code, amongst others.

Unashamedly a quirky language, Go’s developers pioneered an opinionated approach to minimalism that has evidently served it well.

This post is one of several looking to the future; it focusses on operators in Go.

Where to Go Next ~ Range

Go version 1.0 arrived in late 2009. It’s now a well established language and ecosystem, having carved out a significant niche in server integration and bespoke webserver code, amongst others.

Unashamedly a quirky language, Go’s developers pioneered an opinionated approach to minimalism that has evidently served it well.

This post will focus on iteration in Go using range. Later posts will take a more detailed look at a few other Go features.

Communicating Process Architectures - CPA2014 Conference Summary

The CPA2014 conference held in Oxford over the last few days brought together an interesting group of around three dozen experts in the field of communicating process architectures. Discussions were on concurrency and parallelism topics, both theoretical and practical, in areas related to communicating process architectures (CPA). Also known as process-oriented programming, CPA is about both concurrency (the natural expression of things that are happening alongside each other) and parallelism (the physical execution of many parts of a program at the same time) by means of process algebra formalisms and CSP in particular.

A Tour of Go

I was asked to give a tour of Go to colleagues, so what better than to flatter Russ Cox by imitating his excellent tour of Go. The presentation material and code samples for my tour are here.

Getting Go

It’s quite easy to install the Go language on Ubuntu and similar Linuxes. In fact, Ubuntu has an old version straight out of apt-get. However, if you want to install the latest, maybe you want to download the latest and install it in a clean way. Here’s how I chose to do it - YMMV. #!/bin/bash -xe V=go${1:-1.1} if fgrep $V /usr/local/go/VERSION; then echo Go $V is already installed in /usr/local/go echo To uninstall or upgrade, first echo " sudo rm -rf /usr/local/go" else echo Installing Go programming language $V .

Google's Go Revisited

At the end of 2009, a delightfully “little” programming language was fully released following a few years of gestation. I wrote back then about the major features of Google’s Go. Nearly two years of intensive Scala, Java and Groovy work later, I felt it was time to revisit Go with one question in mind: with so much new-found enthusiasm for non-Java languages around, what has Go got to offer that might make it stand out from the crowd?

Google's Go

Google’s Go Language has been making news since the publicity launch in November ‘09.  Go combines the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++. Go is not like Java and it doesn’t aim to be like Java. Rather, think of it as C++ for the 21st century. No … correct that - it’s a bit more than C++ but yet rather a lot less than C++.