Take the 2-minute tour ×  I heard many people saying that when
developing algorithms you should first use pen and paper,
flowcharts and what not, so that you can focus on the algorithm
itself, not worrying about the implementation of said algorithm
(i.e., you deal with one problem at a time).  However, most of
the time I find it easier to actually develop my algorithm on
the fly. That is, I think a bit about the problem until I know
the general direction to take, and then I start writing code and
making changes until the algorithm emerges and works.  Is this a
bad habit that I should try to change?  share|improve this
question add comment  closed as primarily opinion-based by Jim
G., MichaelT, gnat, Kilian Foth, StuperUser Oct 7 '13 at 12:10
8 Answers  up vote 11 down vote accepted  Some algorithmic
development can require a lot of trial-and-error testing and
tuning, as one can find that the assumptions that would go into
a strictly paper design turn out not be accurate enough when
given real data and perfo