3 ms·
At first sight, this statement seems odd. For sure, writing a text is more difficult than reading it, and programming is writing a text. But a different kind of
by ht_th 13y ago
At first sight, this statement seems odd. For sure, writing a text is more difficult than reading it, and programming is writing a text. But a different kind of text. A program is written to communicate ideas with a computer first, and with humans second, whereas an article or novel is written to communicate ideas with humans only. What if we would have a programming language that allowed us to write to communicate ideas to humans first and have the compiler/interpreter automate the communicating with the computer?
Or could it be that a non-trivial program is essentially more complex than an article or novel or any other regular text we encounter daily?
Or is reading a program similar to reading a text in an unknown language? Like trying to read some Roman text when you don't really know Latin, but you've access to a Latin-English dictionary and a good grasp of history and the context and topic of the Latin text?
- derefr 13y agoReading and writing themselves are the least difficult parts of reading and writing programs. The majority of writing a program is conceiving of a well-defined model--after that, all you are doing is typing. The majority of reading a program is attempting to reconstruct someone else's conception of a model into your own brain from the typed description. Reading just the text written for the computer answers all of the "what" (as if it didn't, the program would not run), but none of the "why" -- and so makes reconstructing that model very difficult.
- jeremyjh 13y agoYes and even after you have enough working knowledge to support or enhance the code you will still find yourself continuously suprised because your model is not a perfect understanding of the author's intended model, AND the code itself is not a perfect representation of that model to begin with.
- Gravityloss 13y agoThat's why it's so nice to read higher level language code. It's more weighed towards the why and less towards housekeeping.