Usenet.com

www.Usenet.com

Group Index

Comp Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Re: Is C++ a dying tongue?



Francis Glassborow <[EMAIL PROTECTED]> wrote in message
news:<[EMAIL PROTECTED]>...
> In article <[EMAIL PROTECTED]>, Bradd W. Szonye 
> <[EMAIL PROTECTED]> writes
> >Yes, that is a problem. I personally find the Lisp family too terse
> >and "mathy" in places. Still, I really like it because of its power
> >and expressiveness (once you get past the bare-bones syntax). Some
> >teachers see it the other way around: They prefer the bare-bones
> >syntax, since it doesn't "get in the way" of learning the
> >concepts. Which is better? It really depends on the student. For
> >some, terseness helps them get to the meat quicker; for others, the
> >lack of redundancy and "context" makes the programs look like noise.

> Actually I would say that it really depends on the teacher:-) If
> teaching programming is perceived as an end in itself then we have to
> choose a curriculum that will still teach the other things but without
> the teacher being aware of it:-)

To be frank, when I made my comment about not teaching programming until
the student had mastered mathematical reasoning and expressing himself
in his native language, I was thinking only of teaching programming as
an end.  I find the idea of teaching programming as a means of teaching
mathematical reasoning interesting; the idea hadn't occurred to me.

> C++ would be a very bad choice for such a curriculum because in
> general the teacher would know too many wrong things about C++ to do a
> good job, and the exceptions that really know their C++ would be so
> pre-occupied with teaching C++ that they would fail to teach most
> students to program.

In general, I fear that with C++, the course would necessarily get too
hung up in language details to be able to address the more general
issues.  But I don't think that this is a particularity of C++ (although
C++ is probably worse than most in this respect); I think that the same
thing would hold true for any practical language.  Because pratical
languages have to deal not only with mathematical logic, but also with a
lot of often illogical practical issues, like interfacing with poorly
designed operating systems or existing code bases.  Or existing
programmer habits and expectations, for that matter.

> You mentioned how learning German helped you with understanding the
> structure of English yet I guess that English is still your language
> of choice.

Maybe in his case.  I know a number of people whose language of choice
is NOT their first language, and quite a number who are at least as at
home in their second language as in their first.  I hesitate to speak
for others, because I don't know how they experience the fact
emotionally, inside themselves, but when I read Stroustrup, Vandevoorde,
Lajoie or any number of others in English, I don't have the impression
that they are not at home in the language, even if it isn't their first
language.  In the case of Daveed, in fact, I can assure you his English
is now better than his original French; I suspect that this is the case
of others, but I'm not in the same position to judge.

> If we do not make C++ the first language learnt then it will rarely be
> the language of choice. Learning other programming languages should
> add to one's understanding of one's 'language of choice'.

I'm pretty sure that I disagree with this.  My first programming
language was assembler; it is definitly NOT my language of choice.  My
first "high level" programming language was PL/M -- not my language of
choice either.  C++, in fact, came relatively late in my career.

> There should be a radical difference between the way programming is
> taught in its own right, the first programming language taught and the
> teaching of second and subsequent languages.

I agree here, although it goes against what I've frequently heard with
regards to teaching a foriegn language.  If learning a second
programming language is like learning a foriegn language, then it really
needs to be based in what one already knows about the first language.
In fact, if my experience is any indication, the better you know the
first language, the easier it is to learn the second.

(I am talking here, of course, about adults.  In the case of children
growing up in a multi-lingual environment, it isn't even always certain
what the first language is.  Although... I wonder whether it would be
interesting to teach two programming languages in parallel, as first
programming language.)

> My biggest problem with much current teaching of programming to
> adolescents and young adults is that it is done in Java and I am very
> far from happy with the idea that future programmers will
> instinctively view programming through a Java tinted glass.

I wouldn't worry too much about it.  Adolescents will almost never have
the necessary basics (mathematical reasoning, communications skills) to
really learn programming, and it isn't learning Java that will teach
them -- IMHO, Java isn't really better than C++ for this (for the same
reasons: it addresses too many practical problems in an ad hoc manner).

Later, when they learn programming, they can learn more languages.  And
maybe even learn how to program in Java (since they won't have learned
when they learned Java before).

--
James Kanze           GABI Software        mailto:[EMAIL PROTECTED]
Conseils en informatique orientée objet/     http://www.gabi-soft.fr
                    Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]



<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.