Click here to Skip to main content
15,886,689 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to ask who study c++ for a long time.
When you first started learning c++,
did you learn it by reading books,
or do exercises,or what other way to improve your programming language.
Thanks.

What I have tried:

I have bought many books,but they are not helpful to me.
Posted
Updated 21-Aug-20 2:54am
Comments
F-ES Sitecore 20-Aug-20 11:49am    
Personally I went to university for five years. If you can't learn c++ from books then you just might not be academic enough to learn coding, it isn't for everyone.
Member 14919040 20-Aug-20 12:01pm    
Thank you.

Quote:
When you first started learning c++, did you learn it by reading books,

At the time, there was only books, internet did not exist.
Here is links to references books on C and C++ by the authors of the languages. Note than C is the ancestor of C++, so knowing C is always useful with C++.
The C Programming Language - Wikipedia, the free encyclopedia[^]
https://hassanolity.files.wordpress.com/2013/11/the_c_programming_language_2.pdf[^]
http://www.ime.usp.br/~pf/Kernighan-Ritchie/C-Programming-Ebook.pdf[^]
Did not checked those links lately.

C++ Programing Language[^]
Quote:
what other way to improve your programming language.

You have to know that you can do pretty much anything in any language, simply some languages are harder for beginners because there is more pitfalls to handle.
You need to master a set of techniques that are the basis of the job and are not linked to a language.

Advices:
- Start with an easy/safe language: VB, Java, C#, not C or C++. I do not recommend to start with Python either because of the usage of indentation.
- Read documentation / Follow tutorials (a lot of them)
- Start with tiny/useless projects, the purpose is to learn programming, not doing something useful.
- Start with console mode programs (no fancy graphics, no mouse)
- Learn debugger (an incredible learning tool)
Debugger - Wikipedia, the free encyclopedia[^]
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
- A problem ? Google is your friend.
- Learn Algorithms and Data-Structures.
GitHub - The-Art-of-Computer-Programming-Books: "Everyday life is like programming, I guess. If you love something you can put beauty into it." ? Donald E. Knuth[^]

- Learn Boole algebra
- Learn one or more analyze methods, E.W. Djikstra/N. Wirth Stepwize Refinment/top-Down method is a good start.
Structured Programming.pdf[^]
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[^]
https://en.wikipedia.org/wiki/Structured_programming[^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[^]
- Learn SQL
- Learn Databases design and Administration
Introduction to database design[^]
1NF, 2NF, 3NF and BCNF in Database Normalization | DBMS Tutorial | Studytonight[^]
- Learn Regular Expressions

Interesting link:
stanford.edu: Learn to Program[^]

There is no shortcut to knowledge, no one can learn for you, you are the only one that can do it.
Remember the exercises and little projects are not here to make something useful, they are here to teach you programming.
 
Share this answer
 
v3
Comments
Member 14919040 20-Aug-20 11:55am    
Thank you so much!
Try this: Learn C++[^]
 
Share this answer
 
When I learned programming, there were no C++ compilers, because the language wasn't fully defined yet. We had precompilers for translating C++ into C, and these changed every couple of weeks, due to changes in the language definition. I learned structured programming with Pascal, then bare bones stuff with Assembler, then functional programming with LISP.

Only then did I start learning C because I needed it for a project, and then C++ for another project. Basically the books from Kernighan & Ritchie (for C) and Bjarne Stroustrup (for C++) were my main source for learning, but I could immediately practice my new-learned skills in an actual project.

I think this is the key: having a good reference to the language you want to learn, and a good project that you can use to practice your new-learned skills. In that regard, the book "The C++ Programming Language" by Bjarne Stroustrup is a very good point to start, as it's structured very well, and does contain many code examples that you can try for yourself, or extend a bit to get the hang of it. It would be even better though, if you can find an online tutorial with exercises of increasing difficulty: you can only really learn by practicing.

If this is your first programming language, I strongly advise to start with C though: it is much simpler, and learning it gives you a much better idea about programming in general, and how computers really work. "The C Programming Language" by Kernighan & Ritchie is a good place to start, but, again, finding a good online tutorial is crucial to really learn C programming.
 
Share this answer
 
Comments
Southmountain 22-Aug-20 15:42pm    
yes, having a project is important. I get motivated for my personal projects..
Me? A four year Uni course, mixed with periods in industry.

Books help - they aren't as good as courses because if you don't understand something your teacher says, you can tell them and they can rephrase it until you do. Books can't do that.
But they are orders of magnitude better than YouTube videos, most of which are made by people, who have no idea how to make a video, and little more knowledge of the subject than the people who are watching. Avoid.
The other way - get a compiler and see what you can make it do - is on a par with YouTube: ineffective and misleading.

But any way to learn requires effort, not just reading: you need to do the exercises / homework that is part of it as that's how humans learn - by doing and making mistakes, not looking at somebody else's stuff.

Starting with C++ is probably not the best way: I'd start with C# as it's a lot more "user friendly" (as it should be, it's thirty years lounger!).
And remember: there is no shortcut. Experience is what drives the knowledge and mindset home, so you need lots and lots of that!
 
Share this answer
 
Books wont help alone, you need to write some code in real projects. Only real coding shows what you can solve and where some skills still are missing.

I have condensed my experiences in How to Start the Homework or a Developer Career?.

Read it to learn from my 20+ experience. Developing software is more than coding but als discussing, testing, documenting and deploying processes.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900