"How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)

Strange Loop Conference2 HN recommenders · 2022–2024
9K views · talk · evergreen · Uploaded 2021-06-21

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 as a fantastic talk, valued both for its parallelism ideas and for the punch-card story.

Watch on YouTube

5 comments from Hacker News

@EdwardCoffin2022 · in “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) [VIDEO]

@MathMonkeyMan2023 · in “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) [VIDEO] - (languages) [LINK]

RecommendsView on HN
@yakubin2023 · in “Algebra”

Commutativity is important for e.g. parallel programming. See e.g. < [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.

@svieira2023 · in “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!": [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.

Strongly recommendsView on HN
@sitkack2024 · in “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) [VIDEO] transcript [LINK] thanks matthiasn! Previous discussion [LINK]