個人的に新しいと感じるプログラミング言語を3行でまとめてみた(2023.07)

Carbon, HackからKotlin, Rustまで

2023年07月16日

最近あまり新しい言語を学ぶということをしていないなも思ったので、聞いたことがあるプログラミング言語のうち個人的に最近寄りだと感じる言語を短くまとめてみました。(2023年7月時点)

カバーできていない言語も無数にありますがご了承ください。

一覧

Carbon

GitHub

C++の後継としてGoogleが開発している言語で、まだコンパイラもなく実験的な段階です。

C++は1980年代に登場した古代言語でありながら、パフォーマンスに重きを置くソフトウェアでは採用せざるを得ないのが現状です。

そこでツール郡やメモリセーフなサブセットをCarbonに取り入れ、C++からCarbonに段階的に移行することを目標に開発が進められています。

Hack

公式サイト

PHPの後継としてFacebookによって開発されたサーバサイド開発向け言語。

静的動的両方の型付けを使用した上で、PHPのような開発スピードを保てることがポイントです。

HHVMという処理系によってJITコンパイルして実行するため、PHPよりも動作が早いことも特徴です。

参考リンク

Swift

公式サイト

Object-Cの後継としてApple製品でアプリを開発するためのAppleが開発した言語。

Object-Cは1980年代に登場した古代言語で、それをモダン化するためにAppleが腰を上げてSwiftを開発した(というイメージ)。

しかしAppleのためのAppleが使う言語という感じで、一般開発者の中にはObject-Cを使い続けている人も少なくない印象です。

Elixir

公式サイト

Erlangの後継として開発された関数型言語。

文法がErlangと比べてわかりやすく、Phoenixフレームワークを使用することでwebアプリを開発もできます。

正直なところ関数型言語の何が嬉しいのかもよくわかっていないので、詳細は他記事を参照ください。

参考リンク

Julia

公式サイト

FORTRANやPythonの後継として開発された数値解析を得意とする言語。

Pythonが得意としている機械学習やシミュレーションに特化することで、Pythonの弱点である速度を大きく改善しています。

ライブラリの豊富さなどはPythonに遠く及ばないので、そこを解消しPythonに取って代わることになるのか注目しています。

参考リンク

TypeScript

公式サイト

Microsoftによって開発された静的型付け機能が搭載されたJavaScriptです。

完全にJavaScriptの上位互換になっているので、TypeScriptのコードはJavaScriptで利用できます。

今時であれば特別な理由がない限りTypeScriptを使用するべきでしょう。

Dart

公式サイト

JavaScriptの後継としてGoogleによって開発されたクライアント開発向け言語。

マルチプラットフォーム対応や、強い静的型付け言語でCライクな構文を強みとしています。

最近だとFlutterフレームワークのイメージが強いです(Ruby on Railsみたいな印象)。

Kotlin

公式サイト

Javaの後継としてJetBrainsによって開発された言語。

Javaの最大の欠点として記述量の多さが挙げられますが、その点を解消した上でNullセーフなどJavaで渇望されていた機能も採用されています。

今からやるなら間違いなくKotlin、と思えるくらいJavaの正統進化になっています。

Rust

公式サイト

C++の後継として開発された言語。

C++と同程度の速度を誇りながら、メモリ安全性を保証できたりエラーメッセージが丁寧だったりするのが大きな特徴です。

習得が難しいとされている一方で、プログラマからの評価は高い印象があります。

まとめ

軽くまとめてみて半分以上チュートリアルすらやっていないことに気づき愕然としました。中にはいつ使う言語なのかすらよく分かっていないものもありました…。反省です。

自分はHackやRustがちょっと気になるので触ってみたいですね。

似た悩みを抱える人の助けになれば幸いです。

余談

そもそものきっかけは情熱プログラマーでした。

第1章に自分の時間を技術に投資できていますか?どのような技術に投資するか真剣に考えられていますか?(なんとなく流行りや仕事に流されていませんか?)ということが書かれていました。

いやまさに。 まさに今の自分のことだと。

仕事でAWSを使っているからその付近の知識を偶発的に調べ、最近だとTypeScriptやPythonをたまたま流れで書くことになったから勉強しているだけだと自覚しました。

これではいけないと、身をつまされた思いでこの記事を書き上げたのでした。