「Carbon」は、「C++」の特徴を受け継ぐプログラミング言語として開発されており、「Rust」とも対比されることがある。Carbonは「C++」や「Rust」とは何が違うのか。
オープンソースの汎用(はんよう)プログラミング言語である「Carbon」は、プログラミング言語「C++」の一部の特徴を受け継ぐ存在だ。CarbonはC++の他、C++と対比される「Rust」とも比べられることがある。その違いはどこにあるのか。
Carbonの開発者は、メンテナンスと拡張の両方の目的においてソースコードが記述しやすくなるようにCarbonを設計した。その一環として、ソースコードの読みやすさと表現力を向上させるシンプルな構文を用いている。数学的な関数を組み合わせたプログラミングである「関数型プログラミング」の要素も、ソースコードの書きやすさに寄与している。
現時点で、Carbonはまだ実験段階のプログラミング言語だ。そのため専用のコンパイラ(ソースコードを実行可能ファイルに変換するプログラム)はなく、デモ用のインタープリタを通じてのみ実行できる。インタープリタとは、プログラミング言語やスクリプト言語で書かれたソースコードを行ごとに読み込み、解釈して実行するプログラムを指す。
さまざまなプログラミング言語用コンパイラのベースとなる「LLVM」を、Carbonが利用する計画があるかどうかは不明だ。LLVMを利用することになれば、Carbonの独自性能が失われる可能性がある。例えばプログラムとして正しく機能することを優先させるために、特定のメモリ安全性チェック機能が犠牲になるといった具合だ。Carbonの開発チームはこのような問題に対処するため、Carbonコミュニティーに対して、Carbonの開発への参加を積極的に呼び掛けている。
Carbonは、C++と比較されがちな汎用プログラミング言語「Rust」と比べられることがある。Rustはコンパイル時に、変数のスコープ(プログラム内で変数を使う範囲)に基づいて必要なソースコードを自動的に追加する。これに対してCarbonでは、メモリを手動で管理しなければならない。Carbonの文法はRustよりもC++に近いと言われているため、Rustの文法になじみがないC++プログラマーが移行しやすい選択肢として、Carbonが適している場合がある。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
D2C事業の約7割が失敗する理由 成功企業との差はどこに?
クニエがD2C事業の従事者を対象に実施した調査の結果によると、D2C事業が成功した企業は...
企業のSNS活用実態 最も使われているのはX? Instagram?
企業はSNSをどのように活用しているのか。調査PRサービスを提供するPRIZMAが、最も使われ...
日本のモバイルアプリトレンド2025 クロスデバイス戦略とMMMの重要性とは?
急速に進化するモバイルアプリ市場においてAIと機械学習の活用が本格化し、マーケティン...