Something I don't really see people addressing is modularity. I don't know how you've organized your code, but Nim compiles modular code in modular fashion; that is, piece-by-piece, so that if you change one file, you don't have to wait for loads of other things to (re-)compile. If your code is well organized, you won't have to compile 35,000 lines every time you change one thing.
C and C++ are not really modular, at least not as commonly used. They have the disadvantage that `#include` [forces lots of stuff to (re-)compile](https://stackoverflow.com/questions/318398/why-does-c-compilation-take-so-long) that shouldn't have to, even when you have a well-prepared `Makefile`. One proposal for C++20 is [to introduce modularity to the language](http://www.informit.com/articles/article.aspx?p=2923213&seqNum=3). I don't know how Red works, so perhaps that's not the root of your difficulty, but I figured it was worth throwing out there.
