Father of C++: Mastering C++ is hard, but you can learn to use C++ in a day...

Being proficient in C++ sounds like a joke. Why is C++ so much harder to learn than other languages? In fact, this is basically because of the words of Bjarne Stroustrup, the father of C++, "I especially hate language designers who impose their own preferences on users" (looking at go). As a result, C++ has become what it is now in order not to limit your thoughts. So how to learn C++ well, or even master C++ well?

1. Talk about C++ books.

No, and there cannot be one book that is the best for all. But for the real programmer who likes to learn some new concepts and techniques from "classic style" books, I recommend my The C++ Programming Language, 3rd and Special Editions from 1998. That book is about pure and pure C++, completely platform and library independent (of course it has to talk about the standard library). This book is intended for programmers with some experience to help them master C++, but not for inexperienced beginners, nor for casual programmers tasting C++ fast food. So the focus of this book is on concepts and techniques, and a lot of work goes into completeness and precision.

  1. How long does it take to learn C++?

It depends on what you mean by "learning". If you're a Pascal programmer, you should be able to get your C++ level close to Pascal pretty quickly; if you're a C programmer, you can learn to use C++ for better C style in a day programming. On the other hand, if you want to fully grasp the main mechanisms of C++, such as data abstraction, object-oriented programming, general programming, object-oriented design, etc., and you are not very familiar with these things before, it will take a year or two. Surprisingly. So does that mean that's the time it takes to learn C++? Maybe double that, and I think it will take at least that long to plan to be a better designer and programmer. If learning a new language doesn't lead to profound changes in the way we work and think, why bother? Learning a new and different language and programming style is easier than being a pianist or being proficient in a foreign language.

  1. Is knowing C a prerequisite for learning C++?

no! The subset of C++ that is similar to C is actually easier to learn than the C language itself, with fewer type errors, not going around in circles like C, and better support libraries. So you should start learning C++ from this subset.
The editor recommends a C/C++ learning qun 5999, 45900
learning is never a matter of one person, you must have a mutual supervision partner, you need to study for work or to enter or change careers, there are development tools in qun, a lot of dry goods and Technical Information.

  1. Do I have to learn Smalltalk first to become a true OO programmer?

no. If you want to learn Smalltaok, go for it. The language is fun, and it's always a good idea to learn something new. But Smalltalk is not C++, and applying Smalltalk's programming style to C++ won't do any good. If you want to be a great C++ programmer and don't get bored for a few months, focus on learning C++ and the ideas behind it.

  1. How do I start learning C++?

It depends on your foundation and motivation to learn. If you are a beginner, I think you'd better find an experienced programmer to help you, otherwise the mistakes you will inevitably make in learning and practice will greatly dampen your motivation. Also, even if your compiler is well-documented, a C++ book is always a must, since documentation is not a good textbook for learning programming ideas.

  1. How can I improve my C++ program?

Hard to say. It depends on how you use the language. Most people underestimate the value of abstract classes and templates, and in turn use casts and macros recklessly. Check out my articles and books on this. The role of abstract classes and templates is of course to provide a convenient means to construct a single-root class hierarchy or to reuse functions, but more importantly, they provide a concise and logical service representation mechanism as an interface.

  1. Does the choice of language matter?

Yes, but don't expect miracles either. Many people seem to believe that a single language can solve almost all problems they encounter in system development, they are constantly searching for the perfect programming language, and then fail again and again, and get frustrated again and again. Others relegated programming languages ​​to irrelevant details, and spent huge sums of money on development processes and design methodologies, and they used COBOL, C, and some proprietary languages ​​forever. A good language, such as C++, can help designers and programmers do many things, and its capabilities and shortcomings can be clearly understood and treated.

Attachment: C++ tutorial recommendation:

"C Language/C++ Study Guide" single-step debugging, "C Language/C++ Study Guide" syntax (from entry to proficient), C++ Interview Written Test Essentials, "C Language/C++ Study Guide" Qt Interface Development, "C Language/C++ Study Guide" Language/C++ Study Guide"Dynamic library and static library, C Primer, develop screen recording with ffmpeg, C++ Boost library programming, use webrtc to build a video conference system.

wish everyone!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324123617&siteId=291194637