Book Image

Go Systems Programming

Book Image

Go Systems Programming

Overview of this book

Go is the new systems programming language for Linux and Unix systems. It is also the language in which some of the most prominent cloud-level systems have been written, such as Docker. Where C programmers used to rule, Go programmers are in demand to write highly optimized systems programming code. Created by some of the original designers of C and Unix, Go expands the systems programmers toolkit and adds a mature, clear programming language. Traditional system applications become easier to write since pointers are not relevant and garbage collection has taken away the most problematic area for low-level systems code: memory management. This book opens up the world of high-performance Unix system applications to the beginning Go programmer. It does not get stuck on single systems or even system types, but tries to expand the original teachings from Unix system level programming to all types of servers, the cloud, and the web.
Table of Contents (13 chapters)

Preface

Go Systems Programming is a book that will help you develop systems software using Go, which is a systems programming language that started as an internal Google project before becoming popular. What makes Go really popular is that it keeps the developer happy by being easy to write, easy to read, easy to understand, and by having a compiler that is there to help you. This book does not cover every possible aspect and feature of the Go programming language: only the ones that are related to systems programming. Should you wish to learn more about the Go programming language, you should wait from my next book, Mastering Go, which will be ready in 2018!

The book you are about to read is an honest book in the sense that it will present working Go code without overlooking its potential faults, its restrictions, and its logical gaffes, which will allow you to improve it on your own and create a better version of it in the future. What you will not be able to improve is the fundamental information that will be presented, which is the basis of the way Unix systems work. I will consider the book to be successful if it helps you understand what systems programming is about, why it is important, and how you can start developing systems software in Go. I will be equally happy if Go becomes your favorite programming language!