Skip to main content
  1. 🤔 Blog/

Programming Languages

·82 words

とあるユーティリティプログラムを作成しようと思ったものの,どのような言語で作成しようかと悩み中. 希望としては,ワンバイナリが生成可能,ジェネリクスあり,ストリーム処理,あたりが扱えると嬉しい. また,クロスコンパイルしたいし,書きやすい(EtoW; Easy to Write)言語であると嬉しい.

で,まとめてみた.

LanguageOne BinaryGenericsStreamCross CompileEtoW
JavaGraalVMOKOKHardOK
GoOK1.17-NoOKOK
RustOK?OK???OK?No
Node.js??????OKN/AOK
Python???OK???????OK
KotlinOK?OKOKOK???

Java は GraalVM を使うとバイナリを作成できるけど,面倒. GraalVM を使ってもクロスコンパイルは難しいんじゃないかな. GitHub Actions などを使えばクロスコンパイルはできそうだけど,面倒だなぁ.

Go は概ね良いのだけど,ストリーム処理が行えないのが悩みどころ. ジェネリクスも出たばかりであまり書き慣れていない. 例外処理はなくてもいいや.

Rust も良いのだけど,コンパイルを通すのに一苦労な点で,簡単なユーティリティを書くのにはそぐわない気がする.

Node.js,Python はよく知らない.

ちょっと調べてみると Kotlin がネイティブコードを生成できるらしい Kotlin も結局は Java バイトコードに変換するはずだから, GraalVM と何が違うのかはよく分からないし,これまでに書いたことないけど,書いてみようかな.

参考資料
#