Ideas are fuzzy, hard to capture, imprecise, and clearer in my head. I’ve been sorely out of practice regarding professional, external writing. When I write for myself, I write in admittedly a lazy manner — as if I have my own grammer, punctuation, language that I know that works for me, but would irritate a regular reader attuned to reading “normal” english.
For each technical idea I have, my hope is to get it in words in order to identify any gaps, holes, invalid assumptions in order to refine the idea. Yet, until the idea is implemented, in code, and working as intended, the words merely serve to aid the development process, and to document and crystalize the current moment in the development process. But it could very well be that the idea is documented clearly and precisely, but in practice it doesn’t work. In such a case, I say it’s better to have an idea that works that’s poorly described, than an idea that’s properly described but doesn’t work. The writing serves the ideas, not the other way around.
As a programmer, I so much prefer expressing my technical ideas in code. Code is precise. Code doesn’t have holes, because if there are holes then the code won’t work as intended. Code can be validated. Tested. And by validating I can be sure that the underlying idea is correct, instead of merely speculating.