
The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)

Smullyan’s point was that a reasonably modest person is behaving inconsistently, which he happily admits to; when it comes to programmers, however, the conceited approach usually wins out.
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
Unfortunately, as Parnas put it, “[Programmers] have been fed so many ‘silver bullets’ that they don’t believe anything anymore.”12
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
The Science of Computing: Shaping a Discipline,
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
The Gang of Four stated two principles of good object-oriented design that were present in all the patterns: “favor object composition over class inheritance” and “program to an interface, not an implementation.”8
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
programmers have arrived at a situation where they can be paid large sums of money to pursue an activity that many of them would do in their spare time anyway, in an environment that entails no undue physical exertion or risk.
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.”
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
Nobody is going to assume that the same bridge design, with just a few modifications, will handle twice as much distance or weight,
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
The software industry has evolved in just a couple of generations, leaving little time to reflect on how things are done.
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
Niklaus Wirth, “A Brief History of Software Engineering,” IEEE Annals of the History of Computing 30, no. 3 (July–September 2008): 34.