|
Googleは長年にわたり、数多くのプログラミング言語を開発してきました。その中には、非常に人気を博したものもあれば、あまり知られていないものもあります。例えば、Golang(略してGo)は、サーバーおよび分散システム開発の改善を目的として開発され、現在では広く利用されています。一方、DartはもともとJavaScriptの代替として設計されましたが、Flutterの登場によって徐々に主流となりました。 先日トロントで開催されたCpp Northカンファレンスにおいて、Google社員のチャンドラー・カルース氏が、新しいプログラミング言語「Carbon」の開発ビジョンを発表しました。このビジョンを様々なアプリケーションシナリオと関連付けて説明するため、カルース氏は、現在最も人気のあるプログラミング言語の多くが既存の言語の後継言語であること、そしてそれらが最新の言語の進歩をどのように活用して開発者の生産性を迅速に向上させているかについても説明しました。 Android開発者はKotlinがJavaの後継言語であることをよく知っています。iOS開発者もSwiftがObjective-Cの後継言語であることをよく知っています。MicrosoftのTypeScriptはJavaScriptを大幅に強化し、開発者にとって使いやすいままコードをJavaScriptに「変換」できるようになりました。Google社内で広く使用されているC++も、ある程度Cの後継言語と考えられています。 Rustは、現在多くの忠実な支持者を擁する純粋なMozillaプロジェクトであると考える人が多い。Rustは元々C++の後継として構想された。しかし、Carruth氏はRustの後継としての地位に疑問を呈し、Rustは確かに新規プロジェクトの開発に適しているものの、JavaとKotlinの間に見られる「双方向の相互運用性」を欠いており、安定した移行が困難だと主張している。 言い換えれば、Rustが人々を幸せにするなら、使い続けるべきです。しかし、C++エコシステムをRustに移行するのは非常に困難です。 そのため、Carbonは開発者が「パフォーマンスファーストのソフトウェア」を開発するのを支援するなど、Rustと多くの目標を共有していますが、Carbon独自の利点は、既存のC++コードとの完全な相互運用性にあります。さらに、Googleは必要に応じてC++コードを簡単にCarbonにトランスパイルできるようにしたいと考えています。 C++ 開発者が Carbon を採用した理由について、Carruth 氏はステージ上で新しい言語の多くのハイライトを共有しました。
Carbonチームは、言語自体の特性に加え、将来のニーズを見据えた言語設計にも注力しています。プロジェクトのコードはGitHub [1] で公開されており、PRリクエストも受け付けています。また、Carbonは企業の従業員や個人に開かれた、非常に包括的なプロジェクト文化を採用しています。 言い換えれば、Carbonプログラミング言語はGoogle由来であることを強調していません。プレゼンテーションはGoogle社員によって行われ、Carbonの現在のプロジェクトリーダーは主に(ただし全員ではない)Google出身ですが、Carbonは純粋にGoogle所有のプロジェクトではありません。 意図は非常に明確です。CarbonはGoogle内で誕生しましたが、プロジェクトチームは、この若い言語が最終的に成功するには、コミュニティと広く共有する必要があることを理解しています。Carbonは「独立したコミュニティによって推進されるプロジェクト」にならなければなりません。Carruth氏はさらに、Carbonは現在実験的なプロジェクトに過ぎないものの、既に複数の企業が初期段階から関心を示していることを強調しました。 Carbon言語にも興味があるなら、ソースコード[2]をダウンロードして、自分のデバイスで試してみるのも良いでしょう。また、Compiler Explorer[3]ウェブアプリケーションにも統合されているため、ブラウザで直接Carbon言語を体験できます。 |