Do programmers have to learn C and assembly?

Source: Internet
Author: User

I don't think C and assembly are all laterProgramSteps for Members(Even though I did ). I think everyone must have learned the Three Laws of Newton's motion, however, several others have read Newton's mathematical principles of natural philosophy (this book makes a complete inference of the three laws, can I think that everyone does not understand the three laws at all? You certainly won't agree with me. Therefore,It is not necessary for all later people to take the road that their predecessors have traveled again, as if they do not have a profound understanding of the world.. All modern knowledge (not just computers) must be based on previous studies, and can only be further studied on an abstract basis. If we do not do this, if everything needs to be broken, the knowledge of mankind cannot be inherited, because a person's life may not be able to complete the first-year knowledge of a certain discipline.

Many people talk about C and assembly, as if this is the essence of computers.But is it true? Is there nothing more underlying than C and assembly? Let's all think about it. Based on my experience, the reason why I carefully studied compilation and C is not because of my actual work (I did it. to satisfy my curiosity, I have never even written a real program in C and sink.

I am also opposed to the cultivation and sacredness of C and assembler., We should restore its essence: it is a tool. Of course we can continue to learn C and assembly, but it should not be for faith, but for application (after all, in many fields, the efficiency of C and Assembly makes it the only option to meet the conditions ). Let's let us go away from the topic of religion and talk about pure technology :. net and Java are much more elegant than C ++ (more than C ,. the evolution of net and Java is actually an improvement for C ++, and I also believe that. net and Java are not the ultimate languages. They will certainly be replaced by more beautiful and practical languages in the future. net and Java. Let's look back later. net and Java, will we also bring a religious sacredness?

Therefore, I think whether to master assembly and C ++ depends on the following two situations:

    1. For the purpose of learning, C and assembly are not necessary, and we have no energy at the root of all knowledge.
    2. For applications in special fields (such as system development), you still need to learn, because C and assembly are the target tools. 

Finally, I ended my speech with a poem:"The health of the ship is everywhere.".

The following is a piece of text that I have extracted from other places to verify my point of view:In the current software industry, everyone's work is built on a certain level of abstraction, and now the computer system has become so complex that no one can fully understand it by mind, what we can rely on is software engineering and abstraction built on it. Both assembly language and C are abstract objects. The fundamental motivation is the improvement of productivity. Of course, if we follow this idea,. NET and Java can also be considered as an abstraction of the past, just to free up productivity.

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.