There is a legend that knowledge of C greatly boosts the skills of a programmer, gives him a deep understanding of the operation of computer systems and a thick beard. We asked experts about whether this is true and whether all programmers must necessarily learn C.
Head of the Computer Vision
The programmer may need to know the C language depending on the specifics of his tasks. For example, if a programmer writes drivers for an operating system, he most likely needs to know C and Assembler. If he develops web-interfaces and programs web-sites, this language will definitely not be useful to him.
If we talk about programmers-developers-researchers who write not just the implementation of some well-known approach, then it is more appropriate to talk about Python and C++. The former is well suited for prototyping, while the latter is often used in the production code of large companies. For us, these are the main programming languages, in general, everything depends on which department and which position a person comes to work in. Now the C language is found in few places, but there are niches where knowledge of this particular language is required. However, I personally do not consider C to be a mandatory language for every programmer.
Technical director for development
A “real” programmer should understand the concepts that underlie the C language – how memory management works, as well as pointers and structures. Here you can draw an analogy: does the driver need to know the device of the car? If a person wants to simply move from point to point, then such knowledge is unlikely to be useful to him in full extent. But if he wants to become a good driver, then some principles of the car will still have to be figured out.
However, one can study the fundamentals on the example of other languages. There are a lot of possibilities, so it is not necessary to know the C language at all.