tl;dr → he doesn’t like pthreads. The pthreads abstraction is too low level, being as it delivers merely threads (and not scoped memory management).
and → there was no Rust back in that day and age; he cites Occam & Erlang as exemplary. Later on he cites Haskell as salutary.
- Tony Hoare, Communicating Sequential Processes (CSP), circa 1985.
- Deadlock avoidance plan
- Short lock spans
- Each threads must have a purpose.
- A purpose cannot be defined by the occurrence of an external event.
- BackgroundWorker, google.
- Worse is better, a philosophy, an essay.
- Communicating Sequential Processes
- Actor Model
- Occam Reference Manual
- Herb Sutter; The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software; In His Blog; 2008, 2007 & prior; originally in Dr. Dobb’s Journal, 30(3), 2005-03; and prior as “The Concurrency Revolution” in C/C++ Users Journal, 23(2), 2005-02; with components replayed from His Blog circa 2004-12.
in His Blog…
- The C++ FQA (frequently questioned answers); 2007.
tl;dr → decides C++ is too complex; decides C++ is “not for him”
- Some Discussion Thread; In Joel On Software; WHEN?
- The C++ FQA, animated.
- You’re probably using “unsigned” incorrectly; 2007.
tl;dr → he wants to do arbitrary math on unsigned quantities, e.g. subtraction; and you can’t mix signed and unsigned types as the type contagion flows to unsigned, and that is not what you thought would wish to have wanted.
Via: Herb Sutter; The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software; In His Blog; 2008