When a computer creates art, who is the artist – the computer or the programmer?
Coding, like poetry, should be short and concise.
Tests are stories we tell the next generation of programmers on a project.
Programmers tend to be divided into tribes by the languages they use. More even than by the kinds of programs they write.
We programmers are weird creatures. We love writing code. But when it comes to reading it we usually shy away. After all, writing code is so much more fun, and reading code is hard – sometimes almost impossible.
Good programming is not born from mere technical competence. I’ve seen highly intellectual programmers who can produce intense and impressive algorithms, who know their language standard by heart, but who write the most awful code.
A non-programmer friend once remarked that code looks like poetry. I get that feeling from really good code, that everything in the text has a purpose and that it’s there to help me understand the idea. Unfortunately, writing code doesn’t have the same romantic image as writing poetry.
It is not the language that makes programs appear simple. It is the programmer that makes the language appear simple!
Clean code always looks like it was written by someone who cares.
Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy. The ultimate goal is to minimize the lifetime cost of the system and to maximize programmer productivity.
It is not enough for code to work. Code that works is often badly broken. Programmers who satisfy themselves with merely working code are behaving unprofessionally. They may fear that they don’t have time to improve the structure and design of their code, but I disagree. Nothing has a more profound and long-term degrading effect upon a development project than bad code.
One difference between a smart programmer and a professional programmer is that the professional understands that clarity is king. Professionals use their powers for good and write code that others can understand.
There are only two kinds of languages: the ones people complain about and the ones nobody uses.
We build our computers the way we build our cities – over time, without a plan, on top of ruins.
Monty Python is, for reasons best known to nobody, rather popular with computer programmers. There’s even a programming language called Python, based on their sketches.
Beautiful code is short and concise, so if you were to give that code to another programmer they would say, “oh, that’s well written code.” It’s much like as if you were writing a poem.
Ask a programmer to review ten lines of code, he’ll find ten issues. Ask him to do five hundred lines, and he’ll say it looks good.
K.I.S.S.
What one programmer can do in one month, two programmers can do in two months.
Automated testing is a safety net that protects the program from its programmers.