ser·en·dip·i·ty
Learning the Go Programming Language.
I have decades of experience as a C++ programmer but from time to time I like to look at other languages to gain insights to other ways of thinking about things.
My son wanted me to try the Go Programming Language.
I was wanting to put together a remake of an ancient computer game called Universe, code goes back to 1973, 1984, 1988, 1992. The original version 1.0 was run on a Wang Statistical Calculator and consisted of a 4 player race to land a space ship.
The 1984 Universe 2.0 was written in Comal and ran on the Apple, IBM, and C64; it had a musical intro with some animated graphics, capable of using dual joysticks, and we did a multi-player version on the C64 that had eight computers linked by serial cables into a crude network. The game in that state was published in Comal Today.
The 1988 Universe 3.0, still in Comal, ran on Amiga and IBM but was never published for a variety of reasons. The multi-player communication protocal sort of morphed into a multi-player game protocol that was further developed at Sierra On-Line Inc., then sold to AT&T, then to AOL, with a version eventually becoming Sierra Network then ImaginaNation Networks in 1991.
I went on to do engineering AI stuff and used the concepts originally intended for the game in designing the user interfaces for plant operations and engineering documentation. I have had many engineers tell me that my software was like playing a computer game.
Well of course, with modern technology, I might actually be able to complete the game I started so long ago and have it look the way I wanted it to look. The only language to use, would be C++, nothing else has the power, the complexity, the maturity, the support, the history. But my son wanted me to learn Go.
So, I tell my son that I will spike a version of Universe in Go and we will try it out. That was in February of 2014.