C doesn’t hold your hand
C is a language that comes with minimal built-in functions. While Python users are using the hash function, C users must implement this function on their own, with their own code, instead of using a different library. This makes C faster, and less CPU intensive, compared to Python which implements a whole library that’s 1000’s of lines of code for a simple hash function. C doesn’t hold your hand, and because of that, it makes you a better programmer because you must understand the function you are writing fully, in order for it to work.
When you learn C, you learn pretty much all other languages
All modern operating systems are built on C
Mac, Windows, and Linux all utilize the C programming languages for the majority of its features. This is because it’s so light-weight yet powerful, that it allows for complex operations like generating graphics on the screen or encrypting large files. So if you are an avid Linux user, and want to make your own distribution, knowing C is a must.
C forces you to know. There is no “black box”
To use C correctly, you must know exactly what you’re making the computer do. Programming register addresses is totally normal for C users, where as other languages use functions that are sort of like a black box… “Something goes in, and something comes out” C users must know the architecture of a computer’s hardware to utilize it efficiently, while high-level languages figure out all that information for you… causing new developers to become ignorant and naive to what they are doing.
There are many reasons to learn C, not just the ones listed above. Most C programmers can run circles around those who just learn a simple high-level language. The best book to learn about C will be listed below.