- #1
KonaGorrila
- 12
- 0
Aloha, I am wanting to teach myself C and C++ programming languages and before I purchase any books or materials on the subject. I would like to see if anyone has any recommendations?, and the pros and cons if any, ect.
I recommend that you choose one and stick with it long enough to be comfortable with at least its basic features, before starting on the other one. Even though C++ evolved from C, as a sort of "C with object-oriented programming added on", there are significant differences even at the beginning level (i.e. C versus C++ without the object-oriented stuff). You'll probably get confused if you switch between C and C++ books or tutorials.KonaGorrila said:I am wanting to teach myself C and C++
I would recommend the 2nd edition of this book, rather than the first edition that phinds linked to -- https://www.amazon.com/dp/0131103628/?tag=pfamazon01-20phinds said:If you know some programming then I recommend you get the White Book
https://www.amazon.com/dp/0131101633/?tag=pfamazon01-20
and just do programming examples yourself as you move through the book
If you do NOT already know some programming then the White Book may be too dense and you should probably find something else.
Good catch. Thanks.Mark44 said:I would recommend the 2nd edition of this book, rather than the first edition that phinds linked to -- https://www.amazon.com/dp/0131103628/?tag=pfamazon01-20
KonaGorrila said:Aloha, I am wanting to teach myself C and C++ programming languages and before I purchase any books or materials on the subject. I would like to see if anyone has any recommendations?, and the pros and cons if any, ect.
You might be right but personally, I cannot IMAGINE how this would be a good idea regardless of experience and goals. The underlying syntax of C++ IS C and adding in OPP concepts at the start just confuses things and detracts from learning the language.QuantumQuest said:... according to your experience and goal(s), it may be a better suit to dive directly into C++.
phinds said:You might be right but personally, I cannot IMAGINE how this would be a good idea regardless of experience and goals. The underlying syntax of C++ IS C and adding in OPP concepts at the start just confuses things and detracts from learning the language.
OK, that makes sense. We're essentially saying the same thing.QuantumQuest said:Yes, I agree if someone is taught this way but what I mean is learning directly C++, beginning only from the pure procedural things and then learning about objects (late objects approach). This, as far as I know, is done in a number of schools or even a self learner can follow the approach. So, effectively someone learns C aspects of C++ and then goes on to OOP. The difference is that learner goes in a faster pace than learning pure C first and it may work well if someone wants to work with OO C++ as soon as possible - although "soon" here is fairly long anyway.
I am sufficient in MatLab and have started to pick up some of python. My purpose is using programming skills in my family business, I want to learn C++ and C. I will be programing micro controllers at first but want to get into more than that so feel C++ would be more beneficial in the long run.jtbell said:I recommend that you choose one and stick with it long enough to be comfortable with at least its basic features, before starting on the other one. Even though C++ evolved from C, as a sort of "C with object-oriented programming added on", there are significant differences even at the beginning level (i.e. C versus C++ without the object-oriented stuff). You'll probably get confused if you switch between C and C++ books or tutorials.
I used to teach an intro programming course using C++, but it was long enough ago that I'm not familiar with the currently available books etc.
Are you new to programming, or are you already acquainted with some other procedural programming language? (e.g. Python, Fortran, BASIC, Java,...)
There a lot of free courses on coursera: https://www.coursera.org/courses?languages=en&query=c+programmingKonaGorrila said:Aloha, I am wanting to teach myself C and C++ programming languages and before I purchase any books or materials on the subject. I would like to see if anyone has any recommendations?, and the pros and cons if any, ect.
If you are going to be programming microcontrollers then you will most likely not be using C++.KonaGorrila said:I am sufficient in MatLab and have started to pick up some of python. My purpose is using programming skills in my family business, I want to learn C++ and C. I will be programing micro controllers at first but want to get into more than that so feel C++ would be more beneficial in the long run.
Some popular books for learning C and C++ programming include "The C Programming Language" by Brian Kernighan and Dennis Ritchie, "C++ Primer" by Stanley B. Lippman, and "Effective C++" by Scott Meyers.
Yes, "C Programming Absolute Beginner's Guide" by Greg Perry and Dean Miller and "C++ for Dummies" by Stephen R. Davis are both good options for beginners.
Yes, "Data Structures and Algorithms in C++" by Adam Drozdek and "Data Structures and Algorithms Made Easy in C++" by Narasimha Karumanchi are both popular choices.
"C and C++ Programming: Step-by-Step Beginner's Guide for Computer Science Students" by Nathan Clark and "C/C++ Programming Language Crash Course" by Martin Laredo both cover both languages.
Yes, "C and C++ Programming Exercises: Learn by Doing" by Professor N. S. Kutti and "Problem Solving in C and C++" by Mark Allen Weiss both offer exercises and practice problems for hands-on learning.