"How long does it take to get started with C++ programming? How to learn efficiently?"


Insert image description here

A word of positive energy every day

You need to have the courage to lower your head and the confidence to raise your head. A person should be able to bend and stretch, not be arrogant in good times, and not discouraged in adverse times. Not pleased, not to have compassion.

Preface

C++ is a popular programming language with powerful features and wide range of applications. Learning C++ and mastering its basic knowledge is the first step into the world of programming. But for beginners, learning C++ may feel difficult and challenging. This article will share some of my personal experience and tips for learning C++, hoping to help beginners get started faster.

1. C++ development direction

To learn something, we must first know what use it is to us and how it can help us? Let's take a look at the development direction and employment prospects of c/c++.

  • For laboratory development
    , C++ is definitely the number one language among engineering students. C++ has both process-oriented and object-oriented characteristics. It has excellent running speed and good large-scale project development capabilities. It can dominate university experiments. room.
  • Back-end development
    After learning C++, the first choice is of course to interview for a back-end development position.
  • Client development
    requires a solid foundation in programming and computer theory. You may also need to be familiar with Windows/C++ compilation and linking mechanisms, QT client development technology systems, Windows message mechanisms and other technologies.
  • Audio and video development/multimedia development
    Big platforms are all making short videos, and they are also constantly integrating various live broadcast modes. In this trend, the development demand for audio and video/multimedia is becoming more and more widespread. This direction is more focused on specific scenarios, such as players, live broadcast platforms, audio and video special effects, etc.
  • After mastering the basic syntax of C++ for game development, developing games is still a good choice. Currently, industrial-level 3D game engines are still written in C or C++.
    Although it is impossible to complete a huge online game with personal ability, it is still a very good choice to start simple, write some small games, and then gradually deepen, step by step, and finally join a large game development team. The corresponding jobs mainly include game development engineers, game engine architecture engineers, etc.
  • Embedded development C/C++ also has a very large employment direction, which is to do embedded development. Embedded itself may be a bit more hardware-oriented, but whatever we do now, software and hardware are not separated.
    Embedded development also involves network programming, concurrent programming, etc. The popular explanation may be that the embedded code runs on other small systems, not on computers in the traditional sense. In addition to programming skills, this direction also requires basic circuit theory literacy.
  • Artificial
    intelligence, artificial intelligence, machine learning and other directions are also indispensable for the C or C++ language. It needs to be emphasized that although the C++ language can be engaged in a wide range of directions, it is not enough to simply master C++ syntax. The C++ language is the foundation for the above application fields. Entering these fields requires further in-depth systematic study of knowledge in related fields and exposure to them. Content of real enterprise projects.

2. Is it difficult to learn C language programming?

Programming is a technology, and I don't know if it is difficult. I only know that if you want to learn it, you can definitely learn it. Everyone has different logical thinking abilities and different interests. Some people find it easy and some people find it difficult.

In my opinion, technology is just a layer of window paper. It has principles and can be followed. At the very least, it is much easier than doing abstract art.

However, the world is like a mountain, and learning programming well does not happen overnight. Readers who want to "eat fast food" can quit the programming world, and impetuous people cannot master technology.

In the technical field, the entry threshold for programming is very low. There is a lot of information on the Internet. As long as you have a computer, a network cable, and a junior high school education, you can learn it. The investment is about 5,000 RMB.

Regardless of whether it is technical or non-technical, if you want to achieve something, you must study hard and you will not stand out from the crowd in a few years. So please ask yourself first, do you want to learn programming? Do you like it? If you feel that you are very interested in programming and want to know how software or websites are made, then don’t ask this question again and go ahead and learn it. Enough.

3. How long does it take to learn programming?

This is a question without an answer. Everyone’s time investment, learning efficiency and foundation are different. If you spend a lot of time studying every day, you can learn C/C++ in two or three months, and write some software in less than half a year.

But one thing is for sure, it is absolutely impossible for a novice to grow into a great master in a few months. If you want to be outstanding, you will not be able to do it without a few years of hard work. Learning programming cannot be done by reading a few books. It requires you to practice continuously, write code, and accumulate scattered knowledge points. The amount of code is directly related to your programming level. Without tens of thousands of lines of code, there is no work that can be used. How can you be called a "great god"?

Every programmer comes here like this. They are confused at first, and it is difficult to even output the multiplication table. Only through continuous practice can they become familiar with it. This is a process of strengthening the way of thinking.

Knowledge points can be understood in a short period of time, but the way of thinking and programming experience require continuous practice to strengthen. This is why many beginners have understood the basic concepts of C language, but still cannot write code.

Programmers are jokingly called "code farmers", which means farmers who write codes. If you want to become a qualified farmer, you must work hard and down-to-earth.

Don't be too stressed. All programming languages ​​are just paper tigers, a layer of window paper. As long as you get the hang of it, it will be easy.

4. “Immersion” Theory

This is a theory created by me. It means that if a person wants to achieve something in a certain area, he must spend more than half a year and spend 3-4 hours "immersed" in this matter every day. In the end, There will definitely be something gained.

In many fields, it is "one year to lay the foundation, two years to see results, and three years to make breakthroughs." However, many people give up in less than a year, always feeling that this industry is too difficult and not suitable for them.

Giving up easily is very scary. You have to know that giving up for the first time is just a waste of time. Giving up for the second time will destroy your confidence. Giving up for the third time will destroy your will and you will never have the courage to try again. , this is how "wasted life" comes about.

Don’t envy those rich second-generation officials and second-generation officials. You think life is a 100-meter dash and you win when you win. In fact, life is a relay race. Your parents and ancestors all have to win. Those rich second-generation officials and second-generation officials have never been The accumulation started decades ago.

So, calm down and start accumulating from now on. People with obsessions are the most terrifying.

5. Unique features of C language

C language is the most universal computer programming language. It can not only exert the functions of high-level programming languages, but also has the advantages of assembly language. Therefore, compared with other programming languages, it has its own unique characteristics. This is specifically reflected in the following three aspects:

First, extensiveness. The size of the operation range of C language directly determines its advantages and disadvantages. The C language contains 34 operators, so the range of operations exceeds that of many other languages. In addition, the expression forms of its operation results are also very rich. In addition, the C language includes various data structure forms such as character type and pointer type. Therefore, it can also handle larger data structure operations.

Second, simplicity. 9 types of control statements and 32 KEYWORDS are the basic features of C language, which make it widely applicable in computer application writing. It can not only be suitable for the operations of programmers and improve their work efficiency, but also support advanced Programming avoids the tediousness of language switching.

Third, the structure is perfect. C language is a structured language that can implement modular applications by forming module units. It has significant advantages in system description. At the same time, this feature also enables it to adapt to a variety of different programming requirements, and High execution efficiency.

6. Learning methods

Be more hands-on

Do it, do it, do it. Say important things three times.

Hands-on activities include coding and "painting more"

Learn and draw at the same time. Because for the storage structure in the data structure, especially the tree structure and the graph structure, the storage structure is indeed relatively complex, and it is inevitable to reveal it by just relying on spatial imagination. However, many "pits" can often be avoided by drawing pictures by hand. About the data structure later In articles about algorithms, I will also add some animations. Graph and visualize the data structure. Get an intuitive feel for what a data structure looks like. What is it like to use it, what does it look like in the abstract and in concrete implementation. That's the most important thing. And it is important and effective whether it is for simple queues, stacks or balanced trees.

Draw the data structure and you can imagine it in your head. In short, all you need to do is to understand these data structures intuitively.

When learning certain algorithms, you can also use drawing to deepen your understanding. You can draw pictures while reading the code, so you can clarify the implementation logic of the code faster.

On the basis of understanding the storage structure and implementation logic through "multiple drawings", beginners also need to "multiple coding" to write implementation codes. For a certain storage structure or algorithm, it is difficult to master it without independent implementation process more than three times.

In addition, you can answer more questions on leetcode and Niuke.com.

Another thing is to accumulate more. I have also mentioned it in some previous blogs. If you haven’t seen it, you can take a look first:

postscript

Learning programming is a long-term and continuous process, and learning C++ is no exception. The entry time varies from person to person, and a study plan needs to be developed based on personal learning status and learning goals. Learning C++ requires continuous practice and continuous improvement of your programming level, so that you can better master this programming language. I hope my experience and suggestions can be helpful to beginners and bring learning inspiration and enlightenment.

Reprinted from: https://blog.csdn.net/u014727709/article/details/133558718
Welcome to start, comments and corrections welcome

Guess you like

Origin blog.csdn.net/u014727709/article/details/133558718