← melang

言語名

Last Updated: 2026-09-28 02:00

結論

melangという名前は仮称であり、現時点では正式名称を確定しない。

プログラミング言語の名前(言語名)は、一度公開すると変更コストが非常に高い。GitHubリポジトリ・パッケージレジストリ・ドメイン・ドキュメントURL・コミュニティでの通称など、あらゆる場所に一度刻まれてしまうためである。一方で、処理系の実装が進む前の段階では、どんな名前が適切かを判断する材料(言語の性格、コマンド名として何が使いやすいか、どんな衝突が実際に問題になるか)がまだ揃っていない。

そのため、正式名称の決定は処理系の理解・実装がある程度進んだ段階まで先送りし、それまではmelangという作業用の名前で開発を進める。これは「決めない」という消極的な判断ではなく、決定に必要な材料が揃うまで意図的に決定を遅らせるという設計判断である。

他言語比較

プログラミング言語の名前の付け方で実際に問題となった観点を、既存言語の事例で比較する。表記揺れ、他ソフトウェアとの名前衝突、検索でのヒットしやすさ、拡張子やCLIコマンド名との乖離など、命名時点では見えにくかった問題が後から表面化したケースが多い。

言語拡張子CLIコマンド説明
Rust.rsrustc / cargo
MoonBit.mbtmoon
Swift.swiftswift / swiftc
Kotlin.ktkotlinc
Java.javajava / javac
Scala.scalascalac / scala
C#.cscsc / dotnet
C++.cpp / .hg++ / clang++
C.c / .hgcc / clang / cc
Go.gogo
Zig.zigzig
OCaml.ml / .mliocaml / ocamlc / dune
F#.fs / .fsi / .fsxdotnet fsi / dotnet build
Haskell.hsghc
Erlang.erl / .hrlerl / erlc
Elixir.ex / .exselixir / iex
TypeScript.tstsc
JavaScript.jsnode
PHP.phpphp
Ruby.rbruby
Python.pypython / python3

トレードオフ

意味のある名前(合成語・頭字語)

固有名詞(人名・地名など)

一般名詞(既存の単語)

CLIコマンド名との一致・不一致

以上のように、どの命名方針にも一長一短があり、実装が浅い段階で決め切ることはできない。したがって現時点ではmelangという仮称のまま設計・実装を進め、正式名称は改めて別途決定する。