Re: General question to other developers...

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On Jan 18, 1:43 pm, "Peter Duniho" <NpOeStPe...@xxxxxxxxxxxxxxxx>
wrote:
On Thu, 17 Jan 2008 19:19:36 -0800, .\\axxx <mailma...@xxxxxxxxx> wrote:
My 2c...

It is more than likely that, if your son progresses in programming, he
will be writing in an OOP environment.
My belief (as an experienced software developer using pretty much any
language you care to mention (yes, I'm THAT old)) is that the best
thing to teach a student today is OO concepts. These are so poorly
understood by so many developers today, that a good understanding puts
you a step ahead.

No question that OOP is going to be an eventual step for any serious
programmer.

But. We don't insist that children go straight to walking. We let them
practice crawling first. That allows them to master basic concepts like
perception and navigation before they are up on two feet going too fast
for their brains to keep up.

Likewise, even OOP programming still involves a lot of basic procedural
implementation details. I don't care how well a person has been taught
OOP design, if they haven't mastered the basic mechanics first they still
won't be able to write a useful program.

I believe you think of OOP as being an advanced concept because it was
learned by you post procedural coding - and not hand-in-hand. If we
are going to be walking in a jungle environment, we shouldn't learn to
crawl in a suburban loungeroom (sorry - running out of relevant
examples). OOp is, if you like, the environment, so learning to
program in that environment is, I would think, the best environment
for learning. And learning procedural language can be done just as
well in that environment as in another.


[...]
One problem that occurs here is the abilities of the teacher. Many
teachers were brought up on procedural languages, and many take the
'it didn't do me any harm' view. This is a poor argument.

In that situation, sure. I agree. A bicycle helment is demonstrably
useful in preventing injuries and death that might otherwise occur. Just
because someone lived through not wearing one, that doesn't mean a
helmet's not useful.

But it's a pretty far stretch to use the same argument to justify a claim
that learning programming without OOP concepts as an initial step is
harmful to one's future as a programmer. All the evidence in fact argues
against this claim. On the other hand, it's well-proved that when
teaching something to a person, it does no good whatsoever to jump ahead
to advanced topics before they have mastered the foundational elements.

All the evidence? You mean all the OOp programmers now who learned on
procedural languages first? I've met a large number who were, frankly,
crap at OOP - and I have never met a professional who was brought up
on OOp from first principals - so what evidence?

and again - sure you need to teach the basics before going on to the
advanced, but do you really think OOP is advanced? I think of it as
simply a different way of thinking about a problem - and in fact with
kids I find it makes more sense to them as a concept that 'pure'
coding. Sure, they still need to learn how to write a function, and a
loop, and an If and Switch (or whatever) (and, please, nobody teach
them to use GoTo :) but doing this in an OO environment, using OO
terms, is a great introduction to something which, at its heart, is
not advanced - just different.
Pete

.



Relevant Pages

  • Re: A new paradigm
    ... OOP being described in OOP language instead of in English. ... Many of us in the MV environment are business people who know what we are ...
    (comp.databases.pick)
  • Re: What happens to copyright when a company goes out of business?
    ... OOP is overkill for most small utilities. ... but it implies that the language has procedure calls ... Any programmer writing programs for consumption by others should by this ...
    (uk.legal)
  • Re: Hot Topic ----C and C#
    ... humanly impossible to have written the software in any other language. ... an equally capable programmer ... OOP, then, isn't something we're doing for the computer. ... Faced with those limitations, we invent new ways to organize ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Global Functions
    ... Singleton Class is doing the same as a so called not official existing ... which is in fact no class in the OOP meaning. ... language syntax, not misinterpreted as being a VB feature, etc. ... think more clearly than a VB programmer, ...
    (microsoft.public.dotnet.languages.vb)
  • Can a low-level programmer learn OOP?
    ... I have also found some articles profoundly critical of OOP. ... Starting in 1999 I got back into programming, but the high-level-ness of PC programming and the completely foreign language of OOP repelled me. ... But I wonder if the OOP programmers spend as much time creating classes and trying to organize everything into the OOP paradigm as the C programmer spends just writing the code? ... Use C and choose a library that will enable cross-platform GUI development. ...
    (comp.lang.python)