「Carbon」は「C++」の後継になり得るか【第2回】
C++が“使ってはいけないプログラミング言語”だと言われるのはなぜ?
「C++」は、「C」の後継として生まれたプログラミング言語だ。後継言語として強力な仕組みを持つ一方、さまざまな問題を抱えていると専門家は指摘する。どのような問題なのか。
プログラミング言語「C++」は、プログラミング言語「C」から派生した。そのためC++は、Cの仕組みを受け継いでいる。C++エンジニア向けカンファレンス「CppNorth 2022」の基調講演において、「C++の成功にはCの継承が不可欠だった」と、Googleのプリンシパルソフトウェアエンジニアであるチャンドラー・カルース氏は語った。同社はC++の後継を目指して、プログラミング言語「Carbon」(Carbon Language)の開発を進めている。
CからC++への移行は比較的スムーズに進んだ。一方でC++が抱える“ある問題”が顕在化した。
C++が“使ってはいけない”と言われるのはなぜ?
併せて読みたいお薦め記事
連載:「Carbon」は「C++」の後継になり得るか
プログラミング言語の移り変わり
「C++はさまざまな癖がある複雑なプログラミング言語だ。構文を理解して記述するのが難しい。そのためバグが発生する可能性が高く、修正に費用も時間もかかる」。プログラミング学習サイト「Savvy Programmer」の創設者兼編集者のモーシェッド・アラム氏はそう話す。「C++は企業におけるアプリケーション開発にはあまり適していない」ともアラム氏は語る。
企業におけるアプリケーション開発にC++が最適なプログラミング言語ではないことには、調査会社Forrester Researchでシニアアナリストを務めるアンドリュー・コーンウォール氏も同意する。「C++は強力なプログラミング言語だが、多くの災いを引き起こす可能性がある」とコーンウォール氏は述べる。一方「さまざまなシステムの構築にC++は十分役割を果たしている」という考えも示す。
「C++にはメモリに関する安全性の問題がある。これはC++で開発したアプリケーションに深刻なセキュリティリスクをもたらしかねない」。アプリケーション開発企業Intelivitaの共同創設者であるダバル・サルバイヤ氏はそう説明する。C++では、開発者がメモリ領域の確保や解放といった処理をソースコードに明記する必要がある。適切なメモリ管理ができていないC++アプリケーションは、確保できているメモリ領域を越えてデータを書き込んでしまうことがある。これを「バッファオーバーフロー」の脆弱(ぜいじゃく)性と呼ぶ。
ソースコード共有サービス「GitHub」で公開している情報によると、Carbon開発チームは、こうしたメモリの安全性の問題を大きな課題だと捉えており、C++の後継言語はメモリの安全性を確保すべきだと主張する。他方で「メモリの安全性に関する取り組みの優先順位は高くない」とも説明する。「われわれがセキュリティ分野で真っ先に重点を置くのは、重要かつ実装難易度が高くない機能だ」と開発チームは言及する。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握 -
製品資料
[株式会社マクニカ] 「脆弱性総まとめ」解説 被害事例から考える必須の対策ポイント -
製品資料
[Splunk Services Japan合同会社] サイバー脅威「トップ50」完全解説ガイド、新たな攻撃手法に対抗するには -
製品資料
[株式会社うるる] 「入札市場」完全ガイドブック:メリットから資格取得のポイントまで -
市場調査・トレンド
[株式会社うるる] はじめての「自治体/官公庁入札」 必要な知識がすぐに学べる入門ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
3
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
4
AI基盤は本当に「オンプレ回帰」する? Broadcomの言い分と企業の本音
-
5
「技術屋」で終わらないために 情シスが今取るべき認定資格5選
-
6
「世界一給与にハングリー」な日本のエンジニアが“雇用の安定”を求める理由
-
7
「Linuxサーバの長期運用とRed Hat Enterprise Linux」に関するアンケート
-
8
「IoT通信環境の構築・運用」に関するアンケート
-
9
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
10
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
8
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
9
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー