James H. wrote:
Doubly, it takes a long time to learn how
to think in objects – something I admit, myself, to just be getting
the hang of.
I think there are two flaws in your argument.
-
Your experience does not set the standard for everyone else.
-
I assume you started with a language similar to C (or at least
procedural), and then learned OO. Because it took you a long time to
fully grasp OO, you think it is best to start with a procedural
language. ?? Is there no possibility that it took you longer to grasp
OO because you started with a procedural language?
I was taught both procedural and OO in college, and did not experience
the difficulties you mention.
Alan Shalloway, one of the authors of “Design Patterns Explained”
argues that avoiding design patterns makes it harder to learn them
object-oriented design. Instead, he introduces his students to
object-oriented design and design patterns and has found the students
learn object-oriented design faster.
Quote from preface in book:
“The design pattern books I had been reading and the design pattern
experts I had been talking to were saying that you really needed to
have a good grounding in object-oriented design before embarking on a
study of design patterns. Nevertheless, I saw, with my own eyes,
students who learned object-oriented design concurrently with design
patterns learned object-oriented design faster than those just studying
object-oriented design. They even seemed to learn design patterns at
almost the same rate as experienced object-oriented practitioners.”
If experience can be used to draw conclusions, I would trust his
experience with a larger test set over yours.