The preface

Look at the recruitment of C language accounted for less, is C language really outdated?

If you look at a lot of recruitment platforms, there is not a lot of focus on pure C development, but Java, PHP, Python, etc.

This for the entry is learning C language small white true his mother is a thunderbolt, learn no one to learn, learn what practical significance. If the matter were considered only in terms of getting a quick job, indeed, this view would hold water.

A few days ago, I had a chat with an old programmer. At the beginning, I said a few words. If I change the development language, I can see that my days as a low-level programmer are no longer in the past.

Is C really out of date?

Now let’s take a look at the C language in the end how many things, we often say that the Linux operating system kernel is written in C language, the corresponding many embedded kernel drivers can not run out of the C language category, including commonly used mobile phones, TV set-top boxes, TV underlying hardware drivers are all completed in C language, There are common programs based on single chip microcomputer are also mainly completed by C language.

Broadly speaking, C is still ubiquitous in the embedded world, and many low-level graphics libraries are also based on C.

Of course, the most amazing part of C language, basically any of the current upper language of the bottom language is the majority of C language brother do wedding clothes to pave the way to complete. Deep understanding of the upper language and the bottom implementation, can not do without C language.

Hot degrees, the Linux kernel community continues unabated, remember there’s a very in-depth research on the kernel of the elder brothers, said the sentence “I think that can read the kernel code that is the greatest happiness, not to mention the inside of the modified code” (of course this said the main framework is the kernel level, not peripheral device extension)

On the other hand, there are fewer jobs that speak C, and the pay is not good. On the other hand, C language still permeates every field. What is going on here?

  • The implementation of the underlying architecture based on C language is relatively mature at this stage. There are already many basic versions for the modification requirements of the underlying layer, which are relatively easy to modify, relatively more maintenance work and lower technical requirements. The real framework changes need to be done by C supermasters (and the salary for this is still going up)
  • With the booming development of application layer language, the rate of technology upgrading is getting faster and faster. Using the language of the upper layer can quickly achieve a more beautiful interface, so there is no need to use THE C language to operate a bit by bit. Professional people do professional things, the division of labor is more detailed, the interface level of things, the upper language to achieve more effortlessly.
  • Application programming is much more popular than before. Especially some App level of development, at least on the surface have no c what things, now so many beginners small white directly select Java or PHP language, such as no c basis do well, this is the result of social division of labor refinement, have no what kind of language would have been enduring, technology in the continuous innovation.

How to view THE C language correctly?

Learn well, or can find a job, after all, the total number of social recruitment is still many. It’s a small percentage because there are many more companies than there used to be.

If you want to make yourself have a long-term development, for example, at the architect level, C language is almost a required course, and you do not know how to construct the whole system and how to make a universal framework. From the language point of view, if you have learned C language, you will learn other programming languages at a faster speed, which is still worth learning.

The last

** recommend a small series of C/C++ learning communication QQ group: 836880131, ** group has a good learning tutorial, from the entry to the project combat. Learning development tools used in development, complete project source code free to share and answer learning questions. Everyone in the learning process do not understand can join the exchange, you learn C/C++ language will be a great help!

VS compiler, graphics library

C language related e-books

C/C++ project practice

C/C++ basic video and notes