JP>> All he seems to be saying is that their number is relatively
JP>> small, compared to the number of those who haven't tried, or who
JP>> have tried and failed.
PG> Thanks again John, that very accurately expresses my sentiments.
Sentiments which I agree with, although I tend to find that the majority are
in the "haven't tried" category (or, more properly, in the "I'm using a C++
compiler for its convenience features when compiling C code, therefore I'm
using what might be termed `C+'" category), rather than in the "tried and
failed" category.
PG> Before we are accused of being OTO, I would like to restate this
PG> entire subthread began in response to a complete programming novice
PG> asking whether he should learn C or C++ as his first language, his
PG> goal being to become a proficient C++ programmer. And I told him
PG> that "I have met none to few programmers that ever successfully made
PG> the jump from C to C++." Certainly I HAVE met a few, such as
PG> yourself, Jonathan, and more recently a consultant from Beijing.
PG> However I regard such persons as my intellectual superiors. I believe
PG> that a novice is better off starting with C++. The opposite thinking
PG> seems to be since C++ was derived from an older version of C (K&R),
PG> one should learn the modern version of C (ANSI) before attempting to
PG> write in C++. As an exaggerated allegory, that is like saying if one
PG> wishes to write in modern English, one should first learn Icelandic,
PG> since that is the modern language most resembling the Old English/Old
PG> Norse languages from which modern English was derived! A rather
PG> absurd statement when you think about it!
I agree, and for reasons that tally with your chosen analogy. Although
learning C first and then learning C++ was the way that *I* learned C++, I
don't think that the learning curve of learning C++ directly is any steeper,
nor do I think that learning C++ requires a novice to jump in at the deep end
and start with classes and templates straightaway. I *do* think that
learning C first will cause one to head down some dead ends, and imprint
paradigms that one has to *un*learn when one switches to C++. And as such, I
think that starting with C++ immediately is the right way to go.
Which, in terms of your analogy, is the equivalent of saying that if one
learns Old English first, one then has to unlearn the declension of nouns
before one can progress to learning Modern English.
Yes, the evolution of the C++ language is an invaluable aid to understanding
why some of the language features work as they do (since many of them were
invented in response to pitfalls discovered from experience in the C
language), but I don't think that tracking the evolution of the language is a
good way to learn it.
¯ JdeBP ®
--- FleetStreet 1.19 NR
---------------
* Origin: JdeBP's point, using Squish (2:440/4.3)
|