TL;DR: C Resources:
C learning resources
Blender is mostly written in C:
(Source: Blender github mirror: https://github.com/blender/blender)
The reason fot this is two fold:
- Blender is old
- C is really fast
We’re seeing more and more areas of Blender migrate to C++ (I.e, Cycles, etc) but still almost 70% is written in C. Thus, it’s still very much worth learning.
Below are a few resources I’ve found useful:
- https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
This lecture series does a wonderful job of introducing Computer Science using C. It’s not really a C course, rather it explains fundamental CS concepts using C.
- https://diveintosystems.org/
This is more of a low level system overview explained using C, written for people who know python. It’s more than just a C course, but I think it’s incredibly valuable to understand why C is written the way it is.
Considered “The C Bible” this book was written by the language creator, Brian Kenighan and Dennis Ritchie. Not going to lie, it’s dense, and slightly outdated. But if you really want to learn C. This book is a must
From Books to Video series, this is a list of some of the most useful C resources.
I’m still working through all of these myself, but they have already been a huge help to me. Hopefully they will help you to.
Happy Blendveloping.