Guy Steele's Strange Loop 2010 talk argues that programmers should not have to think about parallelism, and that languages should support algorithms built on independence and divide-and-conquer. He also recounts fitting a program onto a single punch card.
Why Hacker News points people here: Recommended as a fantastic talk, valued both for its parallelism ideas and for the punch-card story.
By thinking about things that were not applicable to the problem domain says Guy Steele in "How to Think about Parallel Programing: Not!": this video It's a fantastic talk in its own right, but the first bit about fitting a program onto a punch card by self-modifying the code involved (and just how much thought was about fitting-the-program, and how little relatively is involved in the-purpose-of-the-program) is quite eye opening.
RecommendsMathMonkeyManJul 2023
“There are a few good talks that he gives”
Guy Steele talk on parallelism
Full comment
Guy Steele Jr. worked on a language called "Fortress." There are a few good talks that he gives: - (toy problem) link - (parallelism) this video - (languages) link
Cites itEdwardCoffinNov 2022
“He describes all the gymnastics he went through to try to pack it into a single punch card”
Steele recounts packing a utility onto one punch card
Full comment
Guy Steele has a talk [1] in which he recounts making some sort of utility program for the contemporary of the PDP-8, the IBM 1130. He describes all the gymnastics he went through to try to pack it into a single punch card, and also describes the benefits of having such a program on a single punch card rather than a series of them. [1] "How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010) this video
Cites ityakubinOct 2023
“Commutativity is important for e.g. parallel programming.”
Commutativity matters for parallelism
Full comment
Commutativity is important for e.g. parallel programming. See e.g. < this video >. In the context of linear algebra, it would also be good for folks to know that matrix multiplication (/linear transformation composition) is not commutative.
Cites itsitkackJul 2024
“Synchronization and ordering and a lack of idempotency need to be heavily justified.”
Steele on avoiding synchronization and ordering
Full comment
I would use Aerospike, it has strong consistency or session consistency and will soon get multirecord transactions. link And also see the second bullet point from this Guy Steele talk from 2010 Strange Loop. Synchronization and ordering and a lack of idempotency need to be heavily justified. "How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010) this video transcript link thanks matthiasn! Previous discussion link