Learning modern C
Introduction
Jorge Martinez
February 1, 2025
For many years, I have tried to be as fluent as possible with the C programming language. Despite being able to code simple routines, as soon as I face a complex task, I fall back to Python.
However, this time, I am taking learning C seriously. In fact, it is not about learning C but also the latest good practices in the language.
Why learning C?
I know, I know…. Why learning C instead of a modern language like Zig, Go or Rust? From my point of view, these are the benefits of learning C:
- Just basic types, iterations, and functions.
- Its syntax is simple.
- Basic types, basic control statements, and functions.
- It is everywhere.
- It forces you to understand the basics.
Let’s be honest. How many times have you coded in a C-like way in other programming languages? Yeah, right? C has everything you need.
Well, at least, everything you need to build other things you need.
Why learning C is hard?
Again, because of its simplicity. In fact, the language is so simple that:
- It does not have a garbage collector
- It does not have the paradigm of object-oriented programming
- It does not have an official package manager
This can be frustrating for developers more experienced in other programming languages.
Resources for learning modern C
My journey starts with Modern C, by Jens Gustedt. The goal is to read and solve the challenges proposed in the book.
For the moment, that’s it. I do not want to estress with lots of materials.