[comp.lang.c++] C++ too complex

bob@imspw6.UUCP (Bob Burch) (11/06/88)

 
Jan Steinman writes:
> 
> (How do you say, "I want the window here, and I want it to display the
>P/E  ratio of the top 50 NASDAQ stocks in a scatter-plot" in Russian?) 
> 
 
One possibility, more or less:
 
"Mne nuzhna okhno zdess, i shto okhno pokazal p/e otnoshennie verkhixh 50
NASDAQixh aktsii razbrosnoy diagrammoy"
 
    I regard Russian as a FAR more complicated logical system than anything
I've seen yet in the way of programming languages or computer science, or
in the realm of mathematics.  When you consider that an entire nation of
some 300,000,000 people actually masters this discipline, mostly as a
SECOND language, and then consider the general level of math and computer
instruction in America, you have to wonder.
 
    By comparison, for instance, it would not seem to be asking very much
to wish all high school graduates to understand mathematics at least
through advanced calculus and differential equations (or to understand
C++).  To me at least, the problem is in attitudes and in the manner in
which things are taught, rather than in any lack of innate learning
abilities amongst the general population.  As a math major in school, I
always had the feeling that 80% of the math texts I ever saw (the ones
which read "theorem/proof, theorem/proof....." from front cover to back
cover) should be burned and their authors hanged and that anything I ever
actually came to understand was via digging on my own part and in spite of
rather than due to such texts or curricula.
 
    The single biggest problem with C++ as I see it is the natural tendency
of C programmers (who always regarded Kernighan and Ritchie's book as the
bible and as their first C book) to want to purchase a copy of Stroustrup's
book as their first C++ book.  Stroustrup's book almost assumes that the
reader KNOWS C++ a priori (the header to the notes starting on page 1 even
says as much) and the book generally becomes more valuable and readable
after one has basically figured out C++.  A far better way to LEARN C++
would be a copy of the Pinson/Weiner book along with a copy of Zortech's
DOS C++ compiler.  Zortech vers 1.6 (which they are shipping now as a final
free upgrade) compiles and runs everything in Stroustrup's book as well as
everything (including the polymorphic examples) in the Pinson/Weiner book.
 
    C++ strikes me as manifestly WORTH learning;  it strikes me as a single
language which can damned near do everything, exactly the language which
Ada was supposed to be but never will be.
 
Ted Holden
HTE
 
 

bright@Data-IO.COM (Walter Bright) (11/08/88)

In article <192@imspw6.UUCP> bob@imspw6.UUCP (Bob Burch) writes:
>    By comparison, for instance, it would not seem to be asking very much
>to wish all high school graduates to understand mathematics at least
>through advanced calculus and differential equations (or to understand
>C++).  To me at least, the problem is in attitudes and in the manner in
>which things are taught, rather than in any lack of innate learning
>abilities amongst the general population.

Yah, I agree. When I finally learned calculus (in college), I wondered
what all the fuss was about. All my life I'd heard that it was so tough.
It ain't anywhere near as bad as it's reputation.

I had an economics text in college that once had two pages of complex
algebra. When I finally waded through it all, I discovered that what
they were trying to calculate (marginal rate of return) was a simple
derivative that could have been done in 1 line! All that algebra was
basically a proof of differential calculus! The book never mentioned
the unmentionable, that he had just (surprise) done calculus, because
if it had, the assuption was that the reader would give up before he
started.

I got real tired of school counselors saying that I couldn't learn things
because they were 'too hard for me', or were 'college level', or only
'older kids' could handle it. !@#$%^&* (Aside to women readers: you aren't
the only ones to get this nonsense!)

C++ isn't so bad. The reason (I believe) that the C++ book is difficult
for object-oriented beginners is because it gives you a lot of
implementation details without properly explaining the concept behind
OOP. (This is not a flame at the book, it's just that another book needs
to be written for OOP novices.)

I speak from experience, I had a lot of trouble with C++ until I read
some Smalltalk stuff, then suddenly it all made sense.

coggins@retina.cs.unc.edu (Dr. James Coggins) (11/08/88)

In article <1740@dataio.Data-IO.COM> bright@dataio.Data-IO.COM (Walter Bright) writes:
>
>C++ isn't so bad. The reason (I believe) that the C++ book is difficult
>for object-oriented beginners is because it gives you a lot of
>implementation details without properly explaining the concept behind
>OOP. (This is not a flame at the book, it's just that another book needs
>to be written for OOP novices.)
>

I think it is more accurate to say that most of the existing documents
on C++ have as their objective the authoritative and (reasonably)
complete description of the language and its operation but not really
how to USE the language (or how to do O-O design, either).  This came
up at the C++ conference and was a motivation for our series of
articles on Managing C++ Libraries - we are trying to provide some
nuts-and-bolts howtos that are missing from the official sources. 

Bjarne Stroustrup has (repeatedly!) made the point that the C++
environment begins with the language (which he and colleagues are
developing - CAREFULLY) but requires other elements, including
education, debugging tools, project management tools, quasi-standard
libraries, etc. Feel free to contribute whatever you can figure out.
---------------------------------------------------------------------
Dr. James M. Coggins          coggins@cs.unc.edu
Computer Science Department   "Make it in Massachusetts" - ad slogan
UNC-Chapel Hill               "I made it OUT of Massachusetts"
Chapel Hill, NC 27514-3175                - my slogan
---------------------------------------------------------------------
 

dld@f.gp.cs.cmu.edu (David Detlefs) (11/19/88)

A number of recent posts under this subject have contained statement
of the form "C is better than C++ for <some function>."  I fail to see
how this could be so (except for the statement "C compiles take less
time than C++ compiles for certain common implementations of C++"),
since it is always possible to use C++ just as if it were a
strongly-typed C.  I would argue to the death with anyone who claims
that the weak type checking of (non-Ansi) C is superior to the strong
checking of C++ in *any* application.

I don't mean to put words in people's mouths, but perhaps what the
people making these statements are saying is that the object-oriented
features of C++ lead to better programs in the hands of experienced
programmers, but the temptation for inexperience object-oriented
programmers to use them without understanding them leads to bad
programs.  I think this is a different statement than saying that "C
is better than C++" for anything.

-- 
Dave Detlefs			Any correlation between my employer's opinion
Carnegie-Mellon CS		and my own is statistical rather than causal,
dld@cs.cmu.edu			except in those cases where I have helped to
				form my employer's opinion.  (Null disclaimer.)
--