最近あまり新しい言語を学ぶということをしていないなも思ったので、聞いたことがあるプログラミング言語のうち個人的に最近寄りだと感じる言語を短くまとめてみました。(2023年7月時点)
カバーできていない言語も無数にありますがご了承ください。
C++の後継としてGoogleが開発している言語で、まだコンパイラもなく実験的な段階です。
C++は1980年代に登場した古代言語でありながら、パフォーマンスに重きを置くソフトウェアでは採用せざるを得ないのが現状です。
そこでツール郡やメモリセーフなサブセットをCarbonに取り入れ、C++からCarbonに段階的に移行することを目標に開発が進められています。
PHPの後継としてFacebookによって開発されたサーバサイド開発向け言語。
静的動的両方の型付けを使用した上で、PHPのような開発スピードを保てることがポイントです。
HHVMという処理系によってJITコンパイルして実行するため、PHPよりも動作が早いことも特徴です。
Object-Cの後継としてApple製品でアプリを開発するためのAppleが開発した言語。
Object-Cは1980年代に登場した古代言語で、それをモダン化するためにAppleが腰を上げてSwiftを開発した(というイメージ)。
しかしAppleのためのAppleが使う言語という感じで、一般開発者の中にはObject-Cを使い続けている人も少なくない印象です。
Erlangの後継として開発された関数型言語。
文法がErlangと比べてわかりやすく、Phoenixフレームワークを使用することでwebアプリを開発もできます。
正直なところ関数型言語の何が嬉しいのかもよくわかっていないので、詳細は他記事を参照ください。
FORTRANやPythonの後継として開発された数値解析を得意とする言語。
Pythonが得意としている機械学習やシミュレーションに特化することで、Pythonの弱点である速度を大きく改善しています。
ライブラリの豊富さなどはPythonに遠く及ばないので、そこを解消しPythonに取って代わることになるのか注目しています。
Microsoftによって開発された静的型付け機能が搭載されたJavaScriptです。
完全にJavaScriptの上位互換になっているので、TypeScriptのコードはJavaScriptで利用できます。
今時であれば特別な理由がない限りTypeScriptを使用するべきでしょう。
JavaScriptの後継としてGoogleによって開発されたクライアント開発向け言語。
マルチプラットフォーム対応や、強い静的型付け言語でCライクな構文を強みとしています。
最近だとFlutterフレームワークのイメージが強いです(Ruby on Railsみたいな印象)。
Javaの後継としてJetBrainsによって開発された言語。
Javaの最大の欠点として記述量の多さが挙げられますが、その点を解消した上でNullセーフなどJavaで渇望されていた機能も採用されています。
今からやるなら間違いなくKotlin、と思えるくらいJavaの正統進化になっています。
C++の後継として開発された言語。
C++と同程度の速度を誇りながら、メモリ安全性を保証できたりエラーメッセージが丁寧だったりするのが大きな特徴です。
習得が難しいとされている一方で、プログラマからの評価は高い印象があります。
軽くまとめてみて半分以上チュートリアルすらやっていないことに気づき愕然としました。中にはいつ使う言語なのかすらよく分かっていないものもありました…。反省です。
自分はHackやRustがちょっと気になるので触ってみたいですね。
似た悩みを抱える人の助けになれば幸いです。
そもそものきっかけは情熱プログラマーでした。
第1章に自分の時間を技術に投資できていますか?どのような技術に投資するか真剣に考えられていますか?(なんとなく流行りや仕事に流されていませんか?)ということが書かれていました。
いやまさに。 まさに今の自分のことだと。
仕事でAWSを使っているからその付近の知識を偶発的に調べ、最近だとTypeScriptやPythonをたまたま流れで書くことになったから勉強しているだけだと自覚しました。
これではいけないと、身をつまされた思いでこの記事を書き上げたのでした。