MikeShah
I remember for myself: learning a new API (opengl), new paradigm (gpu programming), and new language(glsl) all on top of learning graphics concepts is a lot. OpenGL 4.5 and 4.6 are modern enough to get started and there are good resources to learn the 3.3+ stuff that I have built on.
See my website(mshah.io) for my paper on some of the 'why'.
2025 Njpls – Revisiting the D Language – My 2^x Programming Language[Ep. 133]
Everyone around Walter Bright kept calling it D because it was a modern language with C-like syntax. Thus, D the next letter in the alphabet and eventually Walter gave in. :)
https://youtu.be/V2YwTIIMEeU?si=To2DBlzz30XAUptN
https://dlang.org/blog/2022/02/19/how-i-taught-the-d-program...
D lets user opt-out of collector as needed which is quite nice. D has been used in AAA game development for what it's worth as well.
Some more upcoming videos will include some tools for D's ecosystem.
I can also recommend Ali's book here as a reference to the language: http://ddili.org/ders/d.en/
- It's both fast for prototyping and also scales well for large applications.
- Compiles very fast with DMD and supports many platforms with LDC and GDC.
- CTFE (compile-time function execution) is a big win.
- standard library has enough of the common things (json, sql, csv, curl, sockets, etc.) that I need for my domain. Other stuff I can usually find a package or C library to read in if needed.
- most of the defaults seem right to me in the language versus C++ (variable initialization, struct as value type by default, explicit casting, module system, thread-local data, etc.)
Ecosystem does need a boost but I think that's actively developing, so code-d plugin for VSCode is a good place for most to start (I prefer VIM). Ecosystem seems to be slowly and steadily growing otherwise.
I can post links to more video tutorials if useful (disclaimer: I made them :) ).
Time Travel Debugging Introduction on Linux
I wanted to share a video and recent article on getting started with time travel debugging using the freely available 'rr' tool on Linux (Full disclosure, I'm the author :) ).
Debugging is the number one skill (from my conversations) I hear from employers that they wish new software engineers had more experience with. Anyway, here is my small part to introduce one of many debugging technique to beginners.
Direct link to C++ and rr debugging: https://undo.io/resources/gdb-watchpoint/time-travel-debuggi...
Note, time travel debugging/reverse debugging has been around for quite some time! Check out what time travel tools your language has on the wiki if C++ isn't your default language :)