Language learning is not a program writing!

Source: Internet
Author: User

This is a letter sent to my mailbox. Well, there are several similar emails. During the Spring Festival, I will smile with me. Haha, if I don't work, I will always press my questions and leave it a little delay, I am sorry for these colleagues. A common question is the job orientation of C ++ in the future. What is the use of C ++ in the future? And how can we learn to reserve knowledge for tomorrow? I would like to say something about this question first. It is difficult to make a definite rule. I can only explain what I see, but it is not necessarily accurate. Let's take a look at it. Another sentence: Let's talk about it. You are welcome to make a brick. The original article is as follows:Hello, Mr. Xiao:We are very pleased to receive your reply. I am a junior at xxxx University, majoring in information and computing science.I 'd like to give you more information. When I took the college entrance examination, I learned that this was a math study. At that time, I liked mathematics very much and reported to this major. In freshman year, our teachers were very good. Our math analysis teacher is a recognized professor. But it will not work any longer. I am in conflict with the university. Our examination is to draw a key point, which is boring. The level of the teacher is also quite a bit lower. This is not my opinion, which is recognized by us.Teachers read textbooks, slide slides, and speak only on the podium. Of course, this is the majority. Some other teachers are very good. Our modern history teachers let us know what scholars are. The software engineering teacher is very admirable and has a great passion for lectures. Our micro-Economics teacher is a master who connects theory with practice. I don't know how to learn macro-economics and micro-economics. These two courses take up a lot of hours, and they read slides at the macro level. The lessons in our school are a bit confusing.When I was in my sophomore year, I wanted to learn information security. I went to the library to read some scientific books, and then I learned the assembly language. I forgot about it now, huh, huh.) I started learning computers from here. We also opened the data structure, but there was no lab course. Just listen to the teacher. I bought a computer in my sophomore year. If you want to learn programming, you can open too many courses. So it is always disconnected. We have too many classes. Most of them are like this. When we feel it, we will finish the course. The instructor said that the knowledge is extended. I think this is not responsible for us. We have no learning skills. If you do not learn much, you will be able to expand your knowledge.When I was a junior, through CSDN, I saw Yang zhongke's C language on rupeng. I made some cards and calculators. Interesting. Want to learn WINDOWS programming. Inadvertently, Sun Xin's "in-depth explanation of VC ++" and the first 10 lectures on the video are the interface, followed by some networks, multithreading, files, etc., which are comprehensive and Quick Start ), easy to learn. I have read it. I started some experiments. I have a better understanding of the C ++ syntax. My data structure has not been typed once. I saw STL and BOOST on the recruitment website and now I am reading this book at home. If you want to go back to school, you can consolidate the basic skills of building a solid data structure. I don't think we can say that our school is wrong, but this is indeed irresponsible to us. Many students with excellent scores in previous years of the college either take a postgraduate entrance exam or look for a job after graduation, or have English-speaking or marketing jobs. Basically, they all change their careers and are rarely related to mathematics.Students, sometimes they can play games and wait for the postgraduate entrance exam. The mining and other jobs in our school are good now. The test is more difficult. Some others work hard. However, the students are helpless when they communicate with each other. Many of them are empty if they do not study hard. You can calm down and think about it. I think it is useless to work hard. There is a conflict between them. I don't think I can expand my knowledge according to my school schedule. When we graduate, we will not be able to find a job, nor will the school take care of it. We are responsible for ourselves. There is a lot of pressure to embark on the society, and we have no skill and it is difficult to establish a foothold in the society.Miss Xiao, I am a junior, and I still have more than a year. I do not know much about the computer and want to develop some applications in C ++. Now we are faced with postgraduate entrance exams and employment. I have not realized the necessity of postgraduate entrance exams, so I don't want to take a postgraduate entrance exam. I am afraid I can't find a job. Mr. Xiao, can you introduce your C ++ jobs and related important knowledge and skills, in addition to basic data structures, pay attention to the knowledge accumulation in those aspects to find a suitable job.Thank you!Happy New Year! The age of the tiger!My answer: Hello, this classmate. Your question is actually a bit generic. I thought about it for a long time. I just want to answer it. Please refer to it for your reference. In fact, since I was a teacher in the base camp, many times I encountered a similar problem, that is, we learned a language, to what extent, to find a job, that is, what kind of knowledge reserves do we need for future work? Well, it's hard for me to say something. The reason is very simple. In fact, different regions, enterprises of different nature, and jobs have different requirements for our knowledge reserves. It is hard to say that one person has passed the University for just a few years, you will be able to master all the knowledge you need in your life. Note: It is a lifetime. Our service life is generally longer than that of many companies. This means that most of us have to jump to the slot at least once in our life, and many are far more than once. I have always believed that there cannot be two identical jobs in this world, just like two identical people, twins, and differences. For example, Huawei and maipu both work as communication devices. I dare say that even if they are also a Department of network management software, they use languages, platforms, design concepts, and algorithm technologies, in fact, they are all different. An engineer may not be very good at Huawei, but he is an elite. The opposite is true. Do you think it is possible? What problems does this mean? I would like to provide a reference here. How can we learn as much knowledge as possible in college? I still want to learn. Do you want to learn the "learning knowledge" and "using knowledge" capabilities? I think the latter is more important. Countless successful books have explained a problem. In the final analysis, people in this world will still "Learn", making it easier to succeed. Are you right? While learning, I understand that first of all, we must be conscious. When the students are playing, can they think about reading a book? Everyone is bored by car. Can they find a book to read? If you play games with computers, can you write a game and play it yourself? When someone else watches a movie online, can you watch a lecture? These are actually learning. You must be conscious when learning, because in college, you will find that you are "managed" less, more time and energy, and can be controlled freely. However, A lot of people are at random, playing blind games. Is that good? Think for yourself. In fact, Mr. Xiao is a programmer in my university. I am ashamed to say that I have studied architecture in my university. However, I want to say that I have learned a lot from architecture, I went to C language programming. It should be said that Mr. Xiao did not finish well in my own studies. I suggest you do not want to learn from me. But is consciousness enough? I don't think it is enough. I still need to get used to it. One thing is that I am interested in today. If I do not want to do so, I will put it down tomorrow. This is definitely not enough, this is called "three-day fishing and two-day fishing". The so-called habit is to have the interest and motivation to do one thing cyclically and continuously. Therefore, I have always stressed that the key is to develop habits. Well, this student, I have seen the description in your letter. I think you are still studying hard and have the habit of learning. In fact, as long as you can stick to this point, I think you are already a successful quasi-programmer. Who can clearly explain tomorrow's work? Maybe you have learned a lot of C ++, tomorrow, a boss will ask you for a compilation. Do you still have to do it? Remember, the first step out of society is to make money to support yourself and keep yourself alive. What ideals, hobbies, and ambitions are false. Are you right? You said that you have learned the lecture "C can also do big things" by Yang zhongke and the VC ++ Lecture by Sun Xin. In fact, this is a good teaching material, I asked myself that these two teachers are better than me. I cannot tell them that they are so good. I suggest you keep learning. Particularly, I admire Teacher Yang. Not only do I do my blog, but I also invest in public welfare properties such as Peng net. I admire both my character and technology. I suggest you ask for advice from Teacher Yang. OK. After learning, let's talk about your key issue and the direction of C ++'s future work. To tell the truth, I cannot see it clearly. I have always understood that we will conduct commercial development in the enterprise in the future. It is hard to say which system is done in the same language in a "pure" manner. A commercial programmer may need to be proficient in one or two languages and understand multiple languages to do well. In my book 0bug-C/C ++ on the road to commercial engineering, I spoke specifically about how to select a running platform for a project, then, select a language based on the platform. A system is usually a combination of multiple languages. It is unlikely that a single language can be developed. If you don't believe it, let's think about the development of the entire QQ system, how many languages are used? C? C ++? Java? PHP? Html ?... I want to develop a single language, but there are not many requirements, such as embedded systems and small-scale industrial control applications, such as 51C and driver development in arm linux. Due to limited system resources, in addition, there is a lack of large script environments, and many applications are not suitable for script development. Therefore, there are a lot of pure C. Well, it is possible to embed assembly languages in this way to deal with some high-speed scenarios. Therefore, after so many years, I found a strange conclusion that C ++ is not widely used. To address the underlying requirements, pay attention to efficiency. For example, to be driven, such projects usually require a short and concise code, which is not too big. There is no need for large engineering organizations. The C language is sufficient. You can add some compilation points to improve efficiency, in large engineering organizations, more development models are implemented at the underlying layer using C for high-speed functional modules, while the upper layer uses Java and other scripting languages for development. Therefore, the scripting language development is intuitive, companies with low requirements for programmers are more cost-effective. This raises a question: What can C ++ do? I have demonstrated that it must be a large-scale project and run through the entire project. from the beginning to the end, both efficiency and organization capabilities of large projects are required. It is not suitable for engineering projects in scripting languages, C ++ may be suitable. That's easy. Let's take a look. Apart from large video games, large online games, and some large proprietary software, such as a subsystem on the Shenzhou spacecraft, C ++ may be required throughout the process, in most industrial scenarios, the demand for implementation is not that high. In order to reduce the development cost, the company generally uses mixed programming. At this time, C ++ is not very useful. Now you understand why you cannot answer this question? However, I also want to say that C ++ is going to learn. In my recent speech, "tomorrow's world -- programmer design requirements under cloud computing models", I particularly stressed that a modern programmer, I want to learn one or two languages, one for OO and one for OP, and most programmers still need to learn C, so OP will have it. By the way, I will learn a little more about C ++, do not go too deep. The key is to master the idea of OO, which can basically meet the needs of most programming tomorrow. Even if you encounter a new embedded device that day, learn a new assembly, or work requirements, you need to use Java, PHP temporarily, with the above knowledge reserves, it is also quick to learn. Why? Here, OP stands for action first. It usually refers to the purpose and core of our program design to properly send actions to achieve specific actions, OO stands for organizational capability, indicating that we can organize a large project and coordinate multiple action modules. This is both practical and organizational, I think it is essential for future programmers to have both capabilities. This is called "being a programmer, a project manager, or a developer who understands both practice and organization management". Do you mean that the future career path of this kind of talent will be very broad? Therefore, I will summarize the most important topic in this article:"Language learning is not a program writing!"We have actually entered the programmer's career from learning a language. However, after so many years of career, I have also reflected on the relationship between programming and language learning? I usually like to take primary school students as an example. Learning Languages is like learning many Chinese characters and vocabulary. At the same time, we also have the ability to make short sentences. However, even if we are familiar with the various protocols and features of a language, does it mean we are a good programmer? I don't think so. Why, when we grow up, we will find that when you learn a language, you can freely express what you mean when you interact with others in your work and life, you can also understand what others mean. The ability to organize words and describe the meaning is not actually from linguistics, but trained through a large number of exercises and practices. Believe it or not, do you think you or your friends have a mantra? There are also some sayings, phrases, idioms, and many are not in the textbooks. However, it is customary and easy to use, right? So I have always said that learning software development is a kind of ability to "describe what you mean", rather than a pure language. Unfortunately, at present, I have seen many friends who are indeed addicted to language and have neglected the cultivation of this "descriptive ability", which is still a lot in college. We often hear that "I have read three hundred Tang poems, but I will not write poems, I have no innovation at all. Can I be a programmer? I don't think it's a programmer or a Copy server ". Here I will talk about the second sentence. Please pay attention to learning program design. More importantly, you should cultivate your innovation ability and computer software development on the basis of your basic knowledge, even if it is hardware development, which company can survive with "fried leftovers? Good companies, large companies, must be highly innovative companies. Therefore, if you need to find an ideal job in the future, I suggest that you first focus on learning, learn and pay attention to learning ability, instead of reciting. At the same time, you should think about a problem, if I do a piece of code today, do I have any innovations? What is innovation? I also propose a concept. You can think about whether or not I have solved the question of "whether or not" today, that is, whether there is something that has never been found in the world before. Now, because of my work today, with it, this is innovation. I suggest you think and study based on the above ideas. I believe that in the future, you are unlikely to encounter a career crisis or be unable to find a job. What do you mean? Well, come here first. If you have any questions, please continue. ========================================================== ====================
Buy 0bug-C/C ++ commercial engineering at the reserve price online
Directly click the link below or copy it to the address bar of the browser)
Http://s.click.taobao.com/t_3? Latency % 3 Fpid % 3Dmm_13866629_0_0
Xiao

This article from the "Xiao blog" blog, please be sure to keep this source http://tonyxiaohome.blog.51cto.com/925273/277556

Related Article

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.