   Beginner article on C/C++ that I've written. C or C++?
C/C++ article's homepage  I took some time to write down my expierence with a particular initial finding I've had in regards to the C/C++ language. I've been working on the C/C++ languages for about 2 years, and I've included some suggestions for beginning readings.Check it out. Comment me back on your thoughts about the article and/or page design. Thx. I am working on an initial impressions article on PHP/MySQL, and how awesome I find it. I am also working on one of the grandest Dell 2405 FPW articles of all time. :)[Edited by - minger on June 11, 2006 4:26:01 PM]
  Anyone want to agree or disagree about learning C first before C++?[Edited by - AdamskiAirsoft on June 4, 2006 12:43:50 PM];  I say learn C++ first out of the two, although I don't recommend it as a first language. It seems like a lot of C programmers out there have a hard time grasping C++ concepts, but I hardly ever hear of C++ programmers having trouble with C. I think it's worth the extra effort to learn C++ right off the bat. Like I said though, I don't recommend either as a first language. I'd go with something simpler like C# or Java.   ;  The problem with starting with C++ first is that there is so much to tackle and learn. Whereas with C, it's a plain small language. I think that if you've never ever programmed before and you start off with C++, the odds are that you'll most likely quit then if you had started with C first. Learning C first gives you a big advantage when moving on to C++, you can practically skip a lot of the begining chapters of a C++ book. On the other hand, if you *manage* to learn C++ and decide to backtrack to C, you've covered almost everything there is in C. Learning C lets you concentrate on the complicated things encountered in C++ also, like pointers and whatnot, while not overwhelming to such an extent that you'll throw in the towel.Just my opinion from personal experience,- xeddiex   ;  Nice read. I had some similar experiences when I tried to learn new API's like OpenGL and SDL. Having learned C++ in college I never really saw how important C was until I started using these. I don't think it's absolutely necessary to learn C but it is definitely helpful.   ;  C and C++ are 2 different languanges and 2 different paradigms. One could learn only one of them, or C before C++, or C++ before C. It doesn't matter. I don't see the reason why one should learn C before C++, except that C++ isn't suited for total beginners in programming. But then again, neither is C. Other than that, I don't think C is an "introduction" to C++. You say one must learn C with the goal to eventually move to C++. After he's "done" with C, what will you say to him? "Substitute char* with strings. Substitute pointers with smart pointers. Substitute arrays with vectors. Substitute malloc() with new. Substitute macros with templates. Substitute the procedural approach with the OOP approach." That's not a transition, that's learning an essentially completely different languange with a similar syntax. And if it's not a transition, then you don't need to learn C before C++ to just become familiar with the syntax. You can become familiar with the syntax learning straight away C++, and without having to deal with all the low-level stuff of C. If anything, this kind of thinking creates those hordes of programmers that essentially write C programs using the keywork "class" a lot, and actually think they're doing OOP.As for needing to learn C in order to work with APIs, that's just not true. That's like saying you need to learn C before you learn any modern languange that interacts with APIs. You only need to interface with them, you're not supposed to implement them. Most languanges have mechanisms to interface with APIs, and you don't need to learn C to use them. I assure you, I worked for years with Delphi(in which the string type is native) and used Win32 and OpenGL every day with no problem at all before I even wrote a line of C.Btw, the article mentions DirectX as one of the APIs that are build around C, which is incorrect.[Edited by - mikeman on June 4, 2006 1:19:28 PM];  "Starting with C++" does NOT mean "starting with OOP". For the first few weeks/chapters/whatever, the only difference is that a C++ book will say "use the magic iostream library" while the C book will say "use stdio". Until you get to dynamic memory allocation and OOP, they are basically the same in most ways that a newbie will notice.And most C++ books that start from the beginning will cover all the material you need to know before you branch into the parts that are really different, and by that time, you should be ready to understand them.   ;  I think people should start out by learning a newbie-friendly language -- even if it is not very practical. The problem starting out with C or C++ is that you spend all your time struggling with the idiosyncrasies of the language, and none of your time learning how to program.;  About the C book you recommend does it conform to the C89 standards? On that note what about the C99 standards? I would get a C book but I want to at least make sure its C89 complaint.   ;  I don't really know. All I know is that it is "ANSI" C, if that helps any. I don't remember reading in the book on which standards it complies to.Here we go: In appendix A of the book is a reference manual.In Appendix A of The C Programming Language "This manual describes the C language specified by the draft submitted to ANSI on 31 October 1988, for approval as "American National Standard for Information Systems - Programming Language C, X3, 159-1989.""I thus assume, it is this same build and standard, from which the book teaches. If that helps at all.   