Introduction
It was 2012, and I was exploring a Linux forum. I was really hoping for a trollful topic about something like Which name is correct? Linux or GNU/Linux? or something like Why macOS sucks? a free software advocate's perspective. But instead, I found a really useful topic. One of members, just posted a PDF, written by him about Go programming language. It made me happy of course. I was really excited to see a brand new programming language which is created by Ken Thompson and Rob Pike and has the support from Google. Unfortunately, back then I didn't have time to read books or documents and I even haven't been this good in English. So I decided when I got better at English and also had the enough free time, I will learn that programming language. I've got much better in reading, writing, speaking and listening English, I had free times, but I didn't learn Go. So you may ask what did happen to me? Well, I learned Ruby instead.
In 2014, I have become the student of computer hardware engineering. I also found that I love backend programming. In an IRC channel, one of my friends sent me this link and told me take a look at this!. Then my story began. I learned ruby, I learned Sinatra (a micro framework with ruby) and I also learned Rails. But now, 8 years after those days, I'm gonna learn Go as a ruby programmer. And I wanna share the whole process with you, my friend. You're reading this because I have decided to learn Go step-by-step and just tell you what I've learned. In this introduction, I will tell you something that you must know before starting reading the book. So I hope the book is useuful enough for you.
Should I be a rubyist to understand this book?
It'd be better if you have a little bit of experience in ruby. But if you have a background in similar languages, I mean interpreted scripting languages such as python or javascript or even perl, you'll understand what I am going to say in the book.
Should I take a look at Go documentations before starting to read this book?
Of course you should. But, please do not fo too deep. Otherwise I won't have so much to offer. Just kidding, it's always good to read the official documents. In this book, I am going to give you my story of a being a Go developer who was a rubyist for a long time. You know how do I feel? Like a lawyer in a court who created a communist ************ in the Latin America. Fortunately, we're not going to form any ************s here. We're going to become great programmers!
Let's start
Yes, let's start. Table of Contents is this file and you will be able to find other chapters/sections of the book there. After I finish the book, I'll create a PDF version available and it will be freely available to you. So do not worry :)