[Tutor] newbie

Alan Gauld alan.gauld at blueyonder.co.uk
Thu Nov 6 17:05:15 EST 2003


> through things that I am coding in a procedural way, and then going
back
> over the code and recoding parts into an OO model. Is this a normal
> progression,

Yes if you learned to program in a procedural language first
or if you ever studied math or science. All of these encourage
a style of mental analysis based on functional decomposition.

If on the other hand your background is in organisational
taxonomies - librarianship, office admin, history etc then
you will likely find adopting OO thinking a natural progression.

> my brain just doesn't seem to think like that, and I have work
> through a procedural method to actually solve the problem.

> Do experienced programmers find this sometimes also?

In the early days of OOP popularity(~1988-93) a lot of
industry research went into this. They figured an experienced
procedural programmer took from 6 months to two years to
completely migrate to OO. I think I took about 4-6 months
personally but I started on OOP while at college and
still learning procedural techniques. My wn experience
of mentoring C programmers into C++ and Lisp Flavors
was an average of about 6-9 months to really lose
the procedural mindset.

Some studies with teaching Librarians (practiced taxonomists)
OOP showed that they picked up programming significantly
faster than control groups learning traditional techniques.

However, studies with children, starting with Alan Kay and
Smalltalk have consistently shown that they learn OOP very
easily and so its actually a natural way to think for most
folks, its just that some of us get trained out of it at school!

Persist and it will eventually be the most natural way to do
it. In fact I now have to force myself to think in procedural
terms for those rare cases where procedural is obviously
the better technique. (And that quite often includes here
on tutor where beginners usually prefer a procedural solution)

HTH,

Alan G.




More information about the Tutor mailing list