📜 ⬆️ ⬇️

Quotes from the book Coders at Work


Self-education begins with reading useful books.

One of those, from my point of view, is Peter Seibel's book Encoders at Work: Reflections on the Craft of a Programmer (Peter Seibel, Coders at work: Reflections on the Craft of Programming, 2009) - this is 15 interviews with the most famous professionals in our the areas are Donald Knuth, Ken Thompson, Brad Fitzpatrick and others.

The book does not contain detailed recipes on how to become the right programmer. This book is a personalized look into the history of computer science and programming.
')
Why did it seem important to me? Here is a quote from the book:
At every step I encounter the fact that people do not realize the magnificence of our history. It seems strange to many programmers that in the 1970s people also knew, understood and knew something. (Donald Knut, p.523)
And, most importantly, the interviewees so clearly and clearly set out their vision of the development process (as well as other aspects of programming) that I decided to make a small selection of the most interesting quotes from my point of view.

About the beauty and readability of the code
The beauty of the code is when something is expressed very correctly - concisely and in fact - like a well-formulated aphorism or an instant caricature made with one stroke of a pen and very similar to the original. (Jamie Zavinsky, p.37)
By and large, the concepts of "beauty" and "ease of maintenance" are equivalent. Or at least closely related. (Jamie Zawinski, p.53)
The code itself is almost nonsense, it can be rewritten. Even if nothing changes, it is still for some reason spoiled. (Ken Thompson, p.401)
The computer needs a binary code, and I need a text file. (Bernie Coselle, p.472)
As Knut says, a program is primarily a literary work. The program must be readable. (Joshua Bloch, p. 161)

On the complexity of programs, code quality and bugs
Tony Hoare, at the Turing Award ceremony, said brilliantly: “There are two ways to design a system. One is to make it so simple that there will obviously be no flaws in it, the second is to make it so complicated that there are no obvious flaws in it. ” (Joshua Bloch, p.184)
The more complex the program, the more important it is for it to be done by really good programmers. (Peter Deutsch, p.365)
Joe's law of debugging - “all errors will be no further than three operators in one direction or another from the place of the last program change”. (Joe Armstrong, p.209)
We in Netscape had such a joke: “We are absolutely committed to quality. We are going to release a product of the highest, as far as possible, quality by March 31. " (Jamie Zawinski, p.44)
To enjoy the detection of errors, you just need to forget that you wrote the program yourself. (Donald Knut, p.516)

Key Programming Skills
What makes a good programmer different from a bad one: a good programmer easily moves from one level of abstraction to another, he is able not to mix these levels when making changes and accurately determine the level at which changes need to be made. (Jamie Zawinsky, p.39)
Think like a scientist; change only one thing at a time. Patience and the desire to understand the root essence of things. This is especially valuable when debugging or designing something that does not want to work. (Brad Fitzpatrick, p.90)
The ability to write. It seems, Dijkstra said: “If you are not good with English ( meaning, with a native language - note ), you will never become a good programmer.” (Joe Armstrong, p.214)
A really good programmer does a lot of programming. I did not meet any exceptions. If I do not program for two or three days, then I feel an itch. (Joe Armstrong, p. 205)

About learning
It is very important not to be afraid of your own ignorance. If you do not understand how something works, ask someone who understands. Many are afraid. What's wrong with that? After all, something you do not know, not because stupid, but just do not know yet. (Jamie Zavinsky, p.48)
Read someone else's code. (Brad Fitzpatrick, p.74) Just do not read those programmers who write the same way as you. (Donald Knut, p.525)
Program more. Theoretical studies provide knowledge, but programming is a craft, and practice is the only way to mastery. (Bernie Coselle, p.459)
Always try to do something a little more difficult than before, something that is too tough for you. (Brad Fitzpatrick, p.75)

About related sciences
Programming is closer to literature than to math. It's like writing a story, trying to convey its meaning to a very stupid guy with a limited vocabulary, that is, a computer. You have some idea to explain, and limited means to explain. What words will you pick up, how will the introduction, conclusion look like Something like that. (Jamie Zavinsky, p.52)
Not every programmer needs math, but she organizes the concepts that programmers encounter daily. (Guy Steele, p.300)

Source: https://habr.com/ru/post/158455/


All Articles