Click to See Complete Forum and Search --> : Want to learn C and C++
Ashpool
11-24-2006, 06:10 PM
I've already got a decent foundation in Java w/ my skool, but that's the most 'heavy-duty' programming they offer in my degree (I doubt ksh, bsh, bash, etc. really count ;)).
What would be a good place for me to start with C, book-wise? Maybe even C++ while I'm at it?
Strogian
11-25-2006, 12:05 AM
I learned C with "The C Programming Language, 2nd Edition" by Kernighan & Ritchie. It's a fairly short book, but it does give an excellent foundation if you understand it.
I can't really comment on C++ though -- I never learned that properly. C++ is too huge of a language, I just learn pieces of it when it's useful to me. (That mostly applies to the STL. I suppose the language itself wouldn't be too tough, but still it's more complicated than C.)
Unless you realy need to learn C (i.e. for a job or something) though, I'd just try and write some C programs first, see if you can do it without a book. Once you know enough languages, it's not really necessary to get a book. Just read the available documentation, tutorials, and sample code to get a feel for things.
Newer languages are probably better for that strategy though. I know there's so many blogs, etc. about C# that I would never consider buying a C# book. (Especially since the language is still changing pretty rapidly.)
ua549
11-25-2006, 08:02 AM
The K&R book is excellent and inexpensive. I used it as a handy helper when I wanted to move from coding A (Algol) to something newer. C is based on A. Yes there was also a B language.
richardginn
11-26-2006, 02:56 PM
http://www.deitel.com/
wwSwimming
11-26-2006, 05:01 PM
I learned C with "The C Programming Language, 2nd Edition" by Kernighan & Ritchie. It's a fairly short book, but it does give an excellent foundation if you understand it.
i'll be darned. i took a UCSD extension class in 1995 and that was the book we used.
SprySpectre
11-27-2006, 04:24 PM
If you have a good grasp on Java, go straight to c++, it's similar enough and you should be able to teach yourself using some tutorials found online. Start with www.cplusplus.com and then Google for some more.
flutie98
11-28-2006, 06:40 PM
if only you had learned the other way around... life would have been much easier
its an ongoing movement to teach java as a first language in colleges i disagree with this move 500%
ua549
11-28-2006, 07:01 PM
I learned assembler first, then Cobol (gasp), Fortran IV and Algol. Those were all mainframe languages and the technioques used were directed at conserving memory, not make things structured or easy for other coders to follow. After all many mainframes had only 8k or 16k of memory. Harware was expensive and people were cheap.
Now days memory consumption is meaningless, hardware is almost free and people cost lots of money. The best coders learn the most difficult languages first followed by the easy ones. That was true in the beginning and it is still true today. In that regard many so called languages are nothing more than scripts that must be interpreted at execution time. C is today's equivalent of assembler. It is what the most basic, closest to the hardware language that is used to create executable code.