3 ms·
Yeah, I'd call this the difference between "discovering how to program a thing" and "programming something you already understand". Discovering as you go is to
by Groxx 9y ago
Yeah, I'd call this the difference between "discovering how to program a thing" and "programming something you already understand".
Discovering as you go is totally fine, and dominates what I write. It's also very nearly your only option when learning something new. Sitting on millions of lines of code, integrating with dozens of other systems... you often simply don't know what you need to do up-front, so you iterate and explore until you do. Gradually tightening the constraints of the system fits this kind of thing perfectly and I love when it's easy to achieve. It gets you both a faster start and a safer finish.
In contrast, entirely agreed - I've written a few low-kLOC projects start-to-finish with basically no problems. But I knew exactly what I was going to do before I started actually coding. The (significant) time leading up to that was spent more-thoroughly understanding what and how I wanted to do, and at some point it all clicked in an "oh. so that's how. OK, might as well build it now" moment.
- mcphage 9y ago> It's also very nearly your only option when learning something new. Also your only option when working with other developers.
- Groxx 9y agoMaking it so this isn't true with multiple developers is one of the benefits of waterfall-style programming. Design an API up-front, divvy up work, build it. As long as the design is good and you don't do stupid shit, it's entirely possible to work in parallel without getting in each other's way. But yes, it absolutely compounds the issues. Everyone involved has to thoroughly understand it all / their role in it, and getting to that point likely takes longer than discovering it as you go :)
- LrnByTeach 9y agoI guess , most of the programmers experience these two approaches ( at any given time only one approach) > "discovering how to program a thing" and "programming something you already understand".
- barry-cotter 9y agoThis is why rewriting from scratch goes so much faster than doing it the first time. You know what you’re doing and how to do it.