"How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)
Why Hacker News recommends it
Recommended as a fantastic talk, valued both for its parallelism ideas and for the punch-card story.
What it is
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.
Recommended by 2 HN commenters across 2 different months, 2022 to 2024.
What Hacker News said
Strong rec svieira · 2023-11 · on “In the bad old days we had Punchcards. How did people deal with that?”
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.
Recommends MathMonkeyMan · 2023-07 · on “Coroutines for Go”
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 EdwardCoffin · 2022-11 · on “Ask HN: What story from the PDP-8 era would make a good script?”
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 yakubin · 2023-10 · on “Algebra”
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 sitkack · 2024-07 · on “Synchronization Is Bad for Scale”
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]