DEV Community

Jon Friesen
Jon Friesen

Posted on • Originally published at jonfriesen.ca on

Review: Learn Concurrent Programming with Go

Go has been my primarily language for the last ~6 years, however, until now I’ve primarily been a consumer of libraries that employ high levels of concurrent programming and had minimal experience implementing these patterns on my own let alone in a production setting.

I stumbled upon Learn Concurrent Programming with Go in a Reddit post by the author, James Cutajar announcing it’s release.. My first impression was “that’s neat” and moved along with my daily reddit based procrastination routine before quickly scrolling back searching in earnest for as this is a skill I wanted to get better at.

book cover photo

James does a fantastic job of reviewing the foundational requirements for a developer, touching on concurrency topics like processes vs threads, and then dives into patterns using the Go standard library tooling to demonstrate these. Taking time to explain topics like communicating sequential processes (CSP) and then implementing variations of patterns described in CSP with Go.

The book excels at keeping the density of information vs the pace of the book at a really consumable speed for your average developer. The strength of this books versus other sources on concurrency and concurrency with Go are that it really focuses on teaching the fundamental patterns with what’s going on under the hood; the lessons learned here are immediately applicable to Go programs, but even more so a skill that is transferrable to other languages, systems, and frameworks.

The weakest part of Learn Concurrent Programming with Go is the cartoon diagrams which I found difficult to follow and ended up largely ignoring.

Overall I’m super happy my purchase and would recommend this to Go developers early in their Go journey as it’s a great example of applying known concurrency patterns in Go, as well as experienced Gophers who want to brush up on their concurrency knowledge in a language they’re familiar with.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay