<br><br><div><span class="gmail_quote">On 4/4/08, <b class="gmail_sendername">Joe Landman</b> <<a href="mailto:landman@scalableinformatics.com">landman@scalableinformatics.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<span class="q"><br></span>
Sadly, when I taught some HPC usage/programming classes a few years ago
at my alma mater, the students varied between knowledgeable scientific
computing users in chemistry/physics/biology, to people who "knew" Java
and C++.  The latter couldn't program in C for some reason.
 No. Really.  Stop laughing.  (for those that don't get
it, C++ is C with some extra stuff added on ... they are for all
intensive porpoises, the same language if you ignore OO stuff,
generics/templates ...)<br>
<br></blockquote></div>I'm sympathetic with C++ programmers who "can't
program in C". It's trivial for me to code in C++: I can just write
K&R C, it compiles and does what I want, because C is (with minute
exceptions) a subset of C++. The reverse is not the case: C++ is a
large language (compare Stroustrop's book, which looks like the Wheeler
Misner Thorn holding down RGB's desk, to Kernighan & Ritchie; and
Thompson's formal definition of B is like 3 pages). Few people know all
the formal definition of C++, much less all the standard libraries;
most work effectively with a subset. People who think of writing to a
file as piping through a stream may not be aware of "printf" or "putc",
and they need not be; unless you asked them to write someting that
would compile in ANSI C89. However, I would expect that a competent C++
programmer could **learn** C pretty quickly.<br>
<br>
Peter<br>