C++からの移行先になる?【前編】
プログラミング言語「Carbon」は「C++」より何が優れているのか
「Carbon」は、「C++」を基盤とした実験的なプログラミング言語だ。C++から進化した特徴や、現時点での制限など、Carbonの概要を紹介する。
「Carbon」は、プログラミング「C++」の一部の特徴を受け継ぎつつ、独自の仕組みを備えるオープンソースの汎用(はんよう)プログラミング言語だ。Carbonは実験段階にあり、労力を掛けてC++で書かれたソースコードを書き換える必要がない、魅力的な代替言語の選択肢になろうとしている。以下でCarbonの機能と欠点を紹介しよう。
「Carbon」が「C++」と違う点はこれだ
Carbonは、2022年開催のソフトウェアカンファレンス「CppNorth」で、Googleが支援するオープンソースプロジェクトとして初めて紹介された。開発者のチャンドラー・カルース氏は、Carbonを「C++の実験的な後継言語」と位置付けている。カルース氏によるとCarbonは、「開発チームが大規模で複雑なC++プログラムを管理しやすくするために設計されたプログラミング言語」だ。
Carbonの最大の特長は、C++に存在するメモリの脆弱(ぜいじゃく)性の解消を目的とした仕組みを備える点だ。具体的には、以下の技術や機能を駆使している。
- 配列(同一データ型の集合)の境界チェックを定期的に実行することによるエラー防止
- 境界チェックは、変数が配列の範囲に収まるかどうかをチェックする仕組みのこと。
- デリファレンスを介したメモリアクセスの禁止
- デリファレンスポインタは、ポインタ(データの格納先を示す値)の参照先をたどってデータを読み出すこと。
- ガベージコレクションなどの操作によって解放されたメモリへのアクセス禁止
- ガベージコレクションは、不要なデータを削除して空き容量を増やす仕組みのこと。
- 誤ったデータ型に関する保護
- プログラム内で、変数やオブジェクト(データと処理をまとめたもの)に対して、それらが扱うべきではないデータ型の値を代入したり、異なるデータ型に対する操作を実行したりすることを禁止する。
- 同時アクセスを分離するロック機構
- プログラムの別々の箇所から同じメモリにアクセスして競合状態が発生することを防ぐ。
- プログラム実行時に、正確な挙動を実現するための制御機能である「セマンティクス制御」を含む。
より安全なメモリ管理を実現するために、Carbonは以下の仕組みを備える。
- スレッドローカルストレージ
- 各スレッド(プログラムの実行単位)で独立して変数を保持する仕組み。
- アトミック操作
- 複数のスレッドやプロセスを1つの動作としてまとめて扱う仕組み。
- ロックフリー構造
- スレッドがデータにロックを掛けないようにしつつ、複数のスレッドが同時に同じデータにアクセスしても競合しないようにする仕組み。
開発者はこれらの仕組みを利用することで、複数のスレッドが同じデータにアクセスする際の安定性を保ちやすいソースコードを記述できる。
次回は、「Rust」とC++と対比しながらCarbonの特徴を紹介する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[オーティファイ株式会社] AIでコーディングは加速したのにテストはそのまま? いまQAに必要な進化とは -
事例
[オーティファイ株式会社] QAで開発サイクルを遅延させない 8社の事例に学ぶ「テスト工程」の課題解決策 -
製品資料
[株式会社ガラパゴス] 「AIっぽい広告」の山に埋もれさせない AIマーケで着実に成果をだす秘訣とは? -
製品資料
[株式会社ガラパゴス] 「広告投資」調査レポート2026:勝ち組企業は何に投資しているのか? -
製品資料
[株式会社Helpfeel] 「問い合わせの渋滞」を解消、情シスの負担を軽減する“次世代型AI”活用方法
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
膨らむAIコストに歯止め GitHubのマルチモデルルーターは何が違うのか
-
4
マンガで解説:採択率は3割台? デジタル化・AI導入補助金申請の落とし穴
-
5
9割が頓挫する「AI内製化」 差がついたのはツールより設計力
-
6
覇権争いは終了? SnowflakeやSAPが「Apache Iceberg」の採用を急ぐ理由
-
7
「コンテナ型データセンターの検討状況と課題」に関するアンケート
-
8
多要素認証導入済みでもランサムウェア被害に 復旧費用は平均2億7000万円
-
9
「ネットワークインフラの現状と課題」に関するアンケート
-
10
社内開発×ノーコードで検証速度を4倍にしたエアトリのWebサイト改善術
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
-
10
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー