the C programming language.
Aside from toying around with BASIC as a child, C/C++ were my first programming languages. I started university planning to be an electrical engineer, but fell in love with programming when I got my hands on C. Playing around with memory pointers, while poring over the 3rd edition of Deitel & Deitel's C++ How to Program— computers just made sense! So I switched majors and studied computer science.
As I continued my college coursework, I picked up many other languages that were popular at the time (esp. Java), but none grabbed me quite the way that C did. Being able to touch the low level hardware felt like a superpower. It still does! Fortunately, all the low-level embedded computing work I do still uses C as the programming lingua franca.
Anyway, here's some reference material that I've found useful. I hope you will, too!
- The C Programming Language, the seminal book by Kernighan & Ritchie (PDF).
- Beej's Guide to C.
- cppreference.com's section on C.
- wikibooks section on C programming.
- posix reference.
- a "hello world" project with makefile and manpage.
- writing portable makefiles.
- writing manual pages.
- developing software in a hostile environment.
- ncurses programming howto.
- getting started with GTK, a GUI toolkit for C.
- SDL api docs.
- SDL2 tutorials.
- getting SDL2 working on Windows with MSYS2.