【プログラミング】2024年は使うプログラミング言語に苦しいほど悩むと感じた話

Linuxのコマンドでも作ってみようと思い、どの言語で作るか悩んでいたのですが・・・

  • 実効速度が良好

  • 並列処理に強い

  • バイナリサイズが小さい

この辺を満たす言語が

  • go言語

  • Rust

  • C++

  • ruby(mruby)

    • (動的言語なものの並列処理は強いのでチョイス)

4つもある・・・

過去はC++を使えば「工数以外の問題」は考えなくても良かったものの、最近は選択肢が多くて困りました。


結局どの言語にしたか

C++かruby(mruby)にする予定です。


go langを見送った理由

go言語は現状では大体のブツで最適解でしょう。2024年時点では高機能な方です。

過去の私の所感としては「つまらないBetterC++」でしたが、現在はJavaと同じく「C++から過剰な部分を上手く引き算できた言語」です。

コンパイル時間も問題なく、TDDの面でも優秀です。

ただ、ガーベッジコレクションありのため、今回作りたいものの要件には合わずに見送りました。


Rustを見送った理由

昨今話題のRustですが、私の所感としては「タイピング数が少なくなった代わりに、制約が厳しくなったC++」というところです。

所有権などのメモリコネコネ、コンパイル時点での問題発見力、クロスコンパイル対応には目を見張るものがあるものの

  • コンパイル時間の長さ

    • TDD周りがScala化しそう

  • 後継者のメンテナが現れるかの懸念

  • 所有権周りのアレは最新のC++でもできる(?)際どい部分以外はC++のが楽な気がする(エアプ)

今回はリリース先がLinux限定のため、Rustでは過剰と判断して見送りとなりました。


ということでC++かruby(mruby)にしようかと思っていますが、ビカビカするほどの根拠が天からまだ振ってきてはいないです。

言語選定は悩ましいなという日記でした。