https://github.com/suboptimaleng/cpp-tutorials
⚙️ The code for my C++ tutorials on YouTube.
https://github.com/suboptimaleng/cpp-tutorials
clang cmake cpp cpp-tutorials
Last synced: 5 days ago
JSON representation
⚙️ The code for my C++ tutorials on YouTube.
- Host: GitHub
- URL: https://github.com/suboptimaleng/cpp-tutorials
- Owner: SuboptimalEng
- License: mit
- Created: 2025-06-20T01:21:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-06-06T02:21:16.000Z (14 days ago)
- Last Synced: 2026-06-06T04:12:50.061Z (14 days ago)
- Topics: clang, cmake, cpp, cpp-tutorials
- Language: C++
- Homepage:
- Size: 304 KB
- Stars: 11
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚙️ C++ Tutorials
This repo contains the code for my C++ tutorials on YouTube.
These tutorials are not meant to be consumed in any specific order (even
though each folder will be numbered). This ordering represents "the moment
in time when I found that specific topic interesting". It does NOT represent
"the order in which you should learn that topic".
## Who is this for?
First and foremost, these C++ tutorials are meant for me. I found that I tend
to forget topics that I've previously learned if I don't use them on a day-to-day
basis. For example, there is a high probability that I'll forget many of the `lldb`
commands (I explained in my video) in 2-3 months. These tutorials act as a reference
for my future self in case I need a quick guide to help me get back up to speed.
Aside from me, the type of person who will find these tutorials most useful is
someone who who has completed 2+ years of undergraduate study in computer science.
You won't see me make a tutorial like "How to write a for-loop in C++" because
I don't find that interesting. (Unless of course, there are some very obscure or
interesting ways to do that in C++, which sounds fun to learn and explain.)
## Why am I learning C++?
I started my career in TypeScript as a full-stack web developer. Got bored a few
years ago and transitioned to working in computer graphics. C++ is the "lingua
franca" of graphics programming.
Additionally, as an engineer, it's always good to be familiar with a statically
typed, compiled langauge -- especially, if you've spent your entire career in the
JavaScript (or Python) ecosystem. I'd definitely recommend learning a language
like C++, Java, or Go.
I've also discussed my reasoning for why I'm switching from TypeScript to C++
for graphics programming in this [YouTube video](https://www.youtube.com/watch?v=PbN_Arh8_ec).
## Why not Rust?
One of the most common questions I got when explaining my reasons for switching
from TypeScript to C++ for graphics programming was -- "Why not Rust"?
I strongly believe C/C++ is the best language for graphics programming (and many
other subfields of computer science that I find interesting). I do not believe
this is going to change anytime in the next 5-7 years. I'm always happy to update
my priors, but for the time being, this is my definitive stance on the matter.
Please give these a read if you want to learn more:
- [Leaving Rust gamedev after 3 years](https://loglog.games/blog/leaving-rust-gamedev/)
- [Discussion on Reddit](https://www.reddit.com/r/rust/comments/1cdqdsi/lessons_learned_after_3_years_of_fulltime_rust/)
- [Discussion on HackerNews](https://news.ycombinator.com/item?id=40172033)
- Rust job market
- Based on job boards, I noticed there are 10-20 C++ jobs per 1 Rust job (based on location)
- Nearly all Rust jobs require knowledge of C++, not true vice-versa
- [Is Rust a career dead-end? As opposed to C++?](https://www.reddit.com/r/rust/comments/1f5mt1f/is_rust_a_career_deadend_as_opposed_to_c_or_any/)
- [How junior friendly is the Rust job market?](https://www.reddit.com/r/rust/comments/1r7bov1/how_junior_friendly_really_rust_job_market_is/)
## Misc.
- [ThePrimeagen's reaction to a rant from Jonathon Blow](https://www.youtube.com/watch?v=znmZA_n485I) regarding web dev is funny and insightful
- [Getting Starting in Computer Graphics](https://www.jeremyong.com/graphics/2024/05/19/getting-started-in-computer-graphics/) by Jeremey Ong
## References
- [LearnCpp.com](https://www.learncpp.com/) by Alex Pomeranz
- [4th Edition Exercises](https://www.stroustrup.com/4thExercises.pdf) by Bjarne Stoustrup
- [The C++ Programming Language, 4th Edition](https://www.stroustrup.com/4th.html) by Bjarne Stoustrup
- ChatGPT and Gemini (if these count)