Re: Books on C
Unless you have a pressing reason to learn C specifically, don't. C++ is more complex but better, if only because it now provides limited automatic memory management. Unless you have a pressing reason to learn C++ specifically or are already a very good programmer, also don't. That said:
The C book from 1975 is drastically outdated. Back then, you couldn't compile its examples on a different compiler, let alone 40 years of standardization, improvements, development, etc. Not only won't the programs compile, but updating them will be hard. This situation is now better, in that all the major platforms implement at least C++ 03. Most of them have implementations of C++11 (which introduced smart pointers, the limited form of automatic memory management I swear by), but C++11 is too new to find many "I'm new to C++" resources that show you its features. The reason I and a lot of other C++11 programm
ers know the new features is because we are far along enough to need them, though I can make a very good argument that shared_ptr is something that new programmers should be shown immediately. If you are on an embedded platform, you will be lucky to have C99/C++98, so I'm not going to waste time waxing poetical about C++11 until I know that you have it. It would also be helpful to know your programming experience and background before I try to help past this post.
The two main references these days seem to be http://www.cplusplus.com and http://www.cppreference.com. Both offer links to tutorials if you poke around. Your best bet is to Google for tutorials, imho. If you're dead set on a book, this SO answer gives a lot of them.
Here's a direct link to a tutorial th
at appears to be pretty decent: http://www.cplusplus.com/doc/tutorial/
I'm having trouble finding anything that doesn't assume you already know how to program. If this is a problem, I'm afraid I can't help. The work I do in C/C++ these days often requires consulting the standard when I need something new; that's the only reference for the most advanced features and guarantees, and consulting it is a sign that you're probably doing something dangerous (so when I do, I immediately consider redesign possibilities). I know it too well to pull a bunch of good learning tutorials out of my hat, basically.
C is an incredibly simple language, at the cost of having to manage literally every allocation and deallocation, having no automatic cleanup (you can get far with preprocessor magic, but I'm not even going to try to explain how I pulled off those tricks without a full blog a
rticle), having no encapsulation that you don't make yourself (no equivalent of BGT's classes, and all I'm going to say is enjoy implementing vtables), etc. C++ gives you object oriented features and a good standard library, This latter point is arguable, but having sets, vectors, maps, hashtables, and the algorithm header is a godsend as compared to C. In C everyone writes their own version of all the standard data structures from scratch. My last point is this: C++ is a monster that you tame, not a programming language that you learn.
I'll help further if I can. Specific questions would be helpful.
_______________________________________________ Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector