I've been shifting a little more into C++ after decades of C. It takes longer to compile, but I find that a lot of the tedious stuff that I'm doing with C (function pointer structures, etc) is handled automatically in C++, and I kind of like the RAII pattern.<p>Also, I enjoy embedding Lua in projects for extensibility, so this guy is really pulling my heart strings. :-)
> Serialisation Compared to serialisation in almost any modern language, serialising state in C (or C++) is excruciating. There are no reflection capabilities in C, and minimal capabilities in C++, so you need to manually specify each and every field when serialising or deserialising the game state<p>I got tired of that years agao, and have used this approach with success in a few projects: <a href="https://www.lelanthran.com/chap2/content.html" rel="nofollow">https://www.lelanthran.com/chap2/content.html</a>
My biggest issues are crashes in programs by someone who writes C/C++ and doesn't take it through valgrind (or even bothering to lint it).<p>I feel like Google's Carbon could be good, but it's still not ready for general use. I'm surprised they even bothered with Carbon since they had built golang for their server software development.
Rust is slowly getting there, and there could be a good chance of using LLVM to touch the platforms with only C runtimes indirectly.
As in, transforming directly to the LLVM-IR byte code which can be compiled to C or more readily C++.
C99 is a pretty good choice for small gamedev projects like this. There are better languages out there (C++ is not one of them), but tooling and platform support is still unrivaled.
>Successes<p>>Fast Compilation Iron Roads builds quickly, so I can iterate fast, and in this way C has helped my workflow a lot<p>I wish they'd given a number. 1s?