More on this book
Kindle Notes & Highlights
by
Adam Barr
Read between
February 27, 2020 - January 22, 2022
“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.”
Learning “in the streets,” textbooks as “little more than reference manuals”—indeed! Weinberg was making the same point I am making in this book, forty-plus years later: most programmers are not properly educated in how to program, and it shows in their code.
Modifying existing code is what a professional programmer spends the vast majority of their time doing, but my work at school gave me little preparation for sitting down with a large program and figuring out what the heck the original author was thinking—or if they had done something right, using their code as an example.
Unfortunately, humility is not something that programmers tend to have thrust on them. Which brings us to the real problem with programmers being self-taught: it makes them arrogant.
Knuth, Mills, and Brooks all had PhDs in mathematics. As the son of a mathematician, I can state with confidence that despite possibly having a reputation for thinking deep thoughts in isolation, mathematicians are extremely collaborative and spend a lot of time meeting to exchange ideas, almost always building on the work of those who have gone before.15
“values of safety and conscientiousness prevailed, and the rock star status of the test pilots was gone.”6 The universe applies a natural corrective to test pilots who fail to adapt, but no such effect exists in software; the middle and upper management of software companies are full of successful self-taught programmers.
Failures of ignorance we can forgive. If the knowledge of the best thing to do in a given situation does not exist, we are happy to have people simply make their best effort. But if the knowledge exists and is not applied correctly, it is difficult not to be infuriated. … It is not for nothing that philosophers gave these failures so unmerciful a name—ineptitude.7
“We live in countries where you need a license to cut hair, but you don’t need anything to write code for safety critical software or other mission critical software.”46 McConnell helpfully supplied a list of over thirty professions that require licensing in the state of California, including custom upholsterer and mule jockey.

