<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/he-saved-us-all-jpobvwa5k" -->

---
title: He Saved Us All | daily.dev
description: A celebratory deep-dive into the life and contributions of Edsger Dijkstra, framed as a humorous 'programmer of the month' award. Covers his invention of the...
canonical: https://daily.dev/posts/he-saved-us-all-jpobvwa5k
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: He Saved Us All | daily.dev
og:description: A celebratory deep-dive into the life and contributions of Edsger Dijkstra, framed as a humorous 'programmer of the month' award. Covers his invention of the...
og:url: https://daily.dev/posts/he-saved-us-all-jpobvwa5k
og:image: https://api.daily.dev/og/posts/jpOBvwA5k.png
og:image:alt: He Saved Us All
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# He Saved Us All

**[ThePrimeTime](https://daily.dev/sources/primeagen)** · 18 min read · 4 upvotes · 0 comments

## Summary

A celebratory deep-dive into the life and contributions of Edsger Dijkstra, framed as a humorous 'programmer of the month' award. Covers his invention of the shortest path algorithm in 20 minutes over coffee in 1956, his work on the ALGOL 60 compiler, his foundational contributions to concurrent programming including semaphores and deadlock (the 'deadly embrace'), his famous 'Go To Statement Considered Harmful' paper that helped birth structured programming, and his 1972 ACM Turing Award. Also features a collection of his sharp, memorable quotes on programming languages, OOP, and software correctness.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=lnMnXsmxoHc>

## Questions this post answers

### Who invented the shortest path algorithm and how did they come up with it?

Edsger Dijkstra invented the shortest path algorithm in 1956 while sitting at a cafe terrace in Amsterdam, thinking about the shortest route from Rotterdam to Groningen. He designed it in about 20 minutes without a whiteboard, using only his mind, and it was published three years later in 1959.

_Developers tracing the roots of algorithms they use daily can find that history summarized on daily.dev._

### What is a semaphore and who created it?

A semaphore is a synchronization primitive created by Edsger Dijkstra, introduced in his paper 'Cooperating Sequential Processes.' It works as a lock holding a number that threads decrement atomically to gain access to a shared resource and increment when releasing it, preventing multiple threads from mutating the same value simultaneously and causing a data race.

_Anyone learning concurrency primitives like semaphores can find foundational context like this on daily.dev._

### What did Dijkstra argue in Go To Statement Considered Harmful and why does it matter?

Dijkstra argued that goto statements make programs hard to reason about and pushed instead for structured programming using if statements, for loops, and higher-level constructs. Originally titled 'A Case Against the Go To Statement,' the paper's editor Niklaus Wirth renamed it, and it took roughly a decade to convince the industry, ultimately shaping how modern high-level languages are structured.

_Developers curious how structured programming became the norm can trace that debate on daily.dev._

## Similar posts on daily.dev

- [E.W.Dijkstra Archive: Home page](https://daily.dev/posts/e-w-dijkstra-archive-home-page-ddlfzoqxk) · Hacker News · 2 upvotes · 0 comments
- [Turing Award Winner: Data Abstraction, Dijkstra, Distributed Systems](https://daily.dev/posts/turing-award-winner-data-abstraction-dijkstra-distributed-systems-yfauodzys) · The Developing Dev · 3 upvotes · 0 comments

---

Tags: [#algorithms](https://daily.dev/tags/algorithms)

[View this post on daily.dev](https://daily.dev/posts/he-saved-us-all-jpobvwa5k)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"He Saved Us All","url":"https://daily.dev/posts/he-saved-us-all-jpobvwa5k","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/he-saved-us-all-jpobvwa5k"},"datePublished":"2026-08-11T13:12:23.261Z","dateModified":"2026-09-14T06:04:53.922Z","description":"A celebratory deep-dive into the life and contributions of Edsger Dijkstra, framed as a humorous 'programmer of the month' award. Covers his invention of the...","image":"https://i.ytimg.com/vi/lnMnXsmxoHc/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/lnMnXsmxoHc/sddefault.jpg","isAccessibleForFree":true,"articleSection":"ThePrimeTime","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ThePrimeTime","logo":"https://media.daily.dev/image/upload/s--J5-GjDeo--/f_auto/v1704628081/logos/primeagen.jpg","url":"https://daily.dev/sources/primeagen"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/he-saved-us-all-jpobvwa5k","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"algorithms","timeRequired":"PT18M","video":{"@type":"VideoObject","name":"He Saved Us All","description":"A celebratory deep-dive into the life and contributions of Edsger Dijkstra, framed as a humorous 'programmer of the month' award. Covers his invention of the...","thumbnailUrl":"https://i.ytimg.com/vi/lnMnXsmxoHc/sddefault.jpg","uploadDate":"2026-08-11T13:12:23.261Z","duration":"PT18M","url":"https://api.daily.dev/r/jpOBvwA5k","embedUrl":"https://www.youtube.com/embed/lnMnXsmxoHc"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ThePrimeTime","item":"https://daily.dev/sources/primeagen"},{"@type":"ListItem","position":3,"name":"He Saved Us All"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/he-saved-us-all-jpobvwa5k#faq","mainEntity":[{"@type":"Question","name":"Who invented the shortest path algorithm and how did they come up with it?","acceptedAnswer":{"@type":"Answer","text":"Edsger Dijkstra invented the shortest path algorithm in 1956 while sitting at a cafe terrace in Amsterdam, thinking about the shortest route from Rotterdam to Groningen. He designed it in about 20 minutes without a whiteboard, using only his mind, and it was published three years later in 1959. Developers tracing the roots of algorithms they use daily can find that history summarized on daily.dev."}},{"@type":"Question","name":"What is a semaphore and who created it?","acceptedAnswer":{"@type":"Answer","text":"A semaphore is a synchronization primitive created by Edsger Dijkstra, introduced in his paper 'Cooperating Sequential Processes.' It works as a lock holding a number that threads decrement atomically to gain access to a shared resource and increment when releasing it, preventing multiple threads from mutating the same value simultaneously and causing a data race. Anyone learning concurrency primitives like semaphores can find foundational context like this on daily.dev."}},{"@type":"Question","name":"What did Dijkstra argue in Go To Statement Considered Harmful and why does it matter?","acceptedAnswer":{"@type":"Answer","text":"Dijkstra argued that goto statements make programs hard to reason about and pushed instead for structured programming using if statements, for loops, and higher-level constructs. Originally titled 'A Case Against the Go To Statement,' the paper's editor Niklaus Wirth renamed it, and it took roughly a decade to convince the industry, ultimately shaping how modern high-level languages are structured. Developers curious how structured programming became the norm can trace that debate on daily.dev."}}]}
```

