Hacker News new | ask | show | jobs
by Durgasoft 2239 days ago
If you read The Art of Computer Programming or Djikstra's writings they will tell you how this was done. They took a piece of paper, and they wrote down in a high level what their program should do. Then they took another piece of paper and they started to split up the first piece of paper into smaller subroutines. Then they took some more paper and split the small subroutines up into smaller and smaller subroutines.

Then they sat in front of a computer and they wrote the program from the simplest subroutine up the tree and at some point totally trashed everything realizing they didn't fully understand the problem because architecting a program is difficult until you actually implement it. So back to the paper they did the exact same design algorithm using the new experience they had from actually trying to implement whatever they were doing but this time with the added experience of knowing more about the problem they were trying to solve. Then when the chance came to implement their program on a likely shared computer with limited time, they wrote this program the exact same way from the bottom up testing all the way until it was finished. Everytime I've asked a question on stackoverflow/exchange I realized half way through preparing and formatting my question that my program is too complicated, I should break up the logic and then I don't need to ask a question. I swear this is why they make posting there so tedious where you need carefully format and search for existing questions before posting a new one because odds are, you'll figure out what you trying to ask before even asking it.

1 comments

Sounds like the tried and true way. I'm always interested in learning about computing history and the people that set up the groundwork. The more I read, the more I find that tech doesn't learn much from its past and we're just stuck with many inferior iterations of the same things.

I found a copy of, Notes On Structured Programming, by Dijkstra. I'm going to start giving it a read tomorrow (it's a whopping 88pg essay).

It seems that Dijkstra did a lot of paper design work because he was programming for hardware that didn't exist in a programmable form yet.