C#は機械語を吐かない時点で却下。
C++はシステムプログラミングをするかどうかにかかわらず、少しはやっていても損は無いと思う。

ちなみにたとえC++ができなくても、//コメントを堂々と使えたり、
変数宣言がブロックの先頭に縛られなかったりたりするので、C++コンパイラは便利。