Andy Hunt and Dave Thomas, the pragmatic programmers, explain:
"As [programmers], our base material isn't wood or iron, it's knowledge. We gather requirements as knowledge, and then express that knowledge in our designs, implementations, tests, and documents. We collect, organize, maintain, and harness knowledge. We document knowledge in specifications, we make it come alive in running code, and we use it to provide the checks needed during testing."All craftsmen work in ideas. But code might be the closest thing to pure thought that a person can build in.
What does it mean? |
The thing about code is that it itself provides the background. You need to bring an an understanding of syntax, but not semantics. Documentation or knowledge of the industry should help you grasp the knowledge contained in code, but the code can stand alone and manifest its ideas clearly--if you know how to read it, of course.
Interestingly, both written language and algorithms were invented at around the same time in Mesopotamia. (It's also interesting that written language was invented as a tool of commerce and state power, but that's another post). The word 'logic' comes from the Greek 'logos,' which means both 'word' and 'reason'.
It's all Sumerian to me. |
Of course, things weren't always this good. Object oriented programming and relational databases let us code in terms of objects and relations, which are self-defining. This is much better than pushing and popping stacks, which have a tenuous connection to any business reality. Still, even objects and relations have their limitations. With all the advances in coding productivity in the last twenty years, I'm excited to see what new thought patterns we'll be able to have in the next twenty.
No comments:
Post a Comment