How to Learn C ++?

Source: Internet
Author: User

Recently, I plan to learn C ++. In the preparation process, I think that the learning method should be the most important. I cannot blindly read the books, and now the books are dazzling, therefore, any cainiao like me is confused and overwhelmed. This is why I want to learn the learning experience of some experts. The following is an experience from a C ++ expert. I think it is very useful to collect it!

 

1. Do you want to learn C ++? (Conclusion: You must learn it !)


nowadays, there are many online platforms that are hard to compete with C ++, C #,. net is very popular, especially Java, has to blow up the Lushan, stop the Earth Rotation trend. In Comrade Lin Rui's words, Java is actually just a C ++ nephew. He ran to his uncle and put a bubble of urine. First of all, from the perspective of Java, the original intention of Java is to design Programs for household appliances, at first, the designer wanted to use C ++, but thought c ++ was too complicated. On the basis of C ++, he simplified it and designed java. Its Design Concept was cross-platform, therefore, you must first install the virtual machine on the running platform, and then compile the source program into an intermediate language for running. This is an advantage, but we say that any advantage is based on the disadvantage. The disadvantage of Java is that the running speed is slow, which is a fatal weakness for some systems. Besides, Java does not have pointers, which cannot be forgiven for making system software. Let's look at C ++. C ++ was developed from Bell Labs in the United States and is the company that invented the phone number. The original intention of the design is to improve the development efficiency of C. C is a process-oriented language with a low development efficiency. Bell Labs has a large number of C programmers, so as long as the development efficiency is improved a little, you can save a large amount of costs. What is C? C ++ is the language used to compile the operating system instead of C. We can draw two conclusions: first, C ++ must have the same execution speed as C. Second, c ++ must be more efficient than C. In terms of execution speed, the idea of C ++ designers is to improve the development efficiency without increasing the system overhead of C ++. Of course, in some places, it is not necessary to increase the overhead, it also minimizes the overhead. With authoritative research reports, C ++ has less than 10% execution overhead than C. In terms of development efficiency, C ++ introduces the object-oriented mechanism and library mechanism to maximize the reuse of Code , this is the gospel of software developers. C ++ has fixed the defects of C while improving the development efficiency of C. The advantages of C have been well preserved in C ++, and the disadvantages of C have been improved in C ++, with better solutions. In addition, C ++ is fully compatible with C for a large number of existing C program maintenance. Looking at the current programming language family, I think only C can be compared with C ++. Other languages cannot be compared with C ++. From any point of view, C ++ is regarded as the leader in the language.

 

Today, there are a lot of debates on C ++ on the Internet. In fact, the debate is made by some uninformed people, most of whom are students in the school. In school, I don't know what I should learn. If I have a good teacher, I can meet a spam teacher, and the spam school is even worse. Today, what MCSE, ccna, CIW, and so on are all certified by certification companies. What we need in society is a person with real talents, rather than a certificate. I started programming in my sophomore year. I first learned VB, Delphi, C #, C ++, and a large circle. In addition, they re-learn data structures, operating systems, software engineering, basic university courses, and re-read foreign Program Design Classics, which were previously dismissive to universities. Advise the teachers and sisters who are still in the school to study c ++.

2. Why study c ++

1) C ++ programmers are generally well-worth. Of course, the premise is that you must be a master. In my city, companies cannot recruit qualified C ++ programmers. On the one hand, C ++ programmers have high requirements and fewer people are learning C ++. Of course, with this purpose, you may never be a C ++ master, but I put this reason at the beginning and can give you a clear incentive, when you get started with C ++, you will find that you are more motivated to enjoy more fun than to earn a higher salary;

2) the advantage of C ++ is that it is used to develop large-scale software and can learn many excellent software design ideas. C ++ is not the preferred tool for software development. Generally, most people prefer to learn and use VB. Why is it simple. Another aspect of simplicity is functional limitations. Microsoft does not hate everyone who learns VB. Only one of them can learn C ++. It's easy to get started. Everyone likes to learn and use it. Many people take a 200-page book and read it for two or three weeks. They feel that they are a programmer and can develop software, in addition, I think it is very good. When the software scale reaches a certain level, other languages become increasingly unable to control, and the advantages of C ++ are shown. You can make a score management system and personnel query system. You can use VB, Delphi, C #, and Java, but such systems include banking, telecommunications, insurance, operating systems, data warehouses, and graphic processing, when compiling the system and the underlying software, other tools are almost impossible. The pointer to C ++ does not exist in Java. In case of large data volumes, such as data sorting, search, and dynamic memory allocation, it cannot be used. Therefore, learning C ++ is not only a language, but also an excellent software design idea.

3) when learning C ++, you can learn the theory at the bottom of the computer. Even if it is not developed using C ++, you can understand the computer operating mechanism, and use other languages for a stable system, it is also a kind of promotion. I learned this in my learning experience. Therefore, it is difficult to give a reason that everyone can accept. You will know it later.

3. How to Learn C ++?

First, we must admit that there are shortcuts to learning methods. Secondly, we have to admit that learning requires hard work and pragmatism. When I was in elementary school, there was a story in the book about Wang Xiaozhi's study of Calligraphy: Wang Xianzhi asked his father Wang Xiaozhi what is the secret of studying calligraphy. His father took him to the backyard, point to 18 big water cylinders and say, if you finish writing all the water here, you will know the secret of calligraphy. I believe many people still remember this story. A few days ago, I saw Liang zhaoxin (the boss of the hero Company)'s "Master proverbs". He said that if you are willing to use five years to become a master, you will become a master in two or three years, if you want to become a master in a year, you will not be a master in five years. Never be impetuous in learning, but be down-to-earth. I used to be so impetuous that I stayed in the cainiao heap. When I calmed down half a year ago to learn C ++, I felt real progress. Although I have never read books about web development, my colleagues often tell me what the problem is. Because you have changed the angle of view. Therefore, the first way to learn C ++ is to avoid impetuousness. In fact, everything is the same. Start with the basic data type and start with the basic flow control statement. Secondly, the teaching materials are very important. They should look at classic classics.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.