I wrote a UI library in C that can lay out 95000 items at 60fps.
The library is 566 lines of C, and the application-specific ui code is 998 lines. Works on mac, windows, and linux.
Apple didn’t give me a bonus for inventing the cursor gesture; I made the prototype before they hired me: youtu.be/RGQTaHGQ04Q
The iOS keyboard team called me and said my video resulted in the most duped feature request in the history of Apple’s bug tracker, Radar.
There are actually *no* programming languages that express "how computers work"! Not even C.
The operating system runs other programs 'between' your lines. CPUs execute both branches of ifs, and magically run multiple lines of your code at once.
Your code is just a suggestion
Even if Object Oriented Programming wasn't slow (it is), reading a OOP-heavy code base sucks because the logic is broken into little pieces and spread all over. Makes it hard to understand the system as a whole.
People don't understand that C's limited feature set is GOOD, and not something you grow out of:
• Syntax doesn't hide expensive/complex operations
• Focus on coding and not language trivia
• Compiles fast
No other mainstream language understands this.
If you’re looking for very general knowledge as a beginner, C is a great way to learn the fundamentals and problems that come with systems programming.
That said, I wouldn’t stick with it once you’re comfortable. Rust and other langs have lots of great features! 😊