Going for It–with Go

Mastering Go, 3rd Edition

Mihalis Tsoukalous

Packt Publishing, 978-180107-931-0

By Si Dunn

To be honest, I’m not a great software developer. Actually, I retired from software development and software technical writing back in 2009, when the languages du jour–at least where I worked–were assembler and C, with a smattering of Erlang, and a relational database base management system (RDBMS) on the side.

Thirteen years after retiring, I still enjoy tinkering with code and learning how to create small programs in a variety of new and seasoned languages. Call it a hobby, a hedge against dementia, fun, whatever. Once in a while, I even get paid for some of my diverse but shallow software skills. My post-retirement computer play has involved JavaScript, Angular, Python, R, Erlang, Elixir, and several others. I’ve recently added Haskell to my try-soon list. Meanwhile, I’ve been attempting to learn Go, off and on for several years. But each time I’ve gained a little momentum, I’ve kept getting interrupted by other projects, deadlines, events, or sudden announcements of something new and shiny that’s supposedly “hot.”

Go is hot now, of course, even if it’s not new. Designed at Google, it first appeared in 2009. And it’s currently staying near the top of many software-language popularity surveys. So I was pleased when I got my hands on a copy of the 3rd edition of Mastering Go by Mihalis Tsoukalos. One of the first things I noticed in the book is a noticeable UNIX bias in some of its early discussions. No big surprise; the author is a UNIX systems engineer who’s written other books about Go. In a paragraph titled “Why UNIX and not Windows?”, he writes: “You might ask why we’re talking about UNIX…and not discussing Microsoft Windows as well. There are two main reasons for this. The first reason is that most Go programs will work on Windows machines without any code changes because Go is portable by design–this means you should not worry about the operating system you are using.”

Mastering Go is a good book for learning & remembering how to do things in Go. — Photo by Si Dunn

The second thing that caught my attention is the author’s presentation of short, focused code examples on nearly every page of this 682-page book. I haven’t yet tried all of the code examples, but I’ve tried quite a few. They work as described. And the descriptions associated with each example have helped me feel that I am finally getting some momentum Go-ing (sorry, mediocre pun).

Tsoukalos’ book and a temporary reduction of other projects have been exactly the kick I’ve needed to improve at Go. I won’t master Go, of course. I have no reason to. Who’s hiring people born during World War II to develop or support Go-based software in 2022? But it feels good to my brain that I’m learning more than I’ve been able to grasp in previous efforts, using other Go introductory books.

Mastering Go, Third Edition is a solid, well-structured, and well-written work for those who are new to Go, as well as those who may already be using it in software environments. It’s a very good how-to reference book as well. I’m planning to keep this book handy for each time I’m able to spend a little more time building my Go skills.

Si Dunn is a writer, screenwriter, photojournalist, and book reviewer in Austin, Texas.

#bookreview #go #golang

-30-

If you believe book reviews can help readers stay aware of worthy new books to consider, please click here to encourage this effort to continue. To have a new book considered for review on this blog, please email sidunn@sagecreekproductions.com. Thank you!

***

Author

  • Si Dunn is a novelist, screenwriter, photojournalist, and book reviewer. His published books include: DARK SIGNALS, a Vietnam War memoir; ERWIN'S LAW, a private-detective novel; and JUMP, a novella about a combat veteran suffering from PTSD and alienation while trying to work for newspapers as a journalist. Several of his feature screenplays recently were under option to movie producers. He spent nearly 15 years working as a technical writer and software tester in the telecommunications industry. His current programming interests include Go, JavaScript, Python, R, Angular, and other languages and frameworks. He is a U.S. Navy veteran and a graduate of the University of North Texas.

Leave a Reply

%d bloggers like this: