Voterò per Python o Ruby. C ++ è The Language per fare il più possibile staticamente al momento della compilazione. Imparare Python o Ruby ti insegnerà come pensare in termini di fare le cose dinamicamente in fase di runtime. Sono in una situazione simile, usando D e Python come le mie lingue principali. La metaprogrammazione dei modelli di D è molto più potente di quella di C ++, ma è ancora tutta in fase di compilazione. La metaprogrammazione e la riflessione di Python sono tutte in fase di esecuzione. È una combinazione molto utile perché spesso ci sono degli idiomi che sono utili in entrambe le lingue, ma sono più evidenti in uno rispetto all'altro. Pertanto, la mia esperienza D mi rende un programmatore Python migliore e viceversa.
Su un'altra nota, Python e C ++ si completano a vicenda in quanto C ++ è buono per le prestazioni e cattivo per la produttività del programmatore, dove Python è esattamente l'opposto. Se impari entrambi, avrai padronanza di entrambe le estremità dello spettro in questo compromesso.