Edsger Wybe Dijkstra
1930-05-11–2002-08-06 · Computer Science
Chapter 1: "The Shortest Way from Rotterdam"
The coffee had grown cold, but Edsger Dijkstra barely noticed. His fiancée Ria sat across from him on the café terrace, her shopping bags gathered at her feet, watching the familiar distance settle into his eyes. It was a spring morning in Amsterdam, 1956, and they had been walking through the city since breakfast. Now, as we might imagine it, in the shelter of this small café near the flower market, his body had stopped but his mind had accelerated.
He was thinking about cities. About the problem of getting from one place to another.
The demonstration was coming up—the public inauguration of ARMAC, the Mathematical Centre's newest computer. Dijkstra, at twenty-six, had been tasked with creating something that ordinary people could understand. Not the abstract calculations that occupied his daily work, but something tangible. Something real. The machine needed to impress, and impression required a problem that ministers and journalists and curious citizens could grasp without a mathematics degree.
So he sat on that terrace, his coffee untouched, and thought about travel. About Rotterdam and Groningen. About the question every Dutch person understood intuitively: what is the shortest way to get there?
Twenty minutes later, as he would later recall, he had the algorithm.
It emerged complete, elegant, almost embarrassingly simple. He had designed it entirely in his head, without writing a single symbol on paper, without sketching a single diagram. This was not accident or affectation. "One of the reasons that it is so nice," he would later explain, "was that I designed it without pencil and paper. Without pencil and paper you are almost forced to avoid all avoidable complexities."
Ria had seen this before—the sudden stillness, the eyes focused on nothing visible, the return to presence with that particular half-smile that meant he had found something. She did not interrupt. She was more than a patient witness; she was a colleague, one of the first generation of women to make a career in the new world of computation. Adriaan van Wijngaarden had hired her as part of a cohort of a dozen women with exceptional mathematics grades to work as rekenaars—human computers—at the Mathematical Centre. Edsger himself had taught Ria and the other women programming, initiating them into the arcane art of instructing the Centre's first machines, the ARMAC and the X1. She understood that these moments, seemingly idle, were when the real work happened. A 1954 photograph from the Centre's archive shows her in that context: "Edsger Dijkstra (left), Bram Loopstra and Ria Debets at Mathematisch Centrum." She was inside the frame, a professional at her post.
She knew this particular man, this particular mind. Decades later, she would recall the day he first made an impression on her, when he "entered our Computing Department with a cane." He was, she remembered simply, "a good-looking man, 20 years of age." Now, six years later, she sat across from him, watching him solve a problem that would echo for half a century.
What Dijkstra had designed on that café terrace became foundational to graph theory and network optimization—its descendants and variants would eventually inform the routing protocols, navigation systems, and logistics networks serving billions of people. It would take three years before he bothered to publish it in an academic journal—there was, after all, no established theory of computational complexity yet, and few venues for such work—but it would eventually become, "to my great amazement, one of the cornerstones of my fame."
Yet in that moment, sipping cold coffee with his fiancée in Amsterdam, it was simply a demonstration problem. A neat trick for the public.
He did not know then how far this shortest path would take him.
The habit of thinking without paper, of solving problems entirely in the architecture of his own mind, did not begin on that café terrace. It was older than that, older than university, older perhaps than conscious memory. It began in Rotterdam, in the household where Edsger Wybe Dijkstra was born on May 11, 1930—the third of four children in a family where intellect was the common currency and precision its exchange rate.
His father, Douwe Wybe Dijkstra, was a chemist of considerable standing who had chosen teaching over research, the classroom over the laboratory. At Rotterdam's secondary schools, he taught chemistry with a breadth of knowledge that startled his colleagues. When cosmography needed teaching, he could teach it. When physics required explanation, he explained it. His mind was, as his son would remember, "vast"—capacious enough to accommodate entire disciplines, flexible enough to move between them. He had even made "a few inventions, one of them really sophisticated."
But what stayed with the son was not the father's knowledge. It was his principle.
Douwe Dijkstra was well known among chemists across the Netherlands. University positions were available to him. Colleagues who were his intellectual equals regularly left for academic appointments. Yet he steadfastly refused all offers of advancement, all forms of what he called "scientific promotion." His explanation became a kind of family proverb: "He would rather be the first among the counts than the last among the dukes."
It was a philosophy of sovereignty. Better to excel in a smaller sphere than to be marginal in a grander one. Better to be the best teacher in Rotterdam than the worst professor in Leiden. The father chose mastery over prestige, depth over breadth of influence.
The son absorbed this lesson, though he would apply it differently. Where Douwe accepted his limits and stayed within them, Edsger would redefine the limits themselves. He would not choose between being a count or a duke. He would make himself a new kind of aristocracy altogether.
If Douwe Dijkstra gave his son the philosophy of intellectual sovereignty, his mother gave him the tools to exercise it. Brechtje Cornelia Kluijver was a mathematician—formally trained, university-educated, and entirely unemployed. This was the way of things for women of her generation. A college degree meant nothing when convention decreed that married women did not work. So Brechtje's mathematical gifts found no professional outlet, only domestic expression: helping with homework, correcting proofs, demonstrating the elegance that could be found in well-manipulated formulae.
Edsger watched and learned. His mother's mind, he would recall, was "much less encyclopaedic than that of my father but very quick; she had a great agility in manipulating formulae and a wonderful gift for finding very elegant solutions." She could cut through complexity like light through glass, finding the clearest path to an answer while others were still setting up the problem.
But she was impatient. Teaching requires patience, and Brechtje had little of it. The brilliant solution that came so naturally to her did not come naturally to a child, even a gifted one. "I learned a lot from her," Dijkstra would acknowledge, "though she had not the patience to be a good teacher."
What she lacked in patience, she compensated for in aphorism. One piece of advice, delivered perhaps in frustration at her son's unnecessarily elaborate workings, lodged itself permanently in his memory: "See to it that you know your formulae, and remember that whenever you need more than five lines, you are on the wrong track."
Five lines. It was an arbitrary threshold, of course, but the principle beneath it was not. If your solution sprawled across the page, if it required scaffolding and substructure and qualification upon qualification, then you had not truly understood the problem. Elegance was not ornament; it was evidence of comprehension.
This, too, would shape everything that followed. Dijkstra would become famous—notorious, even—for his insistence on simplicity, for his contempt for systems that made complexity seem sophisticated rather than shameful. He would write that "simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it." That education began at home, at the dining table, watching his mother reduce problems to their essence in fewer lines than seemed possible.
Years later, when Dijkstra had invented much of the foundation of modern computing, he tested a new concept on his mother. He had been thinking about Boolean values—true and false as primitive data types—and wanted to see if the idea would translate to someone trained in classical mathematics. He explained to her that in his system, the statement "three plus five is ten" would not be an error or a mistake. It would simply evaluate to "false."
Brechtje could not accept it. "She was a gifted mathematician," her son observed, "but she could not make that step. For her, 'three plus five is ten' was not a complicated way of saying 'false,' it was just wrong."
Even brilliance has its conceptual limits. Even the woman who could solve anything in five lines could not always follow her son into the strange new territory he was mapping. It was a lesson in the difficulty of paradigm shifts, in how the very habits that make one successful can become obstacles to seeing differently.
But that conversation lay decades in the future. In 1930, in the Dijkstra household, there was only the warmth of intellectual engagement, the casual assumption that ideas were the natural subject of family life, and the unspoken understanding that thinking well was not a hobby but a duty.
Rotterdam in 1930 was a city of consequence. Europe's largest port sprawled along the Nieuwe Maas river, a maze of canals and warehouses and docks where goods from every corner of the world changed hands. The historic center dated back centuries, its gabled buildings and winding streets a palimpsest of Dutch prosperity. The famous Erasmus statue stood watch over the old city, a reminder that this place had produced one of Europe's greatest humanist scholars five hundred years before.
Edsger spent his first decade in this city, absorbing its rhythms, walking its streets, becoming native to its particular mixture of commerce and culture. By 1940, he was a schoolboy approaching his tenth birthday, presumably concerned with the things that concern schoolboys everywhere.
Then the bombers came.
On May 14, 1940—three days after Edsger turned ten—the Luftwaffe attacked Rotterdam. The assault lasted fifteen minutes. Ninety Heinkel bombers dropped 97,000 kilograms of explosives on the city center. The historic core, the medieval streets, the centuries of accumulated architecture—all of it vanished in fire and concussion. Somewhere between 850 and 900 people died. Eighty-five thousand more found themselves suddenly homeless, their neighborhoods reduced to rubble and ash.
The fires spread so far that ash fell on Gouda, thirty kilometers away. Survivors called it "Black Snow."
No direct account survives of how the Dijkstra family experienced that day. We do not know where ten-year-old Edsger was when the bombs fell, what he saw, what he heard, what he felt. We know only that he was there, in that city, on that day, and that the world he had known for his entire conscious life was obliterated in a quarter of an hour.
The German occupation that followed lasted five years. The Gymnasium Erasmianum, where Dijkstra would begin his secondary education in 1942, was among the oldest schools in the Netherlands, founded in 1328. It survived outside the blast zone—but it did not survive the occupation intact. The Germans requisitioned it as military headquarters, forcing the school to continue its ancient mission under new and hostile circumstances.
So Edsger entered gymnasium at twelve, at the height of the occupation, in a city still scarred from bombardment, under a regime that had turned his school into enemy territory. The classical curriculum continued—Greek, Latin, French, German, English, biology, mathematics, physics, chemistry—but it continued in shadow. The normalcy of education persisted against a backdrop of abnormality so profound that it must have marked everyone who lived through it.
And then came the winter of 1944.
The Hunger Winter, the Dutch call it: Hongerwinter. As Allied forces advanced through Europe, the German occupiers cut off food supplies to the western Netherlands in retaliation for a rail strike. From September 1944 to May 1945, approximately four and a half million Dutch civilians experienced famine conditions. Some 22,000 died of starvation or its complications. At its worst, the official ration dropped to 580 calories per day—barely a quarter of what a human body needs to sustain itself.
A family of six in Rotterdam—two parents, four children—would have experienced this deprivation at its most acute. Dijkstra's later references to poverty and hardship almost certainly trace to these months. The specifics are lost. We do not know what the family ate, how they managed, what choices they faced. We know only that they survived, that all four children lived through it, and that the experience left marks that do not appear in any archive.
A child of fourteen watches his city burn and then nearly starves. The adult Dijkstra would become famous for his rigor, his precision, his insistence that systems be built correctly the first time rather than patched together afterward. He would write of the importance of "intellectual self-discipline" and warn against the "creation and preservation of artificial complexity."
The war ended in May 1945. Edsger was fifteen. The Netherlands began the long work of reconstruction. Rotterdam, having lost its entire historic center, would eventually rebuild as a modernist experiment, a city of glass and steel rising from medieval ruins. But that was still in the future. For now, there was only the relief of liberation and the slow return of food, of normalcy, of the possibility that life might continue.
The Gymnasium Erasmianum had survived the occupation, and Edsger Dijkstra had survived with it. Now, in the postwar years, he threw himself into his studies with an intensity that startled his teachers.
The Dutch gymnasium represented the highest level of secondary education, a rigorous six-year program designed to prepare students for university. The curriculum was unapologetically classical: ancient languages, modern languages, sciences, mathematics, all taught to demanding standards. Students who completed it were expected to be able to read Greek philosophers in the original, compose essays in French, and solve problems in physics and chemistry with equal facility.
Dijkstra excelled at all of it.
By 1948, when he sat for his final examinations at eighteen, his performance had achieved something close to legendary status among the faculty. "My grades turned out to be better than most teachers had ever seen at a final examination," he would later recall with characteristic precision. He received the highest possible marks in mathematics, physics, chemistry, and biology—six of the thirteen subjects examined. It was not mere competence but a demonstration of intellectual range that suggested something unusual about the mind producing it.
His teachers must have wondered what he would do with such gifts. Mathematics seemed obvious, perhaps, or physics, or one of the natural sciences where his talents had been so unmistakably displayed. But Dijkstra surprised them.
"During my last year at the gymnasium," he would write, "I decided I wanted to study law." Not science. Not mathematics. Law. "My intention was to become a diplomat, so as to represent my little country in the United Nations, which at that time I saw as mankind's greatest hope for lasting peace."
It was an understandable dream for a young man who had lived through war and occupation. The United Nations had been founded in 1945, the year the Netherlands was liberated, and it represented everything that the preceding years had not: cooperation instead of conquest, negotiation instead of bombardment, the possibility that nations might learn to resolve their differences without incinerating each other's cities.
But older and wiser people intervened. The details of these conversations are lost, but their conclusion survived: "Older and wiser people convinced me that it was safer to base my choice on ability than on idealism."
It was advice that cut against the grain of youthful aspiration, and it must have stung. Idealism is intoxicating at eighteen, especially idealism forged in the fire of genuine suffering. The United Nations, the great hall of nations, the chance to speak for one's country on the world stage—these were heady visions for a boy who had watched his city burn.
But ability is more reliable than idealism, and Dijkstra's abilities were in science and mathematics, not rhetoric and negotiation. He accepted the advice. He put aside the dream of diplomacy. He enrolled at the University of Leiden to study theoretical physics.
It was a practical choice, a rational choice, the kind of choice his mother might have approved of. Better to do what you can do brilliantly than to pursue what you cannot do at all. Better to calculate than to negotiate. Better to prove than to persuade.
And yet the idealism did not disappear entirely. It simply transmuted into a different form. The young man who had wanted to bring order to international relations would spend his career trying to bring order to something equally chaotic: the emerging field of electronic computation. The diplomat would become a programmer, and the United Nations would be replaced by the Mathematical Centre in Amsterdam, but the underlying impulse—the desire to impose clarity on confusion, to find the rules that made cooperation possible—would remain constant.
At Leiden, Dijkstra pursued the path that practical wisdom had chosen for him. Theoretical physics was respectable, rigorous, and well-suited to his demonstrated abilities. He would become a scientist, perhaps a professor, certainly someone whose gifts would be put to proper use.
He was a good student, perhaps even an excellent one, though the blinding brilliance of his gymnasium years did not repeat itself immediately. University was different—larger, more anonymous, filled with other gifted students who had also achieved impossible grades at their own schools. Still, he progressed rapidly enough. He passed his candidate's examination—the midway point of Dutch higher education—"before the end of my third year—which was relatively early."
More importantly, he developed habits that would serve him for the rest of his life.
The streets of Leiden became his thinking space. Where other students went to libraries or sat at desks, Dijkstra walked. He would take his physics problems with him—homework, theorems, proofs—and solve them in his head as he moved through the old university town. Not on paper. Not with pencil and notebook. In the pure space of mental visualization, where nothing could be written down and therefore nothing could be unclear.
It was an extension of what he had learned at home, of his mother's insistence that five lines should be enough for any well-understood problem. If you truly grasped something, you should be able to hold it in your mind complete. The paper was only for communication, for showing others what you had already worked out. The real thinking happened before the pencil touched the page.
This practice would prove prophetic. The algorithm he designed on that café terrace with Ria—the shortest path algorithm that would make him famous—emerged complete precisely because it emerged without external aid. The constraint of his own cognitive limits forced elegance upon the solution. There was no room for unnecessary complexity when the entire structure had to be held in working memory.
But that discovery was still years away. In 1951, Dijkstra was simply a promising young physicist who had passed his midway exam early and was beginning to think about what might come next.
Then his father opened a copy of Nature.
Douwe Dijkstra subscribed to the British science journal as a matter of professional habit—a chemist needed to stay current with developments across the sciences. That subscription would prove more consequential than decades of chemistry lectures. Because buried somewhere in those pages was an advertisement for a three-week programming course at Cambridge University, designed to introduce participants to the EDSAC, one of the world's first stored-program computers.
Douwe showed the advertisement to his son. Programming, he suggested. Computers. The course was intended for scientists who might want to use these new machines in their research. It seemed like exactly the sort of thing that might complement a career in theoretical physics.
Edsger agreed. "I thought it a good idea," he would later explain, "because I intended to become an excellent theoretical physicist and I felt that in my effort to reach that goal, the ability to use an electronic computer might come in handy."
It was the most consequential misunderstanding of his life.
The course was scheduled for September 1951. Edsger would travel to England—his first time leaving the Netherlands—to learn about these strange new machines that could perform calculations faster than any human. He would return home with a useful skill, a technical competence that would make him a better physicist. That was the plan.
What actually happened was something different entirely.
The details of that Cambridge course—the faces, the lectures, the specific problems solved—have not survived in Dijkstra's accounts. What survives is the feeling.
"It was a frightening experience," he would write decades later. "It was the first time that I left the Netherlands, the first time I ever had to understand people speaking English and immediately I was all by myself, trying to follow a course on a totally new topic."
Frightening. The word is unexpected from the man who would become famous for his intellectual self-assurance, his devastating wit, his serene conviction in his own correctness. But in September 1951, Edsger Dijkstra was twenty-one years old, had never traveled abroad, and found himself suddenly immersed in a foreign language, a foreign culture, and a foreign discipline all at once.
The course was run by Maurice Wilkes, one of the pioneers who had built the EDSAC and helped establish the very idea of what a computer program might be. The students were scientists from across Europe, gathered to learn the arcane art of instructing machines. The concepts were novel, the terminology unfamiliar, the entire enterprise so new that no textbooks existed and few precedents applied.
But something else emerged from that fear. "I liked it very much."
Whatever programming was—and in 1951, no one was entirely sure—it spoke to something in Dijkstra. The precision. The elegance. The way a well-constructed program could solve a problem not through brute effort but through careful design. These were the qualities his mother had taught him to value in mathematics, the principles his father had exemplified in his commitment to depth over breadth.
Programming, it turned out, was not a useful supplement to theoretical physics. It was something else entirely. Something that demanded a different kind of thinking, a different kind of attention, a different kind of mind.
Dijkstra returned to the Netherlands changed, though he did not yet know how much.
The country was small enough that word traveled. Adriaan van Wijngaarden, director of the Computation Department at the Mathematical Centre in Amsterdam, learned that a young Leiden student had attended the Cambridge course. Van Wijngaarden had taken the same course the previous year. He understood what these new machines might become, and he understood that the Netherlands would need people who could work with them.
He offered Dijkstra a job.
In March 1952, Edsger Wybe Dijkstra became "the first Dutchman with the qualification 'programmer' on the payroll." He was twenty-one years old. He was still technically a physics student. And he had just stepped across a threshold into unmapped territory—a profession that didn't have a name, working on machines that barely existed, in a field that no one yet understood.
Four years later, on a café terrace in Amsterdam, a young man sat with his fiancée and thought about cities. About Rotterdam and Groningen. About the question of how to get from one place to another by the most efficient route.
In twenty minutes, without pencil or paper, he designed an algorithm that would reshape the world.
He did not know, in that moment, that he was inventing the future. He did not know that his solution would one day inspire the algorithms that power GPS systems and internet routers and logistics networks serving billions of people. He only knew that he had found an elegant answer to a practical problem, a demonstration that might impress the visitors at ARMAC's inauguration.
The coffee had gone cold. Ria was waiting. The shopping bags sat at her feet, and the morning was getting on.
Edsger Dijkstra stood up from the café table, the algorithm complete in his mind, and returned to the day's business.
He was twenty-six years old. He was engaged to be married. He was the first programmer in the Netherlands.
And in the journal Nature, another advertisement was about to appear—one that would force him to choose, finally and irrevocably, between the theoretical physicist he had intended to become and the computer scientist he was already becoming.
But that choice lay just ahead. For now, there was only the morning sun on the café terrace, the completed algorithm resting in his thoughts like a perfectly balanced equation, and the longest journey of his life about to begin.
Chapter 2: "To Make a Respectable Discipline"
The door to Adriaan van Wijngaarden's office at the Mathematical Centre felt heavier than usual. Edsger Dijkstra stood before it, twenty-five years old, his hand raised to knock, carrying with him the accumulated weight of three years' worth of doubt. It was 1955, and he had come to confess what felt like a professional failure before it had properly begun.
He knocked.
The conversation that followed would last several hours. When Dijkstra finally emerged, blinking into the Amsterdam afternoon, he would later write that he "was another person." But that transformation did not come easily. First, he had to explain to the man who had hired him—who had believed in him—why he was ready to walk away from everything they had built together.
The trouble had begun, as troubles often do, with a question of identity.
For three years, Dijkstra had lived a double life. By day, he worked at the Mathematical Centre, writing programs for machines that barely existed, solving problems that had no textbooks, inventing techniques that had no names. By night and weekend, he continued his studies in theoretical physics at the University of Leiden, pursuing what he still believed was his true calling. The arrangement had seemed clever at first—a young man hedging his bets, keeping one foot in the respectable world of academia while exploring this strange new territory of electronic computation.
But as the months passed, the arrangement had begun to feel less like cleverness and more like cowardice.
"I had to make up my mind," he would later recall, "either to stop programming and become a real, respectable theoretical physicist, or to carry my study of physics to a formal completion only, with a minimum of effort, and to become... yes what?"
The pause in that sentence, even decades later, carried the weight of the original crisis.
"A programmer? But was that a respectable profession?"
The question sounds almost quaint now, when programmers command six-figure salaries and reshape the architecture of daily life. But in 1955, the question was genuine, even urgent. There were no computer science departments at any university in the world. There were no programming textbooks, no professional societies, no career paths. There were only a handful of machines scattered across research laboratories, each one different from the others, each one requiring its operators to invent their craft from scratch.
Dijkstra looked at his colleagues in the hardware division—men who could point to their knowledge of vacuum tubes, amplifiers, oscilloscopes, the solid physical substrate of their work—and felt a creeping despair. "I envied my hardware colleagues," he admitted, "who, when asked about their professional competence, could at least point out that they knew everything about vacuum tubes, amplifiers and the rest, whereas I felt that, when faced with that question, I would stand empty-handed."
What did a programmer know? What could a programmer show for himself? The programs vanished the moment the machine was turned off. The techniques existed only in the minds of the people who had invented them. The entire edifice of the work felt somehow unreal, built on foundations that might dissolve at any moment.
It was this sense of professional vertigo that drove Dijkstra to van Wijngaarden's door.
The team Dijkstra had joined three years earlier was an improvised affair. Van Wijngaarden, who held a doctorate in mathematics, was a formidable mathematician and physicist by training. Bram Jan Loopstra and Carel S. Scholten, who were continuously rebuilding a relay machine called the ARRA, were studying experimental physics. None of them had formal credentials in the field they were creating because the field did not yet exist to grant credentials. Their strength came from this very lack of orthodox training; they were forced to invent principles as they went, borrowing from whatever discipline seemed useful.
What they had instead was a way of working that Dijkstra would carry with him for the rest of his life.
The process began, counterintuitively, with documentation. Before the hardware was built, before a single line of code was written, the team would sit down and write a programming manual. They would decide, in advance, exactly how the interface between the hardware and the software would function. Then they would separate: the hardware designers would build the machine to those specifications while Dijkstra would write programs for a computer that existed only on paper.
The approach seemed almost perversely optimistic. How could you write software for a machine that had not been built? How could you trust that the machine, when it finally existed, would match the manual?
But that was precisely the point. By forcing themselves to make decisions early, by committing to an interface before the implementation, the team discovered something profound: debugging could be largely avoided through careful design. If you thought hard enough at the beginning, if you were rigorous enough in your specifications, you did not have to spend weeks later hunting for the mistakes that sloppy thinking inevitably produced.
Dijkstra was learning, in those early years at the Mathematical Centre, a lesson that would define his entire philosophy: the importance of getting things right the first time, of thinking before coding, of design before debugging. It was an approach that ran counter to the emerging culture of programming, which increasingly emphasized trial and error, quick prototypes, the rapid iteration of flawed attempts. But Dijkstra had seen, in those first collaborations, that another way was possible.
Still, the question of respectability nagged at him.
By 1955, Dijkstra had been programming for three years. He had contributed to real projects, solved genuine problems, helped to build systems that worked. But he could not shake the feeling that he was wasting his time on something that might turn out to be a historical footnote. The computers of the early 1950s were massive, expensive, unreliable machines—room-sized contraptions that required teams of specialists to operate and maintain. How many of them would there ever be? Ten? A hundred? Would there still be programmers in twenty years, or would the machines learn to program themselves?
He stood at a crossroads. Physics offered a clear path: a doctorate, a professorship, a career in a field that stretched back to Newton and would stretch forward to eternity. Programming offered uncertainty, improvisation, the constant possibility of obsolescence. He had spent his childhood watching the world dissolve into chaos—Rotterdam burning, his school occupied, his family enduring the Hunger Winter. The desire for stability, for a profession that could not be swept away by technological change, was entirely understandable.
So he went to van Wijngaarden's office, prepared to resign.
Van Wijngaarden listened. He was a patient man, methodical, the kind of director who understood that the people who worked for him were not merely employees but individuals with doubts and aspirations that could not be solved by administrative fiat. He let Dijkstra talk, let him lay out his fears and uncertainties, his sense that programming was not yet a real discipline.
Then van Wijngaarden responded, and in doing so, he reframed the entire question.
Yes, he agreed, there was not much of a programming discipline yet. The field was young, amorphous, still struggling to define itself. But this was not a reason to abandon it. This was a reason to stay.
"Could not I be one of the persons called to make programming a respectable discipline in the years to come?"
The question hung in the air. It was not merely an offer of reassurance but a challenge, an invitation to see his frustration not as a signal to retreat but as a call to advance. The very absence of respectability was an opportunity. Someone would have to build the foundations, establish the principles, transform programming from a craft into a science. Why not Dijkstra?
The conversation lasted for hours. When Dijkstra finally left, he understood that he had been given something more valuable than a pep talk. He had been given a mission.
"This was a turning point in my life," he would later write, with understatement. He completed his physics degree but "with a minimum of effort," finishing it to satisfy the requirements but no longer believing that physics would be his future. His future would be programming—not programming as it currently existed but programming as it might become.
On April 23, 1957, Dijkstra encountered a small but telling confirmation of how far the world still had to go.
He was getting married to Ria—the colleague who had been sitting across from him on that café terrace when the shortest path algorithm emerged. Their relationship had grown alongside his career, intertwined with the institution where they both worked. Now they stood before the Dutch authorities, ready to formalize their union.
Dutch marriage rites of the period required each party to state their profession. Dijkstra, without hesitation, said "programmer."
The authorities objected. There was no such profession. It did not exist in their records, their categories, their understanding of how the world was organized. One could be a physicist, an engineer, a mathematician—but a programmer? The word meant nothing to them.
They argued. Dijkstra insisted. The authorities remained immovable.
In the end, a compromise was reached. On his marriage certificate, the document that would officially record his entry into adult life, Edsger Dijkstra was identified as a "theoretical physicist."
He had, technically, abandoned physics years earlier. But the world had not yet caught up. The profession to which he had devoted his life, the discipline he had committed to building, was still invisible to the institutions that organized society. He was, according to the official record, something he was not—because what he actually was had no name that bureaucracy could recognize.
The incident was small, almost comic. But it crystallized everything that van Wijngaarden had said. The respectability was not there yet. It had to be built.
The building happened slowly, then all at once.
In the late 1950s, an international effort was underway to create a universal programming language—something that would work on any machine, that would allow programs to be written once and run everywhere. The effort was called ALGOL, short for Algorithmic Language, and it represented the first serious attempt to impose mathematical rigor on the chaos of early programming.
The ALGOL 60 specification was published in early 1960, the product of intense collaboration among computer scientists from Europe and America. It was elegant, precise, and entirely theoretical. No one had yet built a compiler—the program that would translate ALGOL code into the machine instructions that computers could actually execute. The specification existed on paper. Making it real was another matter entirely.
Dijkstra, working with his colleague Jaap Zonneveld, set out to build that compiler.
The project was exhausting. The two men worked in a state of sustained intensity that bordered on the obsessive, pushing through technical problems that had no precedents, inventing solutions on the fly. They made a pact: neither would shave until the compiler was finished. It was a silly gesture, perhaps, but it served as a visible reminder of their commitment—and as the weeks stretched on, their growing beards became a kind of scoreboard, measuring the duration of their effort.
They were racing. In Copenhagen, Peter Naur's team was working on their own ALGOL 60 compiler. There was no formal competition, no prize for finishing first, but the Mathematical Centre in Amsterdam wanted to demonstrate that the small Dutch team could hold its own against the larger, better-funded efforts elsewhere.
On August 24, 1960, Dijkstra and Zonneveld's compiler was complete. They had beaten Copenhagen. And when they finally shaved—photographs show Dijkstra looking almost startlingly clean-faced afterward—they had done more than finish a project. They had proven that careful, rigorous design could produce results faster and more reliably than the trial-and-error approach that dominated the field.
The compiler worked. It worked because they had thought carefully before they built, because they had designed before they debugged, because they had followed the principles that Dijkstra had absorbed in his early years at the Mathematical Centre and that van Wijngaarden had helped him articulate. The success was technical, but it was also philosophical: a demonstration that programming could be done right.
The decade that followed would see Dijkstra rise from promising young researcher to international figure. His PhD thesis, Communication with an Automatic Computer, completed in 1959 under van Wijngaarden's supervision at the University of Amsterdam, was among the first doctoral theses in what would become computer science. It addressed the real-time interrupt problem—a fundamental challenge in making computers responsive to unpredictable external demands, the kind of sudden signals from the outside world that could arrive at any moment and required the machine to break from its current task, respond, and resume without losing its way. It was serious work, technically demanding and conceptually original, recognized as such by the small community of people who understood what he was doing.
But more important than any single achievement was the cumulative effect of his approach. In a field that was still largely ad hoc, still characterized by clever tricks and individual heroics, Dijkstra was insisting on something different: that programming could be systematic, that it could be taught, that it could be understood mathematically rather than merely practiced intuitively.
Van Wijngaarden had asked whether Dijkstra could be one of the people called to make programming a respectable discipline. In the years after that conversation, Dijkstra began answering. Each achievement—compiler, thesis, algorithm—was less a discrete contribution than a fragment of a larger argument: that programming was, or could become, a discipline.
In 1962, he would leave Amsterdam for a professorship at the Eindhoven University of Technology, where he would build the systems and articulate the ideas that would earn him the field's highest honor. But the foundation had been laid in those early years at the Mathematical Centre, in the hours spent in van Wijngaarden's office, in the exhausting weeks of building the ALGOL 60 compiler, in the small humiliation of a marriage certificate that could not accommodate his chosen profession.
The authorities had told him there was no such thing as a programmer. He would spend the rest of his life proving them wrong.
Chapter 3: "The Humble Programmer"
The message appeared on the console for the first time, and for a moment nobody moved.
Tony Hoare had come to Eindhoven to see for himself what Dijkstra's small team had built. He had heard the claims—that this operating system, this THE multiprogramming system, could juggle multiple programs simultaneously without ever descending into chaos. That it was, in the parlance of the trade, deadlock-free. But Hoare was a scientist, and scientists required proof.
So they tested it. They fed the system pathological inputs designed to break it—infinite recursion, circular paper tape loops, every perverse configuration that creative minds trained to anticipate disaster could devise. The system handled them all with the mechanical grace of a well-tuned engine.
Then, finally, something triggered that restart message.
The message itself had been resident in expensive core storage from the beginning—precious memory that could have been allocated to useful work, but instead had been held in reserve, waiting. Waiting for something to go wrong. It was the kind of decision that accountants would question and managers would flag as wasteful: why dedicate scarce resources to a message that might never be needed?
Now it was needed. And that was the point.
What impressed Hoare was not that the system had finally stumbled—all systems eventually stumble—but that Dijkstra's team had anticipated the stumble, had planned for it, had built recovery into the machine's bones. The restart message proved their foresight. The fact that this was the very first time it had appeared, after all their deliberate attempts to provoke failure, proved their discipline.
"The THE operating system," Hoare would later write, "had been designed by a practical engineer of high genius."
The engineer himself was, by the standards of Eindhoven's mathematics department, something of an anomaly. When Dijkstra arrived in 1962 to take up his professorship, the department made clear that he had been their third choice. Two numerical analysts had declined before the committee, with evident reluctance, offered the position to this self-taught programmer who wore sandals to interviews, kept a beard, and displayed what his new colleagues delicately termed "arrogance"—though Dijkstra, in his autobiographical notes, would add a characteristic parenthetical: "(whatever that may be)."
The mathematics department at Eindhoven was a traditional institution with traditional expectations. Mathematicians worked alone. They thought deep thoughts, produced papers, and maintained the kind of dignified reserve appropriate to scholars of abstract truth. They did not, as a general rule, attempt to build collaborative research groups that blurred the boundaries between pure thought and practical application.
Dijkstra attempted exactly this. He gathered a small team—never more than six people, most working only half-time—and set them to building something that existed at the uneasy intersection of mathematics and engineering: an operating system that would prove theoretical correctness could be achieved in practice. To the mathematics department, computer science, to the extent that such a discipline could be said to exist, was not mathematics; it was something else, something lesser, something that belonged perhaps in an engineering faculty if it belonged anywhere at all.
The friction was constant and wearing. Dijkstra had come to Eindhoven hoping to build the kind of intellectual community he had known at the Mathematical Centre in Amsterdam—a place where hardware designers and software pioneers worked side by side, where the documentation was written before the machine was built, where debugging was considered a failure of design rather than an inevitable phase of development. What he found instead was institutional resistance dressed in academic courtesy.
Yet the work continued. In his small corner of an uncomprehending department, Dijkstra and his team assembled THE.
The name itself was a kind of joke, or perhaps an accident that became a joke. Dijkstra never formally named the system; THE was simply the abbreviation for Technische Hogeschool Eindhoven, the institution where it was built. But in a field already cluttered with pompous acronyms—FORTRAN, COBOL, ALGOL—there was something disarming about a system that announced itself with nothing more than a definite article.
The problem THE addressed was fundamental: how to make one computer do many things at once. In the mid-1960s, computers were rare and expensive, and the inefficiency of single-user operation had become intolerable. A machine that cost millions of guilders sat idle while a programmer puzzled over a bug, then roared into action for a few seconds of calculation, then sat idle again while someone loaded the next job. Multiprogramming promised to change this—to keep the machine constantly busy by switching between tasks, running one program while another waited for input, executing a third while the second wrote to tape.
The difficulty was coordination. Programs sharing a machine also shared resources—memory, tape drives, processing time. Without careful management, they would inevitably collide: two programs trying to write to the same tape simultaneously, three programs deadlocked in a circular wait for resources that none could release, chaos breeding more chaos until the entire system ground to a halt.
Dijkstra's solution emerged from a deceptively simple insight. The problem of coordination was not fundamentally different from the problem of mutual exclusion—of ensuring that when one program entered a critical section of code, no other program could enter the same section until the first had finished. He needed a mechanism that would let programs signal each other, waiting when necessary, proceeding when safe.
In May 1961, he found it: the semaphore.
The name came from railway signaling—those mechanical arms that rose and fell to indicate whether a track was clear. Dijkstra's semaphores were simpler: integer variables paired with two atomic operations. The P operation (from the Dutch proberen, to try) would decrement the semaphore and block the calling program if the result was negative. The V operation (from verhogen, to increase) would increment the semaphore and potentially wake a waiting program. With these primitives, the entire apparatus of mutual exclusion and synchronization could be built.
Where others might have designed complex protocols with multiple states and elaborate signaling schemes, Dijkstra had reduced the problem to its essence: two operations, one integer, a foundation on which everything else could stand.
But elegance created its own dangers. Semaphores were powerful precisely because they were primitive, and primitive tools could be used incorrectly. A programmer who forgot a V operation would leave other programs waiting forever. A programmer who performed a V without a corresponding P would corrupt the system's understanding of resource availability. And in the most insidious failure mode, multiple programs using multiple semaphores could become deadlocked—each holding one resource, each waiting for another, none able to proceed.
Dijkstra needed a way to teach these dangers. He needed an example that would make the abstraction concrete, that would let students see the deadlock lurking in the logic before they encountered it in their code.
So he invented a dinner party.
The problem he posed on that exam was, at first, about tape drives. Five computers arranged in a ring, each needing access to two tape drives that it shared with its neighbors. How should they coordinate? Under what circumstances would they all wait forever, each holding one drive, each needing the other?
As the story is usually told, it was Tony Hoare who transformed the abstract problem into its immortal form. He reimagined the computers as philosophers seated at a circular table, the tape drives as forks placed between them, the computation as the distinctly human activity of eating spaghetti. Each philosopher needed two forks to eat—one from each side—and there were only as many forks as philosophers. When did they dine? When did they starve?
The Dining Philosophers problem became one of the most famous pedagogical devices in computer science, taught in every operating systems course, analyzed in hundreds of papers. Its power lay in its humanity. Students who struggled to care about tape drives cared about philosophers; the image of five great thinkers starving to death because none would release a fork carried an emotional weight that no technical diagram could match.
Dijkstra appreciated this, even as he continued to prefer formal precision to colorful metaphor. The best abstractions, he was learning, were those that could be grasped both intuitively and rigorously—that spoke to the imagination and to the logic simultaneously.
THE was such an abstraction. It was not merely an operating system; it was a proof that operating systems could be understood, analyzed, verified. Operating systems, in those years, grew by accretion—ad hoc, disorderly, patched until they more or less functioned. Dijkstra, by contrast, imposed hierarchy, discipline, proof. The system was organized into strict hierarchical levels, each level building on the services provided by the level below, each level presenting a clean interface to the level above. Deadlock was not merely rare; it was, by construction, impossible.
"If my dreams have come true," Dijkstra wrote of his team, "it is due to their faith, their talents, and their labor."
The dreams did come true. But dreams, Dijkstra was about to learn, extract their price.
In October 1968, a remarkable assembly gathered in the Bavarian town of Garmisch. The NATO Science Committee had convened a conference on software engineering—a term that barely existed, attached to a crisis that could no longer be ignored. The attendees included some of the brightest minds in the infant field: Peter Naur from Copenhagen, Niklaus Wirth from Zurich, Alan Perlis from Carnegie Mellon. And Edsger Dijkstra from Eindhoven, who came carrying the weight of everything he had seen go wrong.
The software crisis, as the conference would officially christen it, was simple to describe and seemingly impossible to solve. Software projects were failing. They ran over budget. They ran over schedule. They delivered products that didn't work, or didn't work as specified, or worked only until some unforeseen combination of inputs caused catastrophic failure. The more important software became to society—controlling banks, routing phone calls, guiding missiles—the more dangerous these failures became.
"Here," Dijkstra later wrote, "the existence of the software crisis and the urgency of the situation were openly admitted by such an impressive collection of representative authorities."
The diagnosis was clear enough. The disease was complexity—the overwhelming, unmanageable complexity of software systems that had grown beyond any individual's ability to comprehend. Programs of hundreds of thousands of lines, written by teams of dozens of programmers, modified and extended over years until no one understood how they worked or why they failed. The cure was less obvious. Some argued for better management techniques. Others advocated more powerful programming languages. Still others suggested that the problem was fundamentally one of education—that programmers needed to be trained as engineers, with an engineer's discipline and an engineer's respect for proven methods.
Dijkstra listened to all of this, and he thought that most of it missed the point.
The problem was not management, or languages, or training. The problem was that programmers had been approaching their craft with entirely the wrong mental orientation. They had been writing programs the way novelists wrote novels—starting at the beginning, continuing to the end, then fixing the parts that didn't work. They had been debugging rather than designing, testing rather than proving, hoping rather than knowing.
What they needed was humility.
The word seems strange, applied to Dijkstra. Here, after all, was a man whose arrogance would become legendary. Here was the author of devastating critiques and cutting dismissals, the man who would later write that BASIC "mentally mutilated" its students "beyond hope of regeneration." Humility was not his most obvious virtue.
But the humility Dijkstra meant was not social; it was intellectual. It was the recognition that the human brain is small, that human attention is limited, that the programs we must write and maintain have long since exceeded our ability to hold them complete in our minds. The competent programmer, he argued, "is fully aware of the strictly limited size of his own skull."
This awareness led to a paradox that only seems paradoxical until you think it through. Because our minds are limited, we must write simple programs. Because our programs must be simple, we must develop rigorous methods for keeping them simple. Because rigor requires discipline, and discipline requires effort, the humble programmer works harder than the arrogant one. The humble programmer does not trust his intuition, does not believe his code is correct merely because testing has not found bugs, does not assume that complexity can be managed by cleverness alone.
The humble programmer, in short, was everything the software industry was not.
But even as Dijkstra formulated these ideas, refining them in the EWD papers that circulated through the community like samizdat, something was breaking inside him. The professional crisis had been building for years, a slow accumulation of institutional friction that finally reached its breaking point.
The culture of the mathematics department at Eindhoven, as a later memorial resolution would tactfully put it, "did not particularly suit him." This was a masterpiece of academic understatement. Dijkstra himself was more direct. "The official reaction of the Sub-department of Mathematics to the THE-system was one of deep silence," he wrote in a 2001 retrospective. "It was not 'mathematics', and they chose to ignore it." The silence was not passive neglect; it was active resistance. "I was even more annoyed when, a few years later, the same Sub-department of Mathematics killed my plans for a separate curriculum for 'Computing Science Engineer.'"
He found himself caught between two worlds, neither of which fully accepted him. "It was a department of mathematics, and the mathematicians didn't see the point of computing at all," he told an oral historian. "So for the first five years or so I was pretty lonely." The engineers were no more receptive. "The engineers on the other side didn't see the point either… I was really between two stools."
By 1967, the chronic friction had ignited into a full-blown crisis. The mathematics department, which had never accepted informatics as relevant to its calling, moved to disband the research group Dijkstra had spent years building. For a professor who had staked his career on establishing computing science as a legitimate discipline, the institutional message was devastating: his work, his students, his entire research program were being systematically marginalized by colleagues who regarded the field itself as beneath serious attention.
But the institutional rejection was only one blade of a scissors. The other, as Dijkstra would later admit with characteristic honesty, cut from within. "I knew that in retrospect, the ALGOL implementation and the THE Multiprogramming System had only been agility exercises," he wrote in EWD1308, "and that now I had to tackle the real problem of How to Do Difficult Things." The man whose operating system had dazzled Tony Hoare, whose semaphores would become foundational to the entire field, was privately dismissing these achievements as mere warm-ups—practice runs for a challenge he could not yet name and did not know how to begin. It was his own hesitation about what to do next, the vertiginous uncertainty of a thinker who sensed that his real work lay ahead but could not see its shape, that combined with the departmental hostility to produce something neither force alone might have caused.
The cumulative effect was profound. In the spring and summer of 1968, Dijkstra suffered a serious depression that persisted for nearly half a year, severe enough, as his colleague Krzysztof Apt would later recount, to require hospitalization. The mathematics department chose this period to complete the dismantling of his research group. Computer science, they explained, was not important enough to warrant continued support.
It was a cruel verdict. He had spent six years fighting for the legitimacy of his field, had produced work that would still be studied half a century later, had earned the respect of colleagues around the world—and his own institution had concluded that none of it mattered. And in his darkest moments, he could not even summon the certainty that they were wrong—not because his past work lacked value, but because he sensed it had been preparation for something he had not yet achieved.
In the slow process of recovery, Dijkstra did what he had always done when the world failed to make sense. He wrote.
EWD249 began as therapy and became a manifesto. "I started writing 'Notes on Structured Programming' for therapeutic reasons," he would later explain. "When that text was written, I knew what I had to do, and I knew how I was going to attack it." The writing was not for an audience; it was for himself, a way to rebuild his own intellectual foundations. In the preface to the eighty-seven-page manuscript, he was explicit: "These notes have the status of 'Letters written to myself': I wrote them down because, without doing so, I found myself repeating the same arguments over and over again." And then, with a candor that revealed just how fragile the reconstruction still felt: "I am only too aware of the fact that it ends in mid-air." It was the confession of a man not yet certain his thinking had arrived anywhere—a private mental workshop that became a public declaration.
The document circulated first to friends: twenty copies mailed from Dijkstra's home to colleagues who would understand and appreciate it. The local reception was exactly what he had come to expect. "I sent a copy to all of my colleagues in the department," he recalled, "and the reaction was silence or scathing remarks."
But outside Eindhoven, the ideas spread with a speed and reach that no formal publication could have achieved—copied and recopied until the text had traveled far beyond anyone Dijkstra had intended to reach. The silence of his own department was drowned out by a global chorus of engagement. "But by that time I had recovered," he noted, the quiet satisfaction palpable even decades later.
"Notes on Structured Programming" became, in its quiet way, a phenomenon. It was published formally in 1972, bound together with essays by Hoare and Ole-Johan Dahl in a volume titled simply Structured Programming. But by then the ideas had already escaped, had already begun reshaping how a generation thought about code. Dijkstra had written his way back to clarity, and in doing so had illuminated a path that others could follow.
The depression lifted. The work continued. And in 1972, the recognition came.
The Turing Award was, and remains, the highest honor in computer science—the closest thing the field has to a Nobel Prize, though Dijkstra would have disliked the comparison. The 1972 award carried a citation that captured something essential about its recipient: "Dijkstra's style: his approach to programming as a high, intellectual challenge; his eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness."
For his acceptance speech, Dijkstra chose to deliver not a survey of his technical accomplishments but a meditation on the nature of the field itself. He called it "The Humble Programmer."
The title was not ironic, though many who knew him must have raised an eyebrow. It was, rather, a statement of philosophy—a declaration that the proper response to complexity is not bravado but modesty, not confidence but care. The humble programmer does not boast of his ability to manage sprawling systems; he designs systems that do not sprawl. The humble programmer does not trust his debugging skills; he writes code that is correct by construction. The humble programmer knows the size of his skull.
Standing before the assembled worthies of the ACM, Dijkstra laid out his vision. Programming, he argued, was not a clerical task but an intellectual discipline of the highest order. It required mathematical rigor, aesthetic sensitivity, and above all the kind of disciplined modesty that prevented programmers from attempting more than they could reliably achieve. The crisis in software was real, but it was not inevitable; it was the predictable consequence of hubris, of programmers who imagined they were cleverer than they actually were.
The speech was everything Dijkstra had learned, distilled into an hour. It was technical and philosophical, practical and aspirational. It acknowledged the difficulty of the craft while insisting that the difficulty could be mastered. And it ended with a challenge that was also a promise:
"We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers."
The applause that followed marked a turning point, though not the one Dijkstra might have hoped for. He was now, officially, a laureate—one of the recognized masters of his field, his ideas validated by the highest authority the profession could bestow. His work on operating systems, on structured programming, on the mathematical foundations of software had earned him a place in the permanent record.
But recognition brought its own complications. Dijkstra was not temperamentally suited to diplomacy, to the careful hedging and qualified praise that smoothed relations in professional communities. He had strong opinions, and he expressed them strongly. He believed things to be true, and he said so, and he was often right—but being right, in the social calculus of academic life, was not always the same as being wise.
The controversies were coming. The letter about GOTO that would spark a debate lasting decades. The feuds with colleagues who did not share his vision. The growing reputation for arrogance that would soon earn him his own unit of measurement. The humble programmer was about to become, in the eyes of many, something considerably less humble.
But that was the future. In 1972, standing at the podium with his Turing Award, Dijkstra had arrived at something more durable than vindication. A man who had been hospitalized for depression four years earlier, whose own department had dismantled his research group while he lay ill, had written himself back to wholeness—and the pages he produced in that recovery had reshaped a profession. A man whose ideas the mathematicians of Eindhoven had greeted with silence had watched those same ideas travel the world without him, passed hand to hand by strangers who recognized their worth. And now that man stood before the ACM and offered his field not a boast but a creed: that the programmer's proper stance before complexity was one of deliberate, clear-eyed modesty.
The humble programmer had made his point. Now he would spend the rest of his career making sure no one forgot it.
Chapter 4: "A Case against the GO TO Statement"
The terrace of the hotel in Baden bei Wien caught the morning light at a particular angle that made coffee cups gleam like instruments of precision. It was the autumn of 1964, and the members of IFIP Working Group 2.3 had gathered for one of their periodic meetings—small conclaves of the initiated, where the future of programming languages was debated in rooms thick with pipe smoke and technical jargon. Dijkstra had spent the previous evening in a state of productive agitation.
The day before, Adriaan van Wijngaarden had demonstrated something during the technical sessions. It was, in its way, an academic exercise—showing how one could eliminate the infamous GOTO statement through recursive procedure calls. The GOTO was programming's blunt instrument, the command that told a computer to jump from one point in a program to another, anywhere, for any reason, with no regard for the structural havoc it might create. Van Wijngaarden's demonstration was clever. It was also, to most observers, a curiosity—the intellectual equivalent of showing that one could, if sufficiently motivated, eat soup with a fork.
Dijkstra saw something else entirely.
He had returned to his hotel room and spent the evening not merely understanding van Wijngaarden's demonstration but inverting it. If GOTO statements could be eliminated after the fact, what would happen if you simply never used them in the first place? He began deriving programs from scratch, building them without a single jump command, watching as the code took on a different character entirely. The structures became clearer. The logic became traceable. What had been tangled webs became something approaching architecture.
Now, on the terrace, coffee in hand, he began to proselytize.
"The programs become simpler," he told his colleagues, moving from table to table with the restless energy of a man who had glimpsed something essential and needed everyone to understand its implications. "Not just different—simpler. The structure reveals itself."
The reactions varied. Some colleagues listened with genuine interest; others with the patient tolerance reserved for enthusiasts. A few pushed back. The GOTO statement was fundamental to how computers actually worked. It was practical. It was efficient. It was, for God's sake, how things were done.
Dijkstra was unmoved. In less than twenty-four hours, he had converted a sterile academic exercise into something that felt, to him at least, like a movement. He had no way of knowing that morning that this movement would eventually tear through the programming world like a theological schism, generating controversy that would outlast most of the programming languages it criticized.
He also had no way of knowing that the controversy would be ignited, in part, by a title he never chose.
Four years passed. The idea that had crystallized on that Austrian terrace had been refined, tested, argued over in small circles, incorporated into Dijkstra's teaching and writing. By 1968, he was ready to make a formal case. He wrote a short paper—more of a letter, really—and submitted it to the Communications of the ACM under the title "A Case against the GO TO Statement."
It was a measured title, academic in its phrasing, suggesting a reasoned argument rather than a battle cry. The paper itself made a careful case that the quality of programmers could be inversely correlated with the density of GOTO statements in their code—that the construct, while sometimes convenient, led to programs whose behavior became nearly impossible to reason about. He argued for a different approach, one built on structured control flow: sequences, selections, iterations. Clean. Traceable. Human.
What happened next demonstrated that sometimes the packaging matters as much as the contents.
Niklaus Wirth was the editor who handled the submission. Wirth was a careful, methodical Swiss computer scientist who would later win his own Turing Award for the design of programming languages. He was also, on this particular occasion, facing a substantial backlog. Letters could be published faster than full papers. Wirth recognized that Dijkstra's argument deserved rapid circulation.
So he made a decision that would echo through computing history. Without consulting the author, he changed the title.
"A Case against the GO TO Statement" became "Go To Statement Considered Harmful."
The new title was punchier, certainly. It was also inflammatory in a way the original had carefully avoided. "Considered Harmful" carried the weight of moral judgment, the tone of a public health warning. Wirth's intention was simply to speed publication; what he achieved was to transform a scholarly argument into what read like a manifesto.
When the letter appeared in March 1968, the response was immediate and volcanic.
The computing community of 1968 was not accustomed to being told that a fundamental tool of their trade was harmful. Programmers had been using GOTO statements since the dawn of the stored-program computer. The instruction was baked into assembly language, into FORTRAN, into COBOL, into virtually every language that had achieved practical significance. To be told that this ubiquitous construct was not merely problematic but actively damaging—and to be told this in such declarative terms—provoked reactions ranging from thoughtful engagement to visceral rage.
"There ensued," Dijkstra would later write, "a giant commotion in the computing community, with combatants taking positions on all sides of the issue."
The defenders of structured programming rallied to Dijkstra's banner. The defenders of practical expedience dug in. And a curious third faction emerged: those who agreed with Dijkstra's underlying argument but objected to the absolutism of his tone. Among them was Donald Knuth, who in 1974 published a nuanced paper titled "Structured Programming with go to Statements" that gave examples where direct jumps led to clearer, more efficient code. It was a gentle pushback against Dijkstra's absolutism, offered with respect and technical precision.
Knuth later captured the absurdity of the situation with wit: "Dr. Goto cheerfully complained that he was always being eliminated." He was referring to Eiichi Goto, a Japanese computer scientist whose surname had become synonymous with programming heresy through no fault of his own.
The debate might have faded into the usual academic half-life—influential among specialists, invisible to everyone else—except that it refused to die. The controversy had tapped into something deeper than technical preference. It was a proxy war over programming's identity: was it a craft governed by practical wisdom, or a discipline that should aspire to mathematical rigor? Was programming an art or a science? The GOTO statement, humble and ubiquitous, had become a symbol.
Nearly two decades after the original publication, in March 1987, a programmer named Frank Rubin published a counter-attack in Communications of the ACM. His title was deliberately recursive: "'GOTO Considered Harmful' Considered Harmful." Rubin argued that banning GOTO was like butchers banning knives because workers sometimes cut themselves—a triumph of ideology over pragmatism. He provided examples where GOTO statements produced cleaner solutions than the structured alternatives. He accused the anti-GOTO faction of creating a new form of dogma.
The editors apparently found the controversy irresistible. The May 1987 issue featured a collection of reader responses under a title that achieved recursive perfection: "'GOTO Considered Harmful' Considered Harmful' Considered Harmful?"
Dijkstra's response, when it came, demonstrated that his capacity for devastation had not diminished with age. He titled his EWD document "On a Somewhat Disappointing Correspondence"—conveying through those five words more contempt than most polemicists achieve in pages of invective. The actual content cut deeper:
"The whole correspondence was carried out at a level that vividly reminded me of the intellectual climate of twenty years ago, as if stagnation were the major characteristic of the computing profession."
The knife twisted. He was not merely dismissing his critics' arguments; he was dismissing their capacity for intellectual growth. The debate they thought was current, he implied, was one he had moved beyond decades earlier. They were fighting yesterday's war while he surveyed tomorrow's terrain.
By 2009, researchers had catalogued at least sixty-five critical essays using the "Considered Harmful" template that Wirth had inadvertently created. Among them, inevitably, were "Dijkstra Considered Harmful" and—completing the circle—"'Considered Harmful' Essays Considered Harmful."
The controversy had become self-referential, a strange loop worthy of the recursive structures Dijkstra championed. What had begun as a carefully reasoned argument against a programming construct had mutated into a meme, a format, a way of signaling intellectual seriousness that had itself become cliché. Dijkstra had wanted to change how people thought about program structure. He had succeeded beyond any reasonable expectation—and in ways he could not have anticipated and did not always appreciate.
But "Go To Statement Considered Harmful" was not an isolated outburst. It was one salvo in what became a sustained campaign of critical assault against the programming establishment. If the GOTO paper established Dijkstra as a reformer, his subsequent writings revealed something more complex: a man who had appointed himself the field's conscience and scourge, and who would pursue that role with a ferocity that left permanent marks.
In 1975, he produced EWD498, "How do we tell truths that might hurt?" The title itself was a provocation, but the contents achieved a level of rhetorical violence that stunned even those who had grown accustomed to his sharp tongue. He surveyed the landscape of contemporary programming languages and found it uniformly deplorable.
On FORTRAN: "FORTRAN—'the infantile disorder'—by now nearly twenty years old, is hopelessly inadequate for whatever computer application you have in mind today."
On COBOL, he reached for the language of criminal justice: "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence."
But it was his judgment on BASIC that achieved a kind of immortality through its sheer brutality: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
These were not arguments. They were pronouncements—delivered with the serene confidence of a prophet who has seen the truth and finds the errors of the masses not merely incorrect but morally offensive. The language of "crippling" and "mutilation" framed bad programming practices as pathology, as disease, as damage that might be permanent. The implication was clear: most programmers were not merely untrained but actively corrupted, their minds shaped by tools that made good thinking impossible.
The reactions were predictable. Some dismissed him as an elitist academic, disconnected from the practical realities of commercial programming. Others quoted his pronouncements with relish, wielding them as weapons in their own battles. A few recognized something more interesting: here was a man willing to say in public what many thought in private, to name the inadequacies that everyone else tiptoed around. Whether you agreed with his conclusions, you could not accuse him of diplomatic evasion.
Dijkstra himself was aware of the role he had assumed. He compared himself to Socrates—"a gadfly to society, repeatedly goading his native and his adoptive country." The comparison was apt in ways he may not have fully intended. Socrates, after all, was executed for his troubles.
The consequences of Dijkstra's gadfly role were not limited to printed exchanges. Those who encountered him in person discovered that the intensity of his written criticism was, if anything, muted compared to his presence at lectures and conferences.
Doug McIlroy, a distinguished computer scientist at Bell Labs, became a connoisseur of what he called the "Dijkstra Watcher" phenomenon. He described it with the precision of a naturalist documenting exotic fauna:
"As the speaker drones on, Edsger will become displeased... The body will rise, the sandals will come off, and the walking at the back of the room will begin."
The ritual had distinct phases. An unsuspecting lecturer, new to the community, might continue blithely on, unaware of the gathering storm. A more experienced speaker would recognize the warning signs and begin to sweat. The walking would intensify.
"A snort will erupt, the nostrils will flare, the chin will elevate, and out will come an inspired, amazingly logical and eloquent, commentary."
McIlroy recalled only one occasion when an eruption went, in his words, "supercritical"—when Dijkstra's response was saved for the end and lacked its usual divine inspiration. The final verdict, delivered to the assembly: "This stuff makes me sick!"
Yet McIlroy noted something interesting. Two years after that particular demolition, Dijkstra had taken up the topic himself. The criticism, however brutal, had not been mere destruction. He had been engaging, in his peculiar way, with ideas that interested him—testing them, finding them wanting, but filing them away for later consideration. The gadfly had stingers, but it was not merely malicious. There was method in the apparent madness, a genuine concern for intellectual hygiene that expressed itself through tactics that others found intolerable.
The most revealing confrontation came not with a programming language or a misguided lecturer but with a peer of equal standing. In 1977, John Backus—the creator of FORTRAN, a past president of the ACM, a figure of unimpeachable credentials—delivered his own Turing Award lecture. Titled "Can Programming Be Liberated from the von Neumann Style?", it proposed a radical rethinking of how programs should be composed, moving away from the sequential state-modification model toward functional programming.
Dijkstra read it and responded with a public review that combined technical criticism with something approaching personal assault. He found the proposal muddled, the thinking unclear, the execution sloppy. He said so, at length, in terms that left no ambiguity about his opinion.
Backus's response came in the form of a private letter that managed to be both more civil and more devastating than Dijkstra's public attack. He wrote:
"I propose to discuss with you as a friend... the sad impairment of your great abilities and your reputation as a creative thinker that result from your powerful and self-indulgent ego. It is indeed depressing to anyone who respects your truly exceptional talents to see you of late apparently spending a great deal of time on shallow, negative polemics."
The accusation cut close to the bone. Backus was not defending his paper—he was questioning whether Dijkstra's relentless criticism had become an end in itself, whether the gadfly had forgotten that goading was supposed to serve some larger purpose. The letter implied that Dijkstra's brilliance was being wasted on demolition when it could have been devoted to construction.
Years later, when cataloguing this correspondence for his archives, Backus added an annotation that captured his settled judgment: "This guy's arrogance takes your breath away."
The exchange illuminated a tension at the heart of Dijkstra's public persona. His criticisms were often technically correct. His observations about the weaknesses of FORTRAN, COBOL, and BASIC were shared by many serious computer scientists. His insistence on clarity and rigor had demonstrably improved the field. But the manner of delivery—the contempt, the refusal to acknowledge legitimate difficulties, the apparent pleasure in demolition—alienated potential allies and provided ammunition to those who dismissed him as an ivory-tower scold disconnected from real-world constraints.
Dijkstra never publicly responded to Backus's letter. Perhaps he recognized that some criticisms cannot be answered with more criticism. Perhaps he simply filed it away as the complaint of someone who had been bested in argument and resorted to personal attack. His silence on the matter remains one of the few instances where his voluminous EWD archive offers no clue to his private thoughts.
What are we to make of this combative phase of Dijkstra's career? The charitable interpretation is that he was playing a necessary role—the designated truth-teller in a community too polite to name its own failures, the quality control mechanism that every discipline requires. The less charitable interpretation is that he had discovered a talent for intellectual violence and found it gratifying to exercise.
The truth, as usual, lies somewhere in the uncomfortable middle. Dijkstra genuinely believed that programming was in crisis, that the tools and habits of the profession were actively impeding progress, that drastic intervention was required. He also clearly enjoyed the role of provocateur, took pleasure in devastating formulations, and was not above wielding his reputation as a weapon. His self-comparison to Socrates was revealing: he identified with the gadfly, not the teacher. With the sting, not the midwife.
But there was also something authentic in his absolutism. When Donald Knuth observed that Dijkstra's "great strength is that he is uncompromising," he added a telling detail: "It would make him physically ill to think of programming in C++." This was not metaphor. The aesthetic dimension of programming was, for Dijkstra, inseparable from the ethical dimension. Bad code was not merely incorrect or inefficient; it was a form of violence against the mind, a corruption that spread through teaching and imitation. His revulsion was genuine, visceral, the response of someone for whom intellectual integrity was not a professional requirement but a personal necessity.
The costs of this stance were real. Colleagues who might have been allies kept their distance. Students who might have benefited from his teaching were intimidated into silence. The message was sometimes lost in the noise of its delivery.
The crisis of 1968, however, had also clarified his purpose and altered his methods. Before the breakdown, his major work, the THE system, had been a collaborative effort. After his recovery, he worked almost exclusively as a solo thinker focused on first principles. EWD249 was the manifesto of this new, solitary Dijkstra, a man who had concluded that the only way forward was to think things through for himself, from the ground up. The polemical phase was a consequence of this pivot; having worked his way back to clarity, he could not abide the confusion he saw all around him.
By the mid-1970s, Dijkstra had established himself as the field's most formidable critic. His Turing Award in 1972 had certified his technical contributions; his polemics had established his cultural presence. He could have continued indefinitely in this mode, playing the gadfly at conferences and issuing pronouncements from Eindhoven.
Instead, he chose a different path. In 1973, he accepted a unique position as a Research Fellow for the Burroughs Corporation, an arrangement that would grant him unprecedented freedom to work from his home in Nuenen. The polemical phase had served its purpose. Now, retreating from the battlefield, he would begin the most sustained and rigorous work of his career.
Chapter 5: "The Oracle of Plataanstraat 5"
The room was small enough that a tall man could touch both walls with outstretched arms, and sparse enough that a monk might have felt at home. A wooden desk, a chair, a window overlooking the quiet street below. No computer terminal. No flickering screen. Just a man, a fountain pen, and sheets of paper that would travel further than any electronic signal of that era.
It was late afternoon in Nuenen, a village of perhaps twenty thousand souls in the southern Netherlands, and Edsger Dijkstra was composing. Not music, though Mozart was never far from his mind. He was writing mathematics—or rather, he was writing about mathematics, about computing, about the craft of thinking clearly. His Montblanc fountain pen moved across the paper in a distinctive script that colleagues around the world had learned to recognize at a glance: neat, deliberate, unmistakably his.
Outside the window, the village went about its business with the unhurried pace of places that have seen centuries come and go. Vincent van Gogh had painted here nearly a hundred years earlier, capturing the twisted forms of peasants and the amber glow of lamplight. Now another kind of artist inhabited Plataanstraat 5, though his medium was pure abstraction and his canvas was the human mind itself.
Dijkstra paused, considering a phrase. The pen hovered above the paper like a conductor's baton before a difficult passage. Then it descended, and words appeared with the confidence of someone who had worked out every sentence before committing ink to page.
This was the smallest Burroughs research facility in the world.
The arrangement had begun in August 1973, just months after Dijkstra had stood before the ACM to accept his Turing Award, just weeks after he had warned the assembled programmers of the world about the "very modest upper bound" on human cognitive capabilities. Burroughs Corporation, one of the giants of American computing, had come to him with an unusual proposition.
They wanted him to think. Nothing more, nothing less. They would pay him to do what he was already doing—to write, to reason, to push back the boundaries of what was understood about programming—and they would ask almost nothing in return. No products to design. No deadlines to meet. No committees to chair. Just the freedom to work as he saw fit.
The title they created for him was Research Fellow, and he was the only one at Burroughs to hold it. The arrangement was unprecedented: a major American corporation paying a European academic to sit in his house in the Dutch countryside and write papers by hand. When his reports went out bearing the address "Plataanstraat 5, Nuenen 4565, The Netherlands," more than a few recipients assumed Burroughs had opened a research office in Holland. The reality was far more intimate—a small second-floor room, two telephones (one of which he could use to call anywhere in the world, with the bills going directly to Burroughs), and an elegant portable Olivetti typewriter that would soon give way to something older and stranger.
The salary was generous. The expectations were minimal. In return, Dijkstra reduced his commitment to Eindhoven University to a single day per week—Tuesday, which would become the day of his famous "Tuesday Afternoon Club"—and devoted himself to a project that had begun long before Burroughs came calling.
He was building a body of work, one handwritten page at a time.
The EWD papers that had already begun circulating through the community—spreading structured programming's gospel in degraded photocopies, as we have seen—had started, like many enduring things, almost by accident. It was 1959, and Dijkstra was working at the Mathematical Centre in Amsterdam, juggling multiple manuscripts simultaneously. Each manuscript had numbered pages, as manuscripts do. But he kept getting them mixed up, shuffling page 7 of one project into the stack of another, creating small catastrophes of confusion.
The solution was simple: number the manuscripts themselves. The first four became EWD0, EWD1, EWD3, and EWD4. What happened to EWD2 remains unclear—perhaps it was never started, perhaps absorbed into another document before the numbering system solidified, perhaps simply lost in the way that early drafts vanish from even the most orderly minds. "And that," Dijkstra would later write, "is how it started."
What started as a filing system became something else entirely: a discipline, a practice, a way of life. Each EWD was a self-contained document—sometimes a page or two, sometimes dozens of pages, sometimes a technical treatise and sometimes a philosophical meditation or a scathing review of someone else's work. The numbers were assigned when a document was begun, not when it was finished, which meant that some numbers corresponded to manuscripts that were never completed. By the time of Dijkstra's death, the series would reach EWD1318, though only 1,126 of those documents would be finished.
In the early years, the EWDs were typed. Dijkstra used a Hermes Ambassador typewriter with a Techno Elite font, producing pages of precise mechanical text. But something changed in October 1979, halfway through EWD719-7, when the Hermes developed trouble. Most writers would have sought a repair or purchased a replacement. Dijkstra did neither.
He picked up a pen and kept going.
The transition from typewriter to handwriting, far from being a retreat to older technology, was an advance toward something Dijkstra had been seeking without quite knowing it: a way of thinking that merged composition and contemplation into a single act.
"If there is one 'scientific' discovery I am proud of," he wrote, "it is the discovery of the habit of writing without publication in mind." The statement might seem modest for a man whose algorithms had reshaped the foundations of computer science, but he meant it seriously. Writing without publication in mind was, for Dijkstra, a liberation. It removed the pressure to be comprehensive, the temptation to hedge, the distraction of imagining how readers would respond. It allowed him to follow ideas wherever they led.
The fountain pen—specifically, his Montblanc Meisterstück—was essential to this practice. He owned half a dozen of them, kept in a glass-topped wooden case, and he experimented with different inks, testing their resistance to fading in direct sunlight. His son Marcus remembered the physical craft with a child's observational authority: his father "used always a clipboard, where he would use a page with horizontal lines under the white A4." The guide sheet beneath the blank page was invisible architecture—a structure that shaped the writing without appearing in the finished work, not unlike the invariants his father insisted should govern every program. And the script itself was not merely neat; it was, as Marcus described it, "carefully designed" and then trained on, "always carefully drawing the individual letters one by one, albeit faster in time," specifically "to avoid ambiguity like between x and multiplication, one and the letter l, seven and one, zero and the letter o." The handwriting, in other words, had been engineered like code—each glyph distinguished from every other to eliminate parsing errors. These were not affectations. They were tools, chosen with the same precision he brought to mathematical proofs, selected for the task of creating documents that would endure.
And the task was slow. Dijkstra calculated that he wrote at approximately three words per minute. At that rate, a ten-page document might take the better part of a week. But speed was not the point. "The rest of the time," he explained, "is taken up by thinking. In that situation, mechanical aids for getting characters on paper are clearly irrelevant."
He often invoked the contrast between Mozart and Beethoven. Mozart, it was said, composed complete works in his head before setting pen to paper, writing out final manuscripts in elegant script with hardly a correction. Beethoven wrestled with his material through countless drafts and scrawled emendations, a doubter who fought his way toward each finale. Dijkstra's sympathies were clear: he aspired to Mozart's method. The fountain pen enforced it. You could not easily revise handwritten text, could not cut and paste and rearrange. You had to know what you wanted to say before you began saying it.
This was the opposite of how most people wrote, and certainly the opposite of what the emerging technology of word processors promised. But Dijkstra had no interest in word processors. "The proposed style of composing—write first, improve later—rarely leads to a text from which all ill-considered turns have been weeded out," he wrote. The word processor, in his view, encouraged a kind of intellectual laziness, a willingness to produce rough drafts in the hope that revision would polish them into shape. But the rough edges, he believed, never fully smoothed away. The structural flaws introduced in the first heat of composition persisted, contaminating everything that followed.
His contempt extended further still. "The irony of the situation is that, as a commercial product, a word processor was so successful because, in actual fact, its usage costs time; as a result, it makes its user even more busy and feeling even better." The paradox, sharpened to a point: word processors did not save time; they consumed it, filling hours with fruitless revision and creating the illusion of productivity where none existed. "It is the ideal tool," he concluded, "for those that can confuse activity with work." When colleagues asked why he didn't use such technology—technology that he himself had done so much to create—his answer was consistent across decades: "I have often been asked why I don't use that type of equipment, and my honest answer has always been that there is for me so much to write that I cannot afford the use of these time-saving devices." It was a joke, but it was also serious. The man who had invented essential algorithms for computing did not trust computers to help him think.
The house on Plataanstraat 5 was, like its inhabitant, austere and considered. Visitors who had imagined something grander—a research complex, perhaps, or at least a substantial professorial residence—found instead a modest Dutch home of the sort that might belong to a schoolteacher or a civil servant. The neighborhood was quiet, the streets lined with the plane trees that gave Plataanstraat its name.
Inside, the marks of Dijkstra's personality were everywhere. In the living room, an Oxford English Dictionary stood on a lectern, always open, always ready to be consulted. He found it indispensable in his work—this man who had grown up speaking Dutch, who had taught himself English by necessity, who now wrote exclusively in that adopted language with a precision that shamed native speakers. The dictionary was not decoration. It was a tool, consulted constantly, wielded with the same care he brought to his fountain pens and his mathematical proofs.
In another corner of the living room stood the Bösendorfer piano, an instrument of legendary quality and considerable expense. Dijkstra played Mozart for visitors, and the choice of composer was not accidental. Mozart represented everything he admired: clarity, elegance, the appearance of effortlessness that concealed profound mastery. He had little use for opera and was suspicious of singing, particularly the female voice—though he made an exception for the English contralto Kathleen Ferrier, whose recordings he treasured.
There was no television in the house. No VCR. No mobile phone, even decades later when such devices became ubiquitous. Dijkstra avoided the cinema, citing an oversensitivity to visual input. His entertainment was music, conversation, and the life of the mind. In the kitchen, a coffee mug proclaimed: "Rule 0: Don't Make a Mess of It." It was a programmer's joke—systems often started their numbering at zero rather than one—but it was also a philosophy of life.
The house was more than a private residence; it was a hybrid space, simultaneously a domestic haven, an examination room, and an intellectual salon. A constant stream of visitors passed through, for whom Dijkstra enjoyed playing Mozart. Students from Eindhoven came for their oral examinations, which could last several hours. After the formal interrogation, a student would be offered a beer and Dijkstra would chat about the educational experience, the master and apprentice now just two people talking.
And somewhere in this house, always, was Ria—the mathematician he had married in 1957, who had been present on that Amsterdam café terrace when the shortest path algorithm emerged. Their partnership remained intensely private, but by accounts of those who visited, she was the system architect of his life. She acted as what one colleague called the "Chief Secretary" of the EWD series, managing the duplication and the massive international mailing list that gave the papers their pre-internet virality. But she was more than a distributor; she was the guardian of his intellectual chronology. After his death, as Krzysztof Apt noted in his obituary, "Ria Dijkstra made us aware that several concepts were introduced by Dijkstra considerably earlier" than the scholarly record reflected—a corrective authority on questions of priority that only she could provide. She was also, another friend noted, "the only person who could tell him he was wrong or that he was being too harsh, and he would actually listen with a smile." In one of his rare written acknowledgments of what she meant to him, Dijkstra confessed that Ria's company "was an effective remedy against the homesickness that I otherwise tend to suffer from quite a bit"—a striking admission from a man whose public persona radiated self-sufficiency. While he composed EWDs in his upstairs study, the domestic world of their three children—Marcus, Femke, and Rutger—unfolded below. The family's life appears in glimpses in his trip reports, small, humanizing details. One winter, Femke called from her university in Groningen to report that her water pipes had frozen. Another time, Ria's bicycle was stolen when their son Rutger had borrowed it to ride into Eindhoven; as Dijkstra noted dryly in his report, "he had to walk back in the middle of the night."
The household tone was informal and warmly attentive. The computer scientist Eric Hehner recalled staying overnight in Nuenen. "Since their son Rutger was away, I was given his bed," Hehner wrote. "When we returned from a ride on the tandem bicycle, Edsger's wife Ria noticed a hole in the back of my pants. Edsger tried to shush her, but too late…" It was a small moment of gentle conspiracy and domestic care, a world away from the formal pronouncements of his professional life.
From this house, from the small upstairs room that Burroughs was paying him to occupy, Dijkstra's ideas traveled across the world.
The distribution system was analog in an age that was rapidly becoming digital, but it worked with remarkable efficiency. Dijkstra maintained a mailing list of colleagues and correspondents—perhaps twenty to forty names for each document, varying by subject matter. In the early years, before 1978, he would make individual copies at the Xerox office in Eindhoven, deciding for each EWD which recipients would find it relevant. Later, he privately purchased a 3M copier and charged the paper to Burroughs.
The copies went out by post. Recipients would read them, discuss them, and—crucially—photocopy them further. An EWD that Dijkstra mailed to twenty people might spawn second-generation copies, then third, then fourth. His "Notes on Structured Programming" had already demonstrated the power of this distribution method, spreading across the world in degraded photocopies from an initial mailing of just twenty.
"Spread around the world like wildfire," one observer noted. It was the 1970s equivalent of going viral—a paper-based network of ideas, passing from hand to hand without benefit of internet or email, propelled solely by the force of the thinking contained within.
The EWDs covered vast territory. Some were technical contributions to the theory of programming, rigorous and demanding. Some were savage reviews of papers or talks that had displeased him. Some were reflections on education, on the profession, on the responsibility that came with creating tools that would shape human thought. Some were compressed arguments that unfolded with the inevitability of mathematical proof, each step following from the last with crystalline logic.
They were not edited. They were not peer-reviewed. They were Dijkstra's thoughts, delivered directly to readers who had learned to prize that directness. The handwritten pages, reproduced in all their distinctive glory, carried a force that typeset text somehow lacked. You were not reading a processed, filtered, institutionally approved document. You were reading what one particular mind had thought, set down in that mind's own hand.
One winter in Nuenen, ice coated the sidewalks and Dijkstra slipped and fell. The fall broke his right wrist—a catastrophe for a man whose entire intellectual output flowed through that hand and that Montblanc pen.
Most people would have rested. Would have waited for the bone to heal. Would have accepted a few weeks or months of enforced idleness.
Dijkstra trained himself to write with his left hand.
The effort must have been immense. Handwriting is a motor skill developed over years, encoded deep in the neural pathways. To reproduce it with the other hand means starting over, rebuilding from scratch, accepting the clumsy scrawl of a child while working toward something legible. "After having trouble with his right wrist," his son Marcus recalled, the trouble brought on by "too many hours of writing"—he decided "to learn to do it left handed too… and kept writing left handed alternate days." Dijkstra had never been willing to let physical circumstances dictate intellectual output. The body was a vessel for the mind, and the vessel would be made to serve.
Even after his right hand recovered, he spent time each week writing left-handed, maintaining the skill he had painfully acquired. It was, in its way, a backup system—redundancy built into the most critical component of his operation. The engineer in him appreciated the logic. The man in him must have taken some satisfaction in the accomplishment.
But Dijkstra did not spend all his time in the small room on the second floor. The hermit image was only part of the story. He "was really an amiable, sociable person," recalled his friend David Gries, and "would drop in on friends in the evening with his wife, unannounced, to chat for an hour." The Burroughs arrangement also gave him freedom, and he used it to explore.
In the driveway sat a Volkswagen bus, the vehicle of choice for a generation of American counterculture adventurers. Dijkstra and Ria had outfitted it for travel. Together they would set out across Europe, and later across America, seeking the wild places that offered respite from the mental intensity of his work.
He called it "the Touring Machine."
The pun was so perfectly Dijkstra that colleagues who heard it for the first time would groan with recognition. The Turing Machine—named for Alan Turing, the British mathematician who had laid the theoretical foundations of computation—was an abstract device, a thought experiment that defined what it meant for something to be computable. The Touring Machine was its opposite: concrete, physical, rumbling down highways with Dijkstra at the wheel and Ria beside him, heading for another national park, another landscape, another place where the mind could rest and replenish itself.
He wrote in the bus. Of course he did. With a fountain pen and paper, sitting at the small table while the American West unrolled past the windows, he composed EWDs on topics ranging from the most recondite questions of theoretical computer science to the simple pleasures of clear thinking. The national parks provided what the house in Nuenen could not: vastness, silence, the humbling presence of geological time. Dijkstra, for all his fierce certainty about matters of programming and proof, knew how small human life was against such scales.
The trips became a rhythm of his years. The routine in Nuenen—the writing, the thinking, the Tuesday Afternoon Club—would be punctuated by expeditions into wilderness, returns to the physical world that his work so thoroughly abstracted. America was big enough to absorb them, year after year, park after park, the Touring Machine covering distances that would span his native Netherlands many times over.
By the early 1980s, Dijkstra had been at Burroughs for nearly a decade. The EWD series had grown into the hundreds. His reputation had achieved a kind of mythic quality—the Oracle of Plataanstraat 5, the hermit-sage who pronounced on matters of programming and watched his pronouncements ripple across continents. Young researchers studied his handwriting. Established professors debated his positions. Everyone, it seemed, had opinions about Dijkstra.
But myth can become prison, and solitude can shade into isolation. The Burroughs arrangement had given him freedom; it had also given him distance from the daily stimulation of academic life. One day a week at Eindhoven was not the same as a full professorial appointment, with its constant engagement with students and colleagues. The Tuesday Afternoon Club was brilliant, but it was also small—a handful of devoted participants gathered around the master.
And then came an offer from Austin, Texas.
The University of Texas had created an endowed chair—the Schlumberger Centennial Chair in Computer Sciences—and they wanted Dijkstra to fill it. He had visited Austin before, as a consultant to the Burroughs Research Center there, and had found something unexpected: a place that felt like it could become home. The students were good—"brilliant students who made it a challenge and a privilege to lecture for them." The department was serious. The city itself, sprawling and sun-drenched and nothing at all like the orderly Netherlands, had somehow gotten under his skin.
He was fifty-four years old. He had spent his entire professional life within driving distance of where he was born. Now America was calling, offering him a chance to do what he had always done best—not just write and think, but teach, engage, transmit what he knew to a new generation.
The Touring Machine had shown him how vast that country was. Perhaps it was time to stop touring and start dwelling.
Dijkstra accepted. In 1984, he and Ria packed their things, said goodbye to Plataanstraat 5, and flew to Texas to begin what would become the final, and in some ways most fruitful, chapter of an extraordinary life.
Chapter 6: "Nano-Dijkstras and a Texas Belt Buckle"
W.S. Livingston had been Vice President of the University of Texas at Austin long enough to know how job interviews were supposed to work. You asked questions. The candidate answered them. You assessed their responses, made notes, formed impressions. It was a ritual as old as the academy itself, choreographed and predictable.
None of that happened on the day Edsger Dijkstra walked into his office in 1984.
The preliminaries were brief—handshakes, pleasantries about the Austin weather, the usual opening gambits of professional discourse. Then something shifted. Dijkstra rose from his chair. He began to pace. And before Livingston could formulate his next question, the fifty-four-year-old Dutchman had launched into a full lecture on his thoughts about computing, education, and the intellectual challenges facing the discipline.
"He stood up and provided me with a lecture on his thoughts on the subject, striding up and down in my office," Livingston would later recall in an oral history, the bemusement still evident in his voice. "It is not at all clear to me just who interviewed whom."
The answer was that Dijkstra had interviewed the university. He was assessing whether Austin was worthy of him, whether its students would meet his standards, whether its culture would tolerate his methods. The Vice President's questions were incidental to this larger evaluation. Dijkstra had spent two decades building his reputation as one of the most demanding figures in computer science. He was not about to dilute that reputation by accepting a position that would require compromise.
He accepted. The Schlumberger Centennial Chair in Computer Sciences became his for the next fifteen years—the longest and, in many ways, the most personally fulfilling appointment of his career. His Eindhoven professorship, which he had held since 1962 and reduced to one day per week after joining Burroughs in 1973, finally came to an end. Texas would be home.
The students who enrolled in Dijkstra's courses at UT Austin quickly learned that they had signed up for something unlike any educational experience they had encountered. The courses were all titled "Capita Selecta"—Latin for "selected topics"—which told prospective students essentially nothing about what they would actually study. Enrollment was capped at roughly twenty. There were no textbooks.
On the first day of each semester, Dijkstra performed a ritual that struck students as either deeply considerate or mildly unsettling. He photographed each of them, one by one, and spent the following days memorizing their faces and names. By the second week, he could call on any student without hesitation, connecting face to identity with the precision of a chess master recalling board positions.
The photographs served a purpose beyond mere courtesy. Dijkstra believed that education was a personal transaction, a dialogue between minds rather than a broadcast from lecturer to anonymous masses. If he was going to demand excellence from his students, he would extend them the respect of knowing who they were.
His lectures were performances of a particular kind. No overhead projectors—those mechanical aids that encouraged lazy thinking and allowed presenters to hide behind pre-prepared slides. No PowerPoint, no handouts, no crutches of any sort. Just Dijkstra, a blackboard, and chalk. The ideas emerged in real time, constructed stroke by stroke on the slate, the reasoning visible in its full development.
Before each lecture, he would write an unusual quotation on the board—something provocative, often oblique, designed to unsettle assumptions and prepare minds for unconventional thinking. Students arrived to puzzles rather than agendas.
His technique for managing a noisy classroom was a kind of elegant paradox. Where other professors might raise their voices to compete with the din, he did the opposite: he lowered his voice to the point of being barely audible. The effect was immediate. Students who wanted to hear—and they all wanted to hear, once they understood what they had enrolled in—fell silent, straining to catch his words. "This trick was amazingly effective," one colleague observed. It was also a perfect metaphor for his entire pedagogical philosophy: make them come to you; make them work for it.
If Dijkstra's lectures were demanding, his examinations were legendary—sometimes terrifying, ultimately transformative. He conducted oral finals that could last several hours, held not in sterile examination halls but in his office or, occasionally, his home.
The format was Socratic in the original sense: a sustained dialogue in which the student's understanding was probed, tested, and stretched. There was nowhere to hide. No multiple-choice questions to guess at, no essay prompts that rewarded verbosity over clarity. Just Dijkstra, asking questions, and the student, required to think out loud.
The terror was real. Students prepared obsessively, knowing that any gap in their understanding would be exposed. Yet something unexpected happened during these ordeals. Dijkstra's questioning, while rigorous, was also remarkably supportive. He did not try to humiliate students or catch them in errors. He prodded and guided, leading them through their own reasoning until they arrived at insights they might not have reached alone.
"The student would generally leave the room with a warm glow of accomplishment thanks to Edsger's gentle prodding and questioning," one account noted. After surviving this intellectual crucible, graduates received two things: a signed photograph of Dijkstra himself, and a beer (age permitting). The combination of ritual, rigor, and reward created memories that lasted decades.
One examination, however, transcended even these unusual norms. A student—competent, prepared, nervous in the ordinary way—answered Dijkstra's technical questions adequately. The examination seemed to be proceeding toward its natural conclusion. Then Dijkstra paused. Looked at the student's written work. And said:
"You seem competent, but your handwriting is horrible."
What followed defied all expectations of academic assessment. For the remaining thirty minutes of the oral final, the student sat writing phrases while Dijkstra corrected his penmanship. "No, you need to round the o's a bit more, the A is misformed..." It was calligraphy instruction masquerading as computer science evaluation.
The story spread through the department, as such stories do, acquiring the status of legend. Was it a lesson about clarity and precision? A commentary on the relationship between form and thought? Or simply Dijkstra being Dijkstra—unpredictable, principled in ways that extended beyond the obvious boundaries of his discipline?
Perhaps all three. Perhaps none. The student passed.
The written feedback Dijkstra provided on homework was equally distinctive. His comments often exceeded the length of the submissions themselves, dense marginalia that dissected not just what students had written but how they had thought. A typical annotation: "Many sins of omission."
He was not cruel, but he was exacting. The difference mattered. Cruelty seeks to diminish; exactitude seeks to elevate. Dijkstra's feedback, however painful to receive in the moment, was designed to make students better. He treated them as potential colleagues rather than subordinates, holding them to standards that assumed they were capable of meeting them.
This approach produced results. Students who survived his courses reported transformations in how they thought about problems. They learned to distrust their first solutions, to question assumptions, to pursue elegance rather than mere correctness. Decades later, many would find themselves confronting a technical decision and pausing, visualizing Dijkstra looking over their shoulders. The mental discipline persisted long after the grades were recorded.
His physical presence on the Austin campus became a source of bemused affection among colleagues. J Strother Moore, who served as department chair, struggled to reconcile the elements of Dijkstra's appearance:
"From the waist up, he looked more Texan than I do. But he also wore shorts and sandals and carried a little bag. That ruined the Texan image."
The cowboy hat was authentic—a genuine embrace of his adopted homeland. The sunburst belt with its large Texas buckle, "E.W.D." branded on the back, announced his presence like a sheriff arriving in town. He wore tablecloth-like red and white checkered shirts that split the difference between ranch hand and café waiter.
But then there were the shorts. And the sandals. And the small bag he carried everywhere, containing who knew what. The effect was jarring, a collision of cultures that seemed appropriate for a man who had spent his life refusing to fit categories. He was Dutch, but he was also Texan. He was a professor, but he was also a cowboy. He was the most demanding teacher his students had ever encountered, but he was also the one who gave them beer after their exams.
The contradictions extended beyond wardrobe. Moore, who worked closely with Dijkstra for years, expected the Turing Award winner to throw his considerable weight around in departmental politics. It never happened.
"Never did he come to the chair's office and argue, behind the scenes, that because he was Edsger W. Dijkstra we should do things his way," Moore testified. "I wish I had ten faculty members like Edsger."
Here was perhaps the deepest paradox of all. The man whose arrogance had become legendary, whose sharp tongue had drawn blood from colleagues across continents, whose conviction of his own rightness bordered on the absolute—this same man, in the daily operations of his department, was a model colleague. He taught his courses, mentored his students, contributed to intellectual life, and stayed entirely out of the power struggles that consumed so many academics. He had become part of a larger family. "Edsger was part of our family for almost 20 years," Moore said at Dijkstra's funeral. "He was a father figure to many of us. But he was also a colleague and a friend."
The measurement of arrogance in computer science, by the mid-1990s, had acquired a standard unit. Alan Kay—himself a visionary, the father of object-oriented programming, a man who understood genius from the inside—delivered the definitive formulation at the OOPSLA conference in 1997:
"I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras."
The line brought down the house. It was funny precisely because it captured something true. One Dijkstra of arrogance was apparently too large a unit to be practical; the prefix "nano-" (one billionth) was required to create a workable scale. Even the most self-satisfied professor in the most prestigious department could aspire to only a fraction of the original.
Dijkstra himself was aware of his reputation, though he affected puzzlement at its origins. When recalling the reservations that had surrounded his early career, he noted that colleagues had worried about his sandals, his beard, and his "arrogance" — followed by the parenthetical dismissal, "whatever that may be."
That dismissal was pure Dijkstra. He seemed genuinely uncertain what people meant when they called him arrogant. Was it arrogance to maintain high standards? Was it arrogance to say what one thought? Was it arrogance to assume that clarity and correctness were achievable if one simply tried hard enough?
His colleagues could have provided examples. Doug McIlroy had long ago documented the phenomenon of the "Dijkstra Watcher"—the experience of watching Dijkstra in the audience during a lecture, waiting for the inevitable eruption that was simultaneously devastating and brilliant, a critique so precise that it illuminated everything wrong with what the speaker had said.
David Gries, a respected computer scientist in his own right, experienced this phenomenon firsthand during a summer school at Marktoberdorf. He was lecturing. He made a common error: he said "x equals e" when describing an assignment operation.
"From the back of the room came a loud 'becomes,'" Gries recalled. "And then a stunned silence."
Twenty minutes later, Gries made the same mistake.
"Again from the back of the room came 'becomes.'"
"To this day I haven't made that mistake again!"
The correction was accurate. In programming, saying "equals" for assignment confuses assignment (making x become e) with equality testing (checking whether x and e are the same). The distinction matters. Dijkstra was right to correct it. But the method—shouting a single word from the back of a lecture hall, interrupting a colleague mid-sentence—was not, to put it mildly, standard academic practice.
Yet those who knew him best insisted that the arrogance, while real, was not the whole story. Behind the sharp tongue and uncompromising standards was something more complex: a genuine humility about the limits of human cognition. His Turing Award lecture had been titled "The Humble Programmer," and while the title struck many as ironic, Dijkstra meant it sincerely. He had warned that every programmer must reckon with the limits of the human skull—and he meant his own skull too.
The arrogance and the humility were not contradictions but complements. Dijkstra demanded excellence because he knew how easy it was to fall short. He refused to accept sloppy thinking because he understood how dangerous sloppiness could become. The standards were high precisely because the stakes were high.
The Touring Machine continued its journeys across the American landscape, with Ria often sharing the driving. On a trip to Tulsa, he noted in a report, "Ria had the bad luck that she was driving on that stretch" of particularly difficult road.
His life with "mijn beminde Ria," his beloved Ria, was a constant negotiation between the demands of his work and the complexities of companionship. In an early trip report from 1971, he captured the marriage in a single paragraph. Her presence, he wrote, made the trip "more tiring"—a fuller social calendar, a divided attention, a constant pull back to speaking Dutch that made his English suffer. And yet, he admitted, there was "a whole lot in return." Companionship cost energy, and it was worth it.
The family that accompanied him was not always limited to Ria. During a 1979 trip to California—the children's first visit to America—he skipped two days of an academic conference to take Ria, Femke, and Rutger to Yosemite. He noted with evident pleasure that "it was nice to see how the children could carry on a conversation in English and seemed to feel themselves quite happy." At a motel in San Luis Obispo, father and daughter sat writing side by side—Femke composing a letter of her own while Dijkstra produced another EWD—a small tableau of the household's writing culture propagating to the next generation. The domestic details crept into even the driest trip reports. In one, datelined "Austin, 12 Jan. 1985," he recorded with characteristic dryness that Ria's bicycle had been stolen when Rutger had used it to go into Eindhoven. "(He had to walk back in the middle of the night.)"
For fifteen years, Dijkstra shaped minds at UT Austin. He taught his Capita Selecta courses, limited to twenty students, conducted his marathon oral examinations, handed out signed photographs and beers to survivors. He dressed in his impossible combinations of Texan and Dutch, paced at the back of lecture halls correcting colleagues' language, and retreated each evening to write his EWDs by hand.
The students who passed through his courses scattered across the industry, carrying with them something more than technical knowledge. They carried a standard. A way of thinking. A voice in their heads that asked, with Dutch-accented precision: Is this correct? Is this clear? Is this elegant?
He achieved a kind of immortality during those Austin years, one student at a time. The legend of the nano-Dijkstra, the Turing Award winner in sandals and cowboy hat, the oral examiner who might spend thirty minutes on your penmanship—these stories spread through the discipline, acquiring the polished quality of myth.
Then, in early 2002, the story changed. A diagnosis: cancer, terminal. The news arrived with the blunt finality that Dijkstra had always applied to technical problems. There was a solution to be planned, a final algorithm to execute.
He had said, years earlier, that he wanted to retire in Austin but to die in the Netherlands. Now he would fulfill that intention. The cowboy hat would return to the closet. The Bösendorfer would fall silent. The small second-floor office where he had written so many EWDs would await a successor who could never truly succeed him.
Edsger Dijkstra was going home.
Chapter 7: "Elegance Is Not a Luxury"
The building was new to him, and that fact alone carried a strange weight. Edsger Dijkstra had spent the better part of five decades thinking about what it meant to return to the beginning—how algorithms traced their paths, how proofs circled back to their axioms, how a well-structured program knew where it had been. Now, in May of 2000, he stood in the lobby of a building he had never entered, in an institution that was both his origin and a stranger, and felt the particular vertigo of homecoming.
The Mathematical Centre where his career had begun no longer existed. In its place stood CWI—the Centrum Wiskunde & Informatica—a modern research institute housed in modern architecture, filled with modern equipment and modern researchers who knew his name the way one knows the names of historical figures. They recognized him with reverence, but without the lived memory of the man who had once been young here, uncertain here, terrified here.
He was seventy years old. His friends had gathered from around the world—among them Tony Hoare from England, Donald Knuth from Stanford, Niklaus Wirth from Switzerland, all Turing Award winners, all part of the generation that had built computing from first principles. The symposium bore the title "In Pursuit of Simplicity," and if that phrase had become something of a professional cliché in software engineering circles, it was largely because Dijkstra had spent four decades making it one. The symposium would close with Dijkstra's own farewell lecture.
When he rose to give that lecture, something happened that those present would remember long afterward. His voice, usually so precise and controlled, wavered. His eyes, which had spent a lifetime seeking clarity in abstraction, grew bright with moisture. He was visibly moved—this man measured in nano-Dijkstras for his arrogance, this critic who had dismissed entire programming languages as criminal offenses against the mind, this uncompromising conscience of a discipline—standing in the place where everything had started, unable for a moment to maintain his legendary composure.
The audience sat in respectful silence. They understood, perhaps better than anyone could, what this return meant. Nearly half a century earlier, a young man had knocked on Adriaan van Wijngaarden's door in this city, carrying doubt and confusion, and had emerged hours later transformed. That young man had invented algorithms, coined terminology, written manifestos, trained generations, and fundamentally altered what it meant to think about computation. Now he had come back to where it all began, and the weight of that journey was written on his face.
Less than two years later, in early 2002, Dijkstra received news that would have crushed a lesser spirit. The diagnosis was cancer, and the prognosis was terminal.
He had always been a man who planned carefully—who thought through problems completely before committing pen to paper, who designed systems with their endings in mind. Death, in its way, was simply another constraint to be accounted for, another boundary condition in the algorithm of a life. He had said it himself, years before: "I wanted to retire in Austin, Texas, but to die in the Netherlands."
So he returned to Nuenen.
The village had not changed much since he had left for Austin in 1984. The same quiet streets, the same unhurried pace, the same landscapes that Van Gogh had once captured in paint. The house on Plataanstraat 5 waited for him—the smallest Burroughs research facility in the world, the place where hundreds of EWD manuscripts had been composed, the modest headquarters of a global intellectual enterprise conducted entirely by hand.
Ria was there, as she had been for more than forty years. Their marriage had survived his depressions, his obsessions, his tendency to disappear into abstraction for hours at a time. She had been present at the café in Amsterdam when the shortest path algorithm emerged; she had raised their three children while he waged his campaigns for rigor; she had followed him from Nuenen to Austin and now back again. They had been close companions through all of it.
Their children gathered. This final period was one of quiet domestic warmth. In a trip report from 2001, he described a family reunion: "On Saturday morning we went by train to Amsterdam, first to celebrate the 40th anniversary of our daughter Femke… After that family reunion we went to our son Marcus." The gathering was complete. "Femke and Marcus came on the day itself, Rutger (our other son) came the next day." The intellectual culture of the family had propagated, though not in a prescriptive way. Rutger, who had followed his father into computer science, pursued his own path in software engineering; Marcus pursued a different technical path; and Femke maintained her privacy. The rhythms of the household adjusted to accommodate the reality of a man whose time was running short but whose mind remained undimmed.
And there was still work to do.
In April of 2002, four months before his death, Dijkstra completed his final manuscript. EWD1318 bore the title "Coxeter's Rabbit"—a meditation on a geometric puzzle that had caught his attention, involving the properties of certain recursive constructions. It was, in its way, a perfect final statement: elegant, playful, concerned with the deep structures that underlie apparent complexity.
The document was dated April 14, 2002. His handwriting, that distinctive script that colleagues had learned to recognize at a glance, remained clear and precise. The Montblanc fountain pen that had served him for decades still moved across the paper with deliberate purpose. Whatever was happening to his body, his mind continued to function as it always had—seeking patterns, demanding rigor, finding beauty in abstraction.
He knew it would be his last. The series that had begun in 1959, when a young programmer at the Mathematical Centre decided to number his manuscripts to keep them organized, had reached EWD1318. Over 1,100 completed documents. More than 7,700 pages. Forty-three years of thinking out loud on paper, of sharing ideas before they were ready for formal publication, of trusting that the right thoughts would find the right readers.
Some of those manuscripts had changed the world. EWD249, "Notes on Structured Programming," had spread around the globe in sixth and seventh generation photocopies, becoming one of the most influential documents in the history of software engineering. Others were brief notes, playful observations, letters to colleagues. Taken together, they formed a portrait of a mind at work—unguarded, exploratory, perpetually dissatisfied with easy answers.
Now the series was complete. There would be no EWD1319.
In July of 2002, Krzysztof Apt came to say goodbye.
Apt was a colleague from CWI, a logician and computer scientist who had known Dijkstra for years. The visit followed a familiar pattern: Dijkstra collected him from the nearest train station, as he had collected visitors for decades. They drove together to Nuenen, spoke together, shared lunch together. The routines of hospitality persisted even as the host's strength faded.
During the visit, Dijkstra gave Apt a copy of EWD1318. "He mentioned that it would be his final report," Apt later recalled. The words carried no drama, no self-pity. They were simply a statement of fact, delivered with the same clarity that Dijkstra had always brought to his technical writing.
He also told Apt that he did not have much time left. Again, the observation was matter-of-fact. Death was approaching; this was known; the knowledge had to be communicated. Sentiment was beside the point.
What struck Apt most, perhaps, was the calmness. Here was a man who had spent his life in passionate opposition to sloppiness, confusion, and intellectual laziness—who had called entire programming languages criminal offenses, who had publicly feuded with fellow Turing Award winners, who had been known to erupt in lectures with devastating critiques. Yet in the face of his own mortality, he maintained a composure that seemed almost mathematical in its precision. The variables were known. The outcome was determined. Elegance lay in accepting the constraints and working within them.
The archives contain a document dated May 16, 2002—a "Fotokopie van Dijkstra's euthanasieverklaring," his euthanasia declaration. The Netherlands had legalized euthanasia under strict conditions, and Dijkstra had made his wishes explicit. Even death would not be left to chance or chaos. Even death would be handled with deliberate purpose. For a man who had spent his life insisting on control, on clarity, on the elimination of unnecessary suffering caused by carelessness, this final act of planning was entirely consistent with everything that had come before.
On August 6, 2002, Edsger Wybe Dijkstra died at his home in Nuenen.
Four days later, on August 10, family and colleagues gathered at Heeze for his cremation. Tony Hoare, his closest friend and collaborator for forty years, delivered remarks that attempted to capture what had been lost.
"He would lay the foundations that would establish computing as a rigorous scientific discipline," Hoare said. The words were carefully chosen, as words between them had always been. "From these commitments he never deviated, and that is how he has made to his chosen subject of study the greatest contribution that any one person could make in any one lifetime."
The greatest contribution that any one person could make in any one lifetime. It was a bold claim, the kind of superlative that invited skepticism and pushback. But Hoare had earned the right to make it. He had been there at the beginning, had collaborated on the books and papers and ideas that had reshaped the field. He had watched his friend fight battles that seemed hopeless and win victories that seemed impossible. He knew, perhaps better than anyone, what it had cost—the depression and hospitalization, the professional isolation, the exhausting vigilance required to maintain standards that others found unreasonable.
And he knew what it had achieved. The algorithms that bore Dijkstra's name had become infrastructure, invisible foundations upon which the modern world was built. The ideas about structured programming had become so thoroughly absorbed into practice that new programmers could scarcely imagine the chaos that had preceded them. The insistence on mathematical rigor, on proof and precision, had transformed computer science from a craft into a discipline.
At a later memorial in November, David Gries addressed the family directly. To the children, he said, "Rutger, Marcus, and Femke… we see Edsger in you." And to Ria: "you welcomed them into your home."
Ria would survive him by ten years, dying in 2012. She did not merely outlive him; in the years after his death, she served as guardian of his intellectual chronology, making scholars aware that several key concepts had been introduced by Dijkstra considerably earlier than the published record suggested. Whatever other private understanding they had reached about his legacy, whatever conversations they had shared in those final months in Nuenen, remained between them.
There is a paradox at the heart of Dijkstra's legacy, and he would have appreciated its elegant cruelty.
Within the world of computing, his name carries the weight of prophecy. His shortest path algorithm became foundational to network optimization, its logic informing the routing protocols that guide packets across the internet and the navigation systems that direct drivers through unfamiliar cities. His semaphores coordinate the concurrent processes that make modern computing possible. His structured programming manifesto remade software development so thoroughly that programmers born decades after its publication cannot imagine working any other way.
Yet outside that world, he remains largely unknown. Nearly two decades after his death, as his colleague Krzysztof Apt observed with evident frustration, few people have heard of him—even in his own country. The name that appears in every computer science curriculum, that graces an ACM prize and a university chair and thousands of academic citations, registers no recognition in the broader culture.
Perhaps this is fitting. Dijkstra never sought popular fame. He wrote handwritten manuscripts instead of mass-market books, distributed through personal mailing lists rather than publishing houses. He refused to learn word processors and avoided email when possible. He lived in small villages—Nuenen, then Austin—rather than the great metropolitan centers where publicity accrues. His chosen medium was the technical report, his chosen audience the small community of practitioners who cared about doing things properly.
And his chosen definition of immortality was characteristically modest—not monuments or biographies or public remembrance, but something smaller and more specific:
"If 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself 'Dijkstra would not have liked this,' well, that would be enough immortality for me."
The voice persists.
In server rooms around the world, where engineers work late into the night debugging systems that have grown beyond any individual's comprehension, it whispers. In university computer labs, where students encounter for the first time the difference between code that works and code that is correct, it speaks. In corporate meetings, where managers push for faster delivery and cheaper solutions, it objects.
Dijkstra would not have liked this.
The quick fix that introduces technical debt. The sloppy documentation that will confuse future maintainers. The untested edge case that will fail catastrophically at three in the morning. The algorithm that runs but cannot be proven correct. The system that works but nobody understands why.
Dijkstra would not have liked this.
It is a peculiar form of haunting—not the supernatural presence of ghost stories, but something more subtle and more durable. A set of standards absorbed so deeply that they feel like conscience. A voice that speaks in the second person, addressing the programmer directly, demanding justification.
"Simplicity is a great virtue," he had written, "but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better."
He knew, even as he fought his battles, that the forces arrayed against him were formidable. Complexity sold better. Haste was rewarded. Quick and dirty solutions shipped on time while elegant ones remained on the drawing board. The market did not care about mathematical beauty or logical rigor; the market wanted features, functionality, faster delivery.
And yet.
The systems that endured, that scaled, that remained comprehensible across decades and generations of maintenance—these were the ones built on solid foundations. The algorithms that ran billions of times per day without failure—these were the ones designed with care. The ideas that continued to matter long after their originators had died—these were the ones that had been thought through completely, written down precisely, proved correct beyond reasonable doubt.
He had learned that elegance was not a luxury, but the very quality that decided whether systems survived or collapsed. Between code that could be understood and code that became incomprehensible. Between a discipline worthy of the name and a trade practicing witchcraft.
In his final years, Dijkstra had permitted himself a few concessions to technology. He acquired a Macintosh, though he used it only for email and web browsing—the irony of his resistance outliving his resistance itself. He allowed that computers had their place in the modern world. But he never abandoned his conviction that the act of thinking—real thinking, the kind that produced insights worth preserving—required nothing more than a pen and paper and a willingness to slow down.
The Montblanc fountain pens remained in their glass-topped wooden case in Nuenen. The ink, tested for resistance to fading in direct sunlight, had dried in their reservoirs. The paper on which the final EWD had been written would yellow with age, join the archive in Austin, become historical artifact.
But the ideas needed no such physical preservation. They had already spread beyond any individual's control, absorbed into curricula and textbooks and the minds of practitioners who had never met their author. They had become infrastructure, as invisible and essential as the electrical wiring in the walls.
"Elegance is not a dispensable luxury," he had written, "but a quality that decides between success and failure."
The sentence had appeared in one of his many EWDs, probably read by no more than a few dozen people in its initial distribution. But it had survived, as the best sentences do, because it captured something true and necessary. It had become a principle, a standard, a measuring stick against which all subsequent work could be judged.
And it had become, for those who understood it, a kind of creed—a statement of faith in a world that often seemed to reward the opposite values. Elegance is not a dispensable luxury. In a culture of quick fixes and minimum viable products, of technical debt and deferred maintenance, of code written in haste and debugged into barely functioning states, the sentence stood as a rebuke and a promise.
It is possible to do better. It is necessary to do better. And the standard by which "better" is measured is not speed or cost or market share, but the austere, demanding, ultimately liberating criterion of elegance.
The Amsterdam café where a young man once sat with his fiancée, sketching the shortest path algorithm in his mind, has long since changed ownership and perhaps closed entirely. The Mathematical Centre where he knocked on van Wijngaarden's door has been replaced by CWI's modern campus. The house on Plataanstraat 5 in Nuenen, the smallest Burroughs research facility in the world, has passed to other owners. Upon his death, neighbors recalled the sound of the Bösendorfer as "the voice of the house." They remembered him as the man who walked his dog, was unfailingly polite to children, and hated the noise of lawn mowers.
But somewhere, at this moment, a navigation system is calculating the optimal route from one city to another. Somewhere, a semaphore is coordinating access to a shared resource. Somewhere, a young programmer is staring at a piece of code and feeling, without quite knowing why, that something is wrong—that the solution works but is not right, that there must be a cleaner way, a more elegant approach.
And in that moment of dissatisfaction, that refusal to accept the merely functional in place of the truly correct, the voice speaks again.
Dijkstra would not have liked this.
It is, as he said, enough immortality. For a man who never sought fame outside his field, who wrote by hand because machines encouraged haste, who measured his worth not in public recognition but in the quality of thought he left behind—it is precisely the immortality he chose.
The voice persists. The standard endures. And somewhere in the world, at every moment, someone is trying to live up to it.