

Should I plan ahead, or figure out programs as I'm writing them? - BlackJack
http://programmers.stackexchange.com/q/97985/27757

======
mindcrime
Well, who am I to dispute what pg says, but... I think the best approach
probably varies by individual, and that - to the extent that there might be an
objective truth to this point - the truth probably lies in the middle
somewhere. At the very least, I think making a dichotomy between "no planning
ahead at all" and "figure everything out in advance" is a false dichotomy.
It's a continuum, in my experience.

I personally lean more towards the exploratory programming style, and the
"figure it out as I go," but at the same time, two of my favorite programming
tools are an artists sketchpad and a set of colored pencils. There's
definitely a time and place to sit down and sketch out high level
relationships and visualize things to help yourself understand how things will
fit together. Well, there is for me.

Again, I think this depends a lot on the individual... and also on the problem
domain and the inherent complexity of the program. That is, a simple command-
line calculator program (think, "poor man's _bc_ ) would probably require less
up-front planning than an ERP system for a 30,000 employee company.

