The 15th and the last person interviewed in Coders at Work: Reflections on the Craft of Programming is the famous Donald Knuth, the Diderot of Computer Sciences, the author of the monstrous The Art of Computer Programming.
According to him there hasn’t been many things in programming during the last couple of decades. He mentions two big steps. One when we went to structural programming from machine code and the other one is when literate programming came into picture. Since then there is almost nothing new for him except for the enhanced debugging tools.
Of course writing software became easier. This explains why the number of programmers went up while the same percentage of people have the traits of a good programmer that is about 2 % according to Knuth.
The rest can do stuff now because the machines are more powerful than they used to be.
But the work of the rest is not fun. As he said calling things out of a library is not fun, unless you can write that library yourself. I have to admit, I generally agree with him. We, developers, like to write something more meaningful than just calling the same APIs all the time. However sometimes you have to experience how much you can do with just gluing together calls that were not meant to be called together.
Think about Elon Musk who says the creativity and inventions come from being a master of two unrelated areas. Let’s say you are a good engineer and a good businessman and then you start combining ideas. Let’s say you know well two libraries serving totally different purposes. You might have a great idea and you create the next big thing.
It’s nice to read that his mindset is not fixed regarding the position of academics and the industry. He thinks that sometimes industry is ahead and leads computer sciences, but sometimes it’s the other way around. But it’s not fixed.
I could write a lot more about what he said, but instead I encourage you to actually read the interview and all the others. Even if you won’t learn how to use some new framework from this book, your mindset will actually change.
Let me finish with my favourite quote from Donald Knuth:
“The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.”