Why Go?
At some point in your programming journey, your programs performed I/O-related tasks such as creating and removing files and directories. They may have orchestrated the creation of new processes and the execution of other programs or even facilitated communication between threads and processes on the same computer and between processes on different computers connected via a network.
When our programs center on using a low-level set of tasks, we categorize them as system programming.
It is alleged that system programming is tedious. But I do not see it this way at all! In fact, it is quite the opposite – an enjoyable and entertaining experience. It is like being a magician. You get to control the operating system and hardware, and you can make things happen that would be impossible in other languages.
In this chapter, we discuss why Go is an excellent fit for building efficient, high-performance system software to support real-world scenarios.
In this chapter...