It is practically impossible to teach good programming to
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.
“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.” — Edsger Dijkstra
In this fierce and uncompromising declaration, Edsger Dijkstra, one of the founding fathers of computer science, speaks not merely of programming, but of the discipline of the mind. His words may sound harsh — even merciless — but within their fire lies a truth about how the human intellect is shaped, corrupted, and reborn. When he says that students taught in BASIC are “mentally mutilated beyond hope of regeneration,” he does not speak of cruelty or contempt, but of the irreversible scars that shallow learning leaves upon the spirit of inquiry. His message is timeless: the tools that teach us to think shape not only what we know, but how we know — and the wrong foundation can cripple even the brightest mind.
To understand the origin of this quote, we must return to the early days of programming — to the 1970s, when BASIC was widely taught as a beginner’s language. It was meant to be simple, accessible, a gateway to computing. Yet Dijkstra, a man devoted to mathematical rigor and elegance, saw in BASIC not a beginning, but a betrayal. To him, it encouraged bad habits — chaotic logic, poor structure, and sloppy thinking. It trained the mind to see the machine, but not the beauty of the algorithm; to make the computer obey, but not to understand why it should. For Dijkstra, programming was not a craft of buttons and syntax, but a discipline of thought, a form of reasoning as pure as geometry or philosophy.
The ancients would have understood his lament. For what is Dijkstra’s warning but a modern echo of the philosopher Plato’s fear that careless teaching can warp the soul? Just as a badly trained musician may never hear harmony again, or a misguided apprentice may forever mar the art he once sought to master, so too does the poorly taught mind become estranged from truth. Dijkstra saw the human intellect as a sacred instrument — one that must be tuned with precision and reverence. When he called the poorly taught “mentally mutilated,” he spoke as a craftsman who knows that a dulled blade cannot carve the delicate forms of logic.
Yet even in his severity, there is passion, not cruelty. Dijkstra’s anger was the anger of one who loved clarity and discipline with holy devotion. He believed that to think well is the highest calling of humankind — that to reason purely is to touch something divine. In his eyes, a true programmer was not a technician but a philosopher, sculpting the invisible world of computation with the chisel of logic. BASIC, to him, was a corrupter of that sanctity — a language that rewarded doing before understanding, result over reason. His fury, therefore, was not against students, but against the systems that taught them to crawl in the mud when they could have been walking among the stars.
History offers many such figures — prophets of precision who railed against mediocrity. Think of Leonardo da Vinci, who said that those who practice without theory are like sailors who navigate without a compass. Or of Euclid, who insisted that geometry was not a craft but a revelation of eternal truth. Dijkstra belongs to this lineage: a guardian of the intellect who feared not ignorance, but misguided knowledge. For ignorance can be taught; folly must first be unlearned. And unlearning, he knew, is often harder than learning itself.
Beneath the surface of this quote lies a universal lesson: what we learn first shapes everything that follows. The mind, once molded, resists reshaping. Thus we must guard the gates of education with vigilance. Teach not convenience, but understanding; not speed, but depth. Whether in programming, art, or philosophy, the teacher’s duty is to awaken thought, not to mimic function. As Dijkstra might say, to learn wrongly is worse than not to learn at all, for the former closes the door that the latter leaves open.
Lesson:
From Edsger Dijkstra’s fiery wisdom, let us draw this truth: do not rush to knowledge, but honor the path of understanding. Seek teachers and tools that sharpen your mind, not dull it. When you learn, learn deeply; when you build, build with reason. Beware the easy path, for it often leads to the wasteland of shallow thought. The discipline of the mind is sacred — protect it, refine it, and let it serve truth, not convenience. For in the end, wisdom is not in the code you write, but in the clarity of thought that writes through you.
AAdministratorAdministrator
Welcome, honored guests. Please leave a comment, we will respond soon