【プログラミング】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)にしようかと思っていますが、ビカビカするほどの根拠が天からまだ振ってきてはいないです。
言語選定は悩ましいなという日記でした。