アルゴリズムなら、Ruby。
パズル・コードゴルフの本は、たいていRuby

コンテナ.map{ 処理 }
みたいにメソッドチェーンで関数型っぽく、
次々とデータを変化させていけるので、可読性が高い。
Shell Script や関数型のElixir のパイプラインみたいな感じ

同様に、最近のJavaScript も、Ruby化してきた

3人の東大生が書いた、
「プログラミングコンテスト・チャレンジブック 第2版」みたいな、
動的計画法・グラフ理論とか、本格的なアルゴリズムは、C++

でも、パズル程度で、C++は難易度が高すぎる。
C/C++ など、ポインターのある言語は、面倒くささが半端ない

この板にある、プログラミングのお題スレを参照