Well, those are cute quotes and it's not difficult to find criticisms of any
programming language online. But the point remains that you can write almost
all of C within a C++ context, and in terms of learning fundamentals an
introduction to programming with C++ is going to cover more relevant material
for library programming purposes than a pure C class - you'll get some OOP, be
spared explicit memory management (well, using 'new' instead of 'malloc') etc.
All of which transitions more seamlessly to languages where the real action is
in library terms - Java, Ruby, Python etc. because of the code libraries
available (and look at the huge number of library / archives related projects
written in PHP). Of course, this supposes that you're not aiming for systems
level programming, in which case C/C++ would a typical choice (but certainly
not for beginners). But if your only option is a class on C programming, and
you've had no other "low-level" exposure, then I think it's worth it for the
reasons others have mentioned.
Mark Cooper,
Sonoma County Library
On Sat, 30 Jul 2011 06:38:22 -0300, Luciano Ramalho
<[log in to unmask]> wrote:
>On Tue, Jul 26, 2011 at 4:18 PM, Genny Engel <[log in to unmask]>
wrote:
>> C++ might be a better choice if you want to start off with a grounding in
object-oriented programming. �Or maybe Java. �I'm about to start the C++
course at the local junior college. �Which reminds me to mention, it probably
doesn't matter which programming course you take right now -- if you then go
through life taking more programming classes like I do!
>
>Here are a few quotes from computer science notables about C++:
>
>"I invented the term Object-Oriented, and I can tell you I did not
>have C++ in mind" (Alan Kay)
>"There are only two things wrong with C++: The initial concept and the
>implementation" (Bertrand Meyer)
>"Whenever the C++ language designers had two competing ideas as to how
>they should solve some problem, they said, 'OK, we'll do them both'.
>So the language is too baroque for my taste" (Donald E Knuth)
>
>To really learn OOP, Ruby, Java, Python and particularly Smalltalk are
>much better choices, IMHO. OK, you won't find much practical use for
>Smalltalk, but neither for C++ in this day and age (not in a library
>setting, anyway). And learning C then Smalltalk is a great path to
>Objective-C, the main language used to program iPhones and iPads.
>
>Putting aside the OOP issue, learning C is totally worthwhile as a
>grounding for any other language. Its what C++ adds to C that is not
>worth the trouble, as there are better alternatives.
>
>Cheers,
>
>--
>Luciano Ramalho
>programador repentista || stand-up programmer
>Twitter: @luciano
|