Programming is a lot like writing. You learn the words, then the phrases and other bits of grammar, and then comes the hard part. The hard part is figuring out what to write. Take my recent project as an example. I set out to re-create the wheel by writing my own engine for comments on this blog and the others that I write from the ASCII up. Writing the form to get a name and comment is easy. Putting the comment to a file is easy again. Why stop there though? The best places let you comment on a comment. Making sub-comments was not much harder than the comments. Where it became a nightmare is then displaying those sub-comments in the right places. There is also the matter of counting the comments to display them back and having multiple counters to track.
I’m running long here, please bear with me. There is a lot of logic to be sorted out when writing a program like this. This is much like sorting out the details in a story and the implications. Then there are other decisions such as how many layers of sub-comments do you allow? Only so many can fit on a screen comfortably. This leads to trying to figure out how not to allow comments too many layers deep and having some not display. It also adds confusion to the counting. Then unlike most kinds of story writing there are security issues. So I built my own random catchpha delivery system, one that is easy to read by humans but not for machines, and of course built in functionality to prevent comments from running dangerous code. You can all see this comment system coming soon, after I build some more backend code into it.
Music: These Colours Don’t Run by Iron Maiden.