About this blog
You are a Go programmer. You finished working through the basic Go documents and tutorials. And now you are searching for a way to broaden your knowledge and deepen your skills.
Join me on this journey.
In this Blog, I regularly publish tutorials on applying Go to selected IT topics, ranging from Computer Science fundamentals to today's bleeding edge technologies.
With every post, you and I will take another step towards mastering Go, while at the same time learn about new, or revisit long forgotten, subjects from across the IT world.
If this Blog has a motto, then it probably is a slight modification of this quote by Ray Bradbury:
Write a short story every week. It's not possible to write 52 bad short stories in a row.
About me
I got my first computer in 1981, at the age of 13. It was a Sinclair ZX81, also known as Timex Sinclair 1000 / 1500. From this moment, I was hooked. I knew I wanted–no, I just had to!–study Computer Sciences. And I did.
This was the time when C++ and, later, Java emerged. As everyone else at that time, I was very curious about the various programming languages at that time and their different strengths and weaknesses. Object-oriented programming became very popular. I remember being involved in some heated discussions on Usenet about Eiffel versus Sather, or about Covariance versus Contrarvariance. If these names do not tell you anything, don't worry. Eiffel has not quite become a mainstream language, Sather appears to be quite dead by now, and these variance thingies are about inheritance in OOP languages, so as a Go developer, you don't need to care too much about these.
The first five years of my working life were about programming (not surprisingly it was mostly C++ and Java and a bit of Perl), and the next 15 years (until March 31st, 2016) I spent with looking at other people's scripts (or Siebel CRM scripts, to be precise) and helping them fixing their code or working around shortcomings or bugs in the product.
Throughout the time, I never lost my interest in new programming languages – always on the search for the one “perfect” language: readable, consistent, manageable, expressive, fast, [insert your favourite programming language criteria here]… Well, you and I know that such a language does not exist, and never will (despite the fact that there always will be language advocates who claim to have invented, or found, such a “perfect” programming language).
What I learned is that language wars will never cease, and that in the end the only thing that matters is whether a programming language is pragmatic enough to do the job without any sophisticated constructs and magic that only gets in your way.
Incidentally, just when this mindset settled in my brains, Go came along. I discovered that it is just the language I searched for:
A pragmatic, no-frills, get-the-work-done language.
I remember I first heard about Go when version 1.0 was just about to arrive, and since then it has been my favourite programming language. I only could play with it in my spare time (remember, my day job was about something completely different) but (alert - silly pun ahead!) I kept going.
And now I am here, running a Blog about Go.
I hope it will be useful for you.
Enjoy the Blog!
Christoph