- Hm. Seems very C++ oriented. Talks about specific keywords of C++ and their semantics. Not even mentioned "actor" in the whole document. "immutable" not found.
Seems rather like an very incomplete view of a C++ programmer, wanting to raise it to "systems programmer".
- This 2020 review carefully summarizes the overly complex and error-prone outcome of programming language memory model changes in the early 2010's. It's tempting to master such tricky details, but doing so almost inevitably leads to the costliest bugs ever: rare data corruption that's impossible to detect and reproduce.
Russ Cox in 2021 offered a higher-level insightful history of evolving hardware and software support for concurrency, discussed just yesterday
His take (as I take it): systems programmers should only use sequentially-consistent atomics (and only via well-tested concurrent data structures).https://news.ycombinator.com/item?id=42397737Easy peasy! ;p
- Having worked with some of the concurrency issues mentioned and observed both failures and successes, I’d like to share a perspective: developers who struggle most with concurrency often lack a formal Computer Science background. This isn’t to say that a CS degree is the only path to competence, but it provides structured exposure to concepts like concurrency through coursework, exams, and practical projects. These academic challenges can help solidify an understanding that’s harder to acquire in a fragmentary way
- Spent 4h yesterday looking for a bug in my atomics, and probably 4 more today :^)
- Every time I dip my toes in multithreading in C++, I just get into a world of random crashes and segfaults. It seems unreasonably hard, hah.
- Is there a maybe ebook friendly version? I'd love to read this in the kindle
- Speaking of concurrency, whatever happened to that Parallella "super computer" project?
- Relaxed atomic operations
- what is a systems programmer?