Not logged in
Log in now
Create an account
Subscribe to LWN
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
PostgreSQL 9.3 beta: Federated databases and more
Why learn Fortran?
Posted Jun 29, 2012 15:25 UTC (Fri) by dskoll (subscriber, #1630)
I disagree. You need to learn about pointers or else C++ will be completely mysterious... you won't have a good understanding of what's really going on under the hood.
Posted Jun 29, 2012 17:38 UTC (Fri) by daniel (subscriber, #3181)
Posted Jun 29, 2012 22:45 UTC (Fri) by dskoll (subscriber, #1630)
Again: The title of the article is "Why learn C?"
I'm a programmer, not a teacher, but it seems to me a pretty reasonable way to learn C++ is first to learn C and then to learn what C++ adds on top of C (as well as the points of difference between the languages.)
Posted Jun 30, 2012 8:35 UTC (Sat) by HelloWorld (guest, #56129)
Posted Jun 30, 2012 13:24 UTC (Sat) by dskoll (subscriber, #1630)
You cut out the parenthetical part of my statement pointing out the areas of difference.
Tell me, are you a teacher or a programmer? Have you taught anyone to program?
I am not a teacher, but I have taught a few people to program, and IMO learning C first and then C++ makes a whole lot of sense, especially if it's a non-programmer doing the learning.
Posted Jun 30, 2012 13:52 UTC (Sat) by HelloWorld (guest, #56129)
> I am not a teacher, but I have taught a few people to program, and IMO learning C first and then C++ makes a whole lot of sense,
Just tell me why. I don't think that teaching people tons of stuff that they'll inevitably have to unlearn later on makes any sense.
Posted Jun 30, 2012 21:30 UTC (Sat) by dlang (✭ supporter ✭, #313)
C has the advantage that it's small enough that you can teach the complete language in a short time (when was the last time you saw a language book as small as the K&R C book?, or even one only double it's size?)
That's a huge advantage for a first language.
The fact that other languages work differently just means that when you move on to those languages, you should be learning the new stuff, but already have a solid grounding in the basic stuff.
My High School computer classes started by teaching Basic, then had a class in algorithms, and then covered assembly, and only then branched out to other languages. It resulted in a much more solid grounding, and much more flexible thinking than would come out of any of the College programs I have seen.
Posted Jul 1, 2012 10:45 UTC (Sun) by HelloWorld (guest, #56129)
On the other hand, if your goal is to learn C++, learning C first doesn't make any sense either due to the reasons mentioned earlier. So unless you actually want to read or write C code, I don't see a reason to learn C.
Posted Jun 29, 2012 16:33 UTC (Fri) by tshow (subscriber, #6411)
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds