
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)
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)
“Separate the code that uses an object from the code that creates an object.”
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)
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)
Fisher’s fundamental theorem states—in terms appropriate to the present context—that the better adapted a system is to a particular environment, the less adaptable it is to new environments. By stretching our imagination a bit, we can see how this might apply to computer programs as well as to snails, fruit flies, and tortoises.”21 In other words,
... See moreAdam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
This institutionalized acceptance of shoddiness is one of the most shameful aspects of software engineering. Software bugs are not inevitable, but trying to write software that never crashes is a nongoal, as they say, for the current crop of programmers.
Adam Barr • The Problem With Software: Why Smart Engineers Write Bad Code (The MIT Press)
In the Beginning … Was the Command
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