C and C++ have a lot of wiggle room when it comes to implementations. I prefer C (when possible) just because there's less surface-area for arbitrary behavior (which is already more than enough arbitraryness).
I'm writing this mostly as a plug for DJB's proposal for a "boring" C compiler: https://groups.google.com/forum/m/#!msg/boring-crypto/48qa1k...
The kcc compiler is really good at being predicatable.
A formal semantics of the language gives warnings whenever undefined behavior occurs.