On Thu, 14 Dec 2000, Matthew Dalton wrote:
> Martin wrote:
> > Maybe then you should drop out the scripting,
> > and teach procedural programming in c++ for the first 9 weeks and then
> > extend it to the OO side in the second half.
>
> I certainly don't agree with this. If you want to teach OO, use a pure
> OO language like Java or Eiffel, and if you want to teach procedural
> programming, use something like Pascal or C. C++ passes itself off as an
> OO language, but since it can be subverted to becoming a procedural
> language, I wouldn't teach people OO with it. For the same reason, I
> wouldn't teach people procedural programming with it either.
I don't see what you are getting at, there's a subset of Java that
defines a procedural language too, and mostly when I see it taught, it
always starts off with that subset, and the student is told "Ohh, don't
worry about what class, public or static mean just yet, we'll get to
that later after we have covered loops, branching, operators etc".
It's got nothing to do with c++, but rather how you teach it. If your
complaint against c++ is the sytactic difficulty of the language that's
fine, in fact I already commented on it, but to write it off for
teaching OO just because programs /can/ be written in it procedurally
seems very strange. I don't think the concept of "purity" in the
language matters, just how it is taught. In any case, the line between
pure and impure can always be blurred, as with Java.
> It's not the language itself that should be concentrated on though, but
> the concepts of analysis and design pertaining to whatever paradigm
> you're using. I don't imagine that it would be difficult for any decent
> Java programmer to pick up C++ in a short amount of time.
I agree. But he seemed to want to cover both OO and procedural concepts
by teaching both c++ and Perl and that was where my comment was coming
from. If you'd been just a touch less selective in quoting me you'd see
that I was also pointing out that covering this much (i.e. both
paradigms) in one course seemed to me to be a bit too much. Especially
when you add in learning the syntax of two different languages. C++
halves (well, not quite, but reduces) the syntatic hurdle.
cheers,
Martin
--
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://slug.org.au/lists/listinfo/slug