2010年代前半にKotlinが2011年、TypeScriptが2012年、Swiftが2014年、Rustが2015年と、新しいプログラミング言語が立て続けに発表されていましたが、そこを最後にみんなが話題にするような言語は出てきていません。
なんでだろうと、思いつく要因をあげてみます。
※ 追記2023/5/11 わざとなのか「みんなが話題にするような」を無視してツッコミ入れてる人いるのだけど、言い換えれば「新しい言語が出てもみんな話題にしない」という話です。
プラットフォーム用の言語が出そろった
Kotlin、TypeScript、Swift、Rustが2010年代前半に出てきましたが、これはJVM(Android含む)、ブラウザ、Appleデバイス、ネイティブといった代表的プラットフォームでほどほどの言語が出そろったということではないかと思います。
結局のところプログラミング言語は動かす環境があって成り立つので、それぞれの環境でほどほど使える言語があれば、新しい言語を開発するモチベーションは出にくくなると思います。
ブロックチェーンも新しいプラットフォームだけど、よく目にするSolidityも2014年に出ていますね。
既存の言語がよくなってきた。
Kotlin、TypeScript、Swift、RustはそれぞれJava、JavaScript、Objective-C、C++の代替を狙って出てきた言語です。
この中で、JavaやC++は言語仕様が改善されて、そこまで代替が必要ない感じになってきています。
上記で取り上げていないプラットフォームとして、Windowsとスクリプトがありますが、C#は元からそんなに悪くないし、Pythonも2010年代前半にPython 3がこなれてきています。
そんな感じで、だいたい満足できるプログラミング言語環境が整ってきているのだと思います。
取り入れるべき言語機能がない
プログラミング言語の機能としては、実行の管理、データ構造の管理、メモリの管理、並列処理の管理のようなものがあげられます。
そして、関数型、オブジェクト指向、GCや借用、コルーチンのような言語機能としてほとんどの言語がそれぞれ用途にあわせたバランスで取り込んでいます。
これ以上の言語機能は、用途が限られ需要も限られることから、メジャーな言語が積極的に取り込むようなこともない気もします。
AIが言語格差を広げる
ChatGPTやGitHub Copilotなどの大規模言語モデルベースのAIは、ネット上のテキストが多いほどうまく学習します。
つまり、ネット上にコンテンツが多い言語ほど便利になり、マイナーな言語は不便になるという状況になります。
これまでもマイナーな言語はツールサポートなどの面で不利でしたが、大手企業がコストをかけることでツールを充実させてメジャー言語に追いつくということが可能でした。
でも、AIに学習させれるだけの素材を用意するのは、なかなか難しいように思います。
ChatGPTのようなAIは、それを使いこなせる人や企業とそうではない人や企業の格差を広げるツールですが、それがプログラミング言語の関係にもあてはまることになりそうです。
そうすると、新たな言語が出てきても広まりにくいということがあるかもしれません。
オレオレ言語は作るべき
とはいえ、プログラマであれば「プログラミング言語とはどういうものか」ということは知っておいたほうがよくて、そのためには自作でプログラミング言語を作るのがいいです。
そしてAIに覚えこませて世界をとるのです。
追記 2023/4/8 新しくでている言語
新しく出た言語として、コメントにある言語だとCarbonとVerseですね。
Carbonは出たけど話題にしている人がいないなぁと思っていました。GitHubみる感じだと10人弱くらいが常に作業してるようなので、地道に進んでる感じ。
いまC++が使われてるのはUnreal Engineらしいので、そこで使われることになるのかなーと思っていた。
https://github.com/carbon-language/carbon-lang
Verseは知りませんでした。
これ、ゲームで多数キャラクタをそれぞれのアルゴリズムで同時にしかしシングルスレッドで足並みそろえて動かすというのを書きやすい言語になってるようで、面白そうです。
何人か話題にしてる人も見かけました。
https://dev.epicgames.com/documentation/ja-jp/uefn/verse-language-reference
考えてみると、ゲーム用の汎用言語というのは出ていなくて、出たとしてもゲームエディタ内のローカル言語という感じでした。C++やC#など汎用の言語を使って開発していますね。そうすると新しいプラットフォーム向け言語になるということで、これは定着する気がします。
そして、Unreal EngineでCarbonが広まるということもなくなったな。
追記 2023/5/11
tiobe-indexの今月のヘッドラインにも、新しい言語がランクインするのはほとんど無理みたいな話が書いてありますね。
TOP100で一番新しいのは2016年にstableが出たPony(71位)になっています。
https://www.tiobe.com/tiobe-index/
追記 2023/5/17
RedMonkの調査でも「プログラミング言語全体の変化がかなり乏しく、ランキングの上位に食い込むことは非常に難しくなっていることは明らか」という話が出ていますね。
https://gigazine.net/news/20230517-redmonk-programming-language-rankings-january-2023/