システムプログラミング言語について
久々にブログを更新する。 そもそも,自分はあまりアウトプットする方ではない。
その昔,D言語に傾倒していた自分はニワカなのに調子に乗ってダイマ記事を書いた。 もちろん,D言語は素晴しい言語だ。 生産性と効率の塩梅,(比較的)成熟したコミュニティとエコシステムとライブラリ, 高速なコンパイルやアイデンティティのある可愛いマスコット等,気に入っている特徴は具体的に挙げればキリが無い。 しかし,書いていてニヤニヤできる言語かというと,別にそういう訳でもない。 伝統のあるC/Java系(ALGOL系?)の文法に則った,見た目は普通の言語である。 そして,厨二病真っ盛りの今の自分は,それに少し物足りなさを感じてしまうのである。 あと標準ライブラリがGCベタベタなのもつらい。改善はされていくようだが。
つまり何が言いたいのかというと, 今やっている言語は一旦置いておいて,自分が求めている最高の文法と機能とは何かを探す旅がしたいのである。 ここには,それについてのメモを書いておく。
欲しいもの
- かっこいい,厨二心を刺激する文法
- それなりのCインターフェース(べつに無くてもいい)
- クロスコンパイルが可能なバックエンド(CとかLLVMとかだとうれしい)
- マイコンでも動く,無もしくは極小のランタイム
- そして小バイナリサイズ
- あればメタプログラミング・CTFEみたいなやつ
要はOSが書けるような言語が欲しい。 ある程度の仕様の複雑さや,標準ライブラリ・ドキュメントの貧弱さは許容できるものとする。
候補
色々調べた。 上記「欲しいもの」にちょっとでも掠りそうなやつを列挙している。
- ATS
- C++
- Crystal
- D (BetterC)
- Forth
- Go (TinyGo)
- Hare
- Jai
- Kotlin/Native
- Nelua
- Nim
- Odin
- Red
- Rust
- V
- Vale
- Zig
ちょっとはずれる
レビュー
そのうち書く。