My favorite programming language that I would use these days for creating embedded or large scale software is D.
C++ brings more libraries and tool support and increased in type safety tremendously with C++11 and later. However, syntax (for newer useful features) and required usage of the preprocessor are aweful.
I tried learning D by implementing the chacha algorithm. You can find it on my github site.