C++ アプリケーション
2014 年 8 月 17 日更新
Bjarne Stroustrup 氏 “C++ Applications” の日本語訳です。
原文: http://www.stroustrup.com/applications.html
これは、全体または大部分が C++ で書かれているシステム、アプリケーション、ライブラリのリストです。当然ですが、完全なリストではありません。実際、主要な C++ プログラムの 1000 番目を挙げることなんてできませんが、私の聞いた中での 1000 番目はたぶんこのリストに入っているでしょう。このリストは、読者にいくらか馴染みのある、または C++ がどう使われているかを初心者が知ることができる、あるいは私が単純に “クール” だと思ったシステム、アプリケーション、ライブラリのリストです。
翻訳版へのリンクです。
私 (Bjarne Stroustrup) はこのリストの正確性を一切保証しません。正確であることを信じています——私に事例を教えてくれた方々を信用していますが、そのソースコードを自分では見ていません。ほとんど C なのに C++ と呼ばれるようなコードより C++ スタイルのコードを優先し、C や “ほとんど C” なプログラムは載せないようにしました。詳しい説明の多くは、各システムの開発者または使用者の言葉であり、私のものではありません。
このリスト中の組織は特有のものです。一組のアプリケーションが明確に一つの組織に関係している場合、アプリケーションはその組織名の下に載せています。ただし、そのパターン通りでないシステムもあります。
いいえ、私はすべての頭字語の意味を知っている訳ではありません。はい、仮に非標準の拡張に依存していても、C++ として載せています。はい、更なる事例を教えていただければ感謝します——特に、主要なアプリケーションであれば。送ってくださるなら、サポートサイトへの URL も送っていただけると助かります。いいえ、多くの人にとって関心があるだろうと思わない限り、アプリケーション、システム、ライブラリをリストに載せません——私はそこまで完璧なリストを作ろうとしているのではありません。いいえ、まだ広く使われていないアプリケーションはリストに載せません (ごめんなさい)。このリストは主要な使用例を説明することを意図しており、新たな製品を含めることでその意図から離れてしまうためです。ある製品をリストに載せる際に競合製品もすべて載せることを約束するなど “公平” を気取ることはしません——このリストは総合的な印象を与えようというものであり、あなたの製品の選択を手助けするものではありません。説明の書き換えはできる限り控えますが、明らかな広告は削除します。
私は項目を頻繁に見直している訳ではないことに注意してください。あまり最新ではない部分もあるでしょう。気軽に私まで更新を知らせてください。
私に事例を教えてくださったすべての方に感謝します。追加や訂正の提案も歓迎します。
他の人のリスト:
明らかに関係する組織が一つであるアプリケーション:
- 12D Solutions:
測量、土木工学などのためのコンピュータ支援設計 (CAD) システム。
- Adobe Systems:
すべての主要なアプリケーションは C++ で開発されています:
- Photoshop & ImageReady,
- Illustrator,
- Acrobat,
- InDesign,
- GoLive,
- Frame (主に C, 一部 C++)
- Alias|Wavefront: Maya。Maya は、コンピュータで生成されるエフェクトを含んだ主要な映画ほぼすべての制作に、リリース時から使われています。スター・ウォーズ エピソード I, スパイダーマン,
ロード・オブ・ザ・リング, スチュアート・リトル、他。“私は 3D アニメーションが大好きです。”
- Amadeus:
ヨーロッパ最大の非軍用データセンター (1 秒当り 5000 超処理、端末 200000 機接続、24 時間稼働) を運営し、現在の開発のほとんどを C++ で行っています。すべての Unix ベースサーバアプリケーションは完全に C++ です。その一部:
- 車の予約
- 顧客プロフィールサーバ
- 電子航空券
- TCP/IP フロントエンド
- Amazon.com:
大規模 e-コマース用ソフトウェア。
-
Apple:
OS X は複数の言語の組合せで書かれていますが、いくつかの重要な部分は C++ です。最も興味深い 2 つは
- Finder
- IOKit デバイスドライバ。 (もっとも IOKit はカーネルの中で C++ を使う唯一の場所ですが。)
また、
- AppleWorks
- iPod のユーザーインタフェース (C++ で書かれた Pixo アプリケーションフレームワークが使われています。)
- “私が推定するに、これまで発売されてきた何千という Macintosh アプリケーションの半数以上は C++ で書かれていました。”
- フレームワーク:
Macintosh 用に開発された主要な C++ アプリケーションフレームワークは 3 つあります:Apple の MacApp (some MacApp applications)、Symantec の Think Class Libraries、Metrowerks の PowerPlant。また、これまで開発されてきた (市場シェアの) 小さなフレームワークは数多く存在します。
-
Amdocs: 電信課金モジュール (Enabler) が完全に C++ で書かれています。彼らは世界一の電信向け BSS ベンダです。
-
Arium: Sourcepoint; インテルおよび ARM システム用 (マルチプロセッサシステムを含む) の、ハードウェアデバッガ・エミュレータ。
-
AT&T: アメリカ最大の電信プロバイダ。
- 1-800 サービス
- プロビジョニングシステム
- 障害時のネットワーク回復システム
- Autodesk:
CAD 界におけるアプリケーションのメジャーナンバー多数。
-
BeOS:
マルチプロセッサ・マルチメディア・パーソナル OS。
-
BigFix, Inc.:
BigFix はテクニカルサポート情報を適切な人へ適切な時間に届けるための、コミュニケーションシステムです。Autodesk や eMachines といった会社により、ソフトウェアとハードウェア両方のサポートに使われています。BigFix の全製品が C++ で書かれています。
-
Bloomberg:
投資家にリアルタイムの金融情報を提供。
- Cabot Communications:
ポータブルのセットトップボックス (STB)、ディジタル TV ソフトウェア (ISO MHEG-5 を含む)。
-
Caldera:
システム管理ソフトウェアのための WBEM 標準のオープンソース実装である OpenWBEM は C++ で書かれています (www.openwbem.com)。標準委員会自体で作られたもの以外では、私が見たほとんどどのソースコードよりも、新しい C++ 98 の特徴を採り入れています。
-
callas Software:
PDF ファイルの分析・修正・最適化ソフトウェア:pdfInspektor, Acrobat Preflight およびその他のプラグイン。
-
CERN: 特に大規模高エネルギー物理実験用のデータ分析プログラム。ROOTツールセットとライブラリを使用。
-
Codemill:
- SuperDoc: PalmOS のドキュメントリーダ、高速なフォントアンチエイリアシングで有名。
- SecurityContext: カレントスレッドの OS セキュリティコンテキストの問合せを簡単化するための Win32 COM コンポーネント。
- Map: COM バリアントデータ型のスレッドセーフな map (std::map のように) を提供する Win32 COM コンポーネント。例えば IIS ウェブアプリケーションでのデータキャッシング用。
-
Code Synthesis Tools:
インメモリ・ストリーム指向プロセスモデルをサポートした C++ 用の XML データバインディングジェネレータ XSD を提供します。XSD は移植性の C++ で書かれており、広範囲の C++ コンパイラを用いてコンパイルします。XSD は、遠距離通信、金融、ハイパフォーマンスコンピューティング、集積回路の設計に使われます。
-
Coverity:
C++ で書かれた、C と C++ のための静的ソースコード分析ツール。Linux のバグ を見つけるのに使用。
-
CoWare: システム、チップの仕様が C++ による。
-
Credit Agricole Indosuez Cheuvreux:
ヨーロッパ株式市場における注文のトラッキングに C++ を排他的に使用。
-
Dantz Development Corporation:
Windows 用のバックアップソフトウェア。
-
D-Cubed:
幾何学的制約条件の解決、動作シミュレーション、衝突検出、隠線の除去、プロフィール管理のためのコンポーネント。強調すべきは正確性とスピードです。CAD アプリケーションの大多数に使われています (例えば CATIA、SolidWorks、AutoCAD、NX、SolidEdge)。
-
D E Shaw:
金融分析・取引ソフトウェア。
-
Digiquant:
インターネット管理システム (IMS)、IP ベースネットワーク上のサービス用の基盤ソフトウェアです。C++ ベースの IMS の構成要素に、拡張性 AAA サーバ、サービスプロビジョニング、評価エンジン、ポートサーバがあります。
-
Dassault Systems:
Catia v5; 主要な CAD ソフトウェア。最近の Airbus 社の全飛行機 (A380, ...) がこれで作られました。また、Boeing 787 ソフトウェア。完全に C++ で書かれており、STL を用いています。
-
Doxygen:
ドキュメント生成ツール。
-
オランダ運輸水利管理省: 高潮堰の制御システム。ロッテルダムを洪水から守るマエスラント堰の BOS 制御システム。この安全枢要なシステム (IEC 61508 によれば最高の安全保全水準) は C++、Z、PROMELA を使って造られています。素敵な写真のある高レベルの概要が ここ で見られます。
-
Efficient Networks: (Siemens の完全子会社)
Macintosh, Windows, Linux システム向け PPPoE クライアントソフトウェアのライセンスを世界で 800 万以上販売しました。製品は ISP ブランド名の下で配布されています。新たな Macintosh 向けの開発は完全に C++ で、Windows 向けの開発は C と C++ の混合です。C++ を使っている製品は:
- EnterNet: PPPoE クライアントドライバと設定用アプリケーション
- Tango Qualifier: ユーザー環境における購入前査定
- Tango Installer: ウィザードライクなインストーラプログラム
- Tango Access: PPPoE クライアントドライバと設定アプリケーション
- Tango Support: ユーザーレベルのネットワーク診断ツール
-
Ericsson:
- TelORB - オブジェクト指向の分散オペレーティングシステム
- 分散 RAM データベース、TSP アプリケーションのベース
- サーバプラットフォーム。
- TDMA-CDMA HLR
- GSM-TDMA-CDMA モビリティゲートウェイ
- AAA サーバ。
- Facebook: 高性能かつ信頼性の高いコンポーネントのいくつか。
- FASTprotocol:
多くの実装を持つ金融取引用のプロトコルであり、
Quickfast (オープンソース) と、ロシアの取引システム用の FIX/FAST が含まれます。
- FlightGear: オープンソースのフライトシミュレータであり、JSBSim を使用。JSBSim は FlightGear や他のシミュレータで使われる飛行力学数学モデルの 1 つ。
- Geant4:
高エネルギー物理・核物理実験、宇宙、医学応用において使われる、物質中での粒子の相互作用をシミュレーショトするためのツールキットです。Geant4 プロジェクトは、10 以上の物理実験に参加した、ヨーロッパ、ロシア、日本、カナダ、アメリカの科学者約 100 人の世界的な結集です。国家・国際的な学会や組織 の参加もあります。このソフトウェアは完全に C++ で書かれており、オブジェクト指向の技法とツールを利用して開発されています。約 500K 行のコードから成り、電磁・ハドロン物理相互作用のための、かなり幅広い一式の最新アルゴリズムと理論モデルの実装が含まれます。
-
GCC
現在 GCC はその実装言語に C++ を使用しています [2012-08-14]。GNU コンパイラコレクション (GCC) には、 C, C++, Objective-C, Fortran, Java, Ada, Go といった言語のフロントエンドや、ライブラリ (libstdc++, libgcj,...) も含まれます。
- Google:
Web サーチエンジン、他。
-
Haiku OS:
システムの主な部分 (カーネルのほとんどを含む) が C++ で書かれています。BeOS の論理上の後継です。
-
Havoc: アニメーションおよびゲーム用のリアルタイム物理エンジン。
“Havok はギネスと同じくアイルランド製です。”
-
HP: HP の C++ アプリケーションのうち、ほんの一部を挙げます:
- 新しい HP IA64 プラットフォーム用の C, C++, Fortran90 コンパイラ、リンカ (C++ のコードは 100 万行超増加)。
- SAM (HP のシステム管理ユーティリティ)
- HP-UX ネットワーキングライブラリの一部
- Java VM コア
- Openview の一部
- ノンストップ XML パーサ (元々は Compaq から)
-
IBM:
- OS/400。
- K42: キャッシュコヒーレントマルチプロセッサ用の、高性能、オープンソース、汎用のオペレーティングシステムカーネル。
-
Image Systems: TrackEye and TEMA, (ディジタルイメージ処理に基づく) 世界をリードする動作分析プログラムです。衝突試験の効果を分析するために、自動車メーカの大半に使われています。また、新型機のパフォーマンスを分析するために、自動車と航空機のメーカに使われています。“要するに、高速シーケンスが使われる所どこでも。”
-
Intel:
-
Intuit: Quicken (個人向け金融ソフトウェア)。
-
ILOG:
ILOG では、次の用途のための C++ で書かれたライブラリを提供しています:
- 可視化。このライブラリのセットは、移植性 GUI や高度なグラフィックス機能を必要とするアプリケーションをビルドするのに使われます。
- 最適化。このライブラリのセットは、制約プログラミングやシンプレックスアルゴリズムが必要なプログラムをビルドするのに使われます。
- ルール。このライブラリのセットは、発生するかもしれないイベントによるファイヤアクションに対してのルールエンジンが必要なアプリケーションをビルドするのに使われます。
私の知っている一部のカスタマ:
Chrysler, EDF, CENA, Nortel, SAP, Alcatel, Renault, Manugistics,
Communaut urbaine de Lyon (Traffic regulation in the city of Lyon),
Parc Technologies Ltd, Barclays Global Investors (BGI), TLC (Transport,
Informatik- und Logistik-Consulting GmbH) subsidiary of Deutsche Bahn,
DoD's Joint Operational Support Airlift Center (JOSAC), Telefonica,
CISCO, NISSAN, POSCO, Sony Bank, isMobile, Southwest Airlines, Novient,
Vodafone TeleCommerce, Sabre Holdings Corporation, France Telecom,
Ericsson, Deutsche Telekom, Lucent Technologies, MCI WorldCom, Siemens,
First Union Home Equity Bank, Baaan, HP, Adonix, Peugeot, ARINC, McHugh。
-
KLA-Tencor: 半導体製造システム。
-
Looksmart は圧倒的に C++ で書かれています。Web の検索や探索に関係するすべての製品が C++ で書かれています。1 日に 5,000,000 を優に超えるユニークユーザーに使われています。
-
MAN B&W Diesel A/S:
大型船、超大型船 (コンテナ船やタンカーといった船) 用エンジンの御用達。
- 2 台の非常に大きなストロークディーゼルエンジン (100.000 ブレーキ馬力超まで) 用の、電子制御燃料噴射、排気弁制御システム。中型の組み込みシステム上で動くハードリアルタイム システム。分散・冗長エラーリカバリを備え、完全に重要な 24 時間運転。数百行のアセンブラコードを例外として、全体的に高パフォーマンス、高レベルな C++ で書かれています。
- デスクトップマシンで動作する、エンジンおよびクルー用の大型サポートシステム、完全に C++ で書かれています。
- 内部の業務上不可欠なアプリケーション。エンジンデザイン計算、デザイン情報ストレージ用。
-
Medimage: 全製品: 製品の範囲は、画像をモデムおよび TCP/IP で転送する、医療用画像表示システムから従来のコニュニケーションソフトウェアにまでおよびます。Mac OS、 Windows コンピュータ向けの製品を共に作っています。
-
Mentor Graphics: 1980 年代以来 Mentor Greaphics は大半のアプリケーションを C++ で作ってきました。次が含まれます:
- Calibre: IC の物理検査、製造、解像度向上のためのソフトウェア。
- Formal Pro: 数百万ゲートの ASIC と SoC の検証を可能にする、形式的検証の同等性チェッカ。
- FastScan: ASIC と IC 用の自動テストパターン生成ツール。
- FlexTest: テスト網羅度を最適化するためのテストパターンジェネレータ。
- TestKompress: ATE メモリを削減し、テストに必要な時間を 10 回までに削減するツール スイート。
- MachTA/PA: DSM と ミクストシグナル IC の設計のタイミングおよび電力解析のための、高速、性格、高能力な、トランジスタレベルの回路ミュレータ。
-
Metrowerks
ソフトウェア開発ツールの主要なプロバイダ。
CodeWarrior 統合開発環境 (IDE), RAD プラグイン、PowerPlant, オブジェクト指向クラスライブラリ、すべて C++ で書かれています。
彼らのウェブサイトにはいくつかのクールなアプリケーションの説明があります。例えば、3D アニメーション、リアルタイム Web 会議、衛星制御技術。
-
Microsoft:
Microsoft の文字通りすべての製品が Visual C++ の最近のバージョンを使ってビルドされています
(古いバージョンを使用すれば自動的にアプリケーションの安全性の評価を落とす結果となるでしょう)。
リストはこのような主要な製品を含むことになるでしょう:
- Windows XP, Vista, System 7
- Windows NT (NT4 and 2000)
- Windows 9x (95, 98, Me)
- Microsoft Office (Word, Excel, Access, PowerPoint, Outlook)
- Internet Explorer (Outlook Express を含む)
- Visual Studio (Visual C++, Visual Basic, Visual FoxPro)
(.NET Framework とリリースを共にする基本クラスライブラリは C# を使って書かれましたが、C# コンパイラ自体は C++ で書かれています。)
- Exchange
- SQL
このような “マイナー” な製品もあります:
- FrontPage
- Money
- Picture It
- Project
- Z3: 高性能な定理証明器。Microsoft リサーチによるオープンソースソフトウェア。
- すべてのゲーム
-
mIRC: チャット。“100 万人以上に使われています。”
-
MongoDB:
オープンソースのデータベース。Viacom や Disney といった大企業だけでなく、Web アプリケーションのバックエンドストアとして 広く使われています。
-
Morgan Stanley: かなりの額の金融モデリングに。
-
Mozilla:
Firefox ブラウザ、Thunderbird メールクライアント (オープンソース)。
-
MySQL:
MySQL サーバ (C++ により約 250,000 行)
および MySQL クラスタ。ほぼ間違いなく世界で最も人気のオープンソースデータベース。
-
NASA: 多くのプロジェクト、以下のようなもの:
- JPL (ジェット推進研究所、NASA):
火星探査車の自律運転システム (情景解析や経路選定を含む)。火星に C++!
また多くの補助ソフトウェアが “地上” にあります (例えば地球)。
- James Webb 望遠鏡
James Webb は Hubble 宇宙望遠鏡の後継機です。
- 国際宇宙ステーション用ソフトウェアの (多くの) 部分。
-
イスラエル国勢調査局: 大半が C++ で書かれており、埋め込み SQL のコンポーネントも持ちます。800 万人の市民と外国人労働者のため、出生・死亡登録を始め、帰化、パスポート発行、ビザ等、1 月当り100 万の処理を実行してます。
-
Netopia:
- Timbuktu Pro — RMacintosh と Windows 用のリモートコントロール、ファイル交換、および共同使用のためのツール。
Timbuktu Pro は約 10,000,000 台のノードにまでインストールされており、フォーチュン 500 の会社の 70% に使われています。Mac バージョンは 10 年にわたって多数の賞を受賞し、Windows バージョンは唯一 the 2002 World Class Award From PC World を獲得しました。
- netOctopus — Macintosh、Windows 向けのネットワークベースシステムマネジメント。“4000 サイト ... 恐らく 150 のエージェント (マネージドシステム) が各サイトにインストールされているので、つまり約 600,000 システムということになります。”
- eSite — いくつかのイエローページ会社が広告主にウェブサイトを提供するために使っている、ウェブサイトサーバプラットフォーム。
- eCare — Web ベースのカスタマサポート。Macintosh、Windows クライアントが C++ で書かれています。
-
Nokia:
- Mobile Communications 無線局/インターネットブリッジ:
FlexiGGSN (Gateway GPRS Support Node)、FlexiSGSN (Server GPRS Support Node)。
- MSC/HLR
- N シリーズ (およびその他の “スマートフォン”) 用ソフトウェアの大半。
-
Nullsoft:
Nullsoft のすべての製品 (Winamp, NSI など) が C++ であり、多くがオープンソースです。
-
OpenDDS:
リアルタイムシステム用の OMG のデータ配布サービス (DDS)。
-
Parametric Technology:
CADDS5i は部分的に C++ で書かれています。
-
Programming Research:
QAC++: C++ 用の分析プログラム。
-
Propellerhead Reason: Reason はあなたがアイディアを音楽にする際に必要な道具や楽器を備えた仮想のスタジオラックです。
- Radiometer Medical A/S:
世界中の 1000 を超える病院で使われている、日単位で患者の重要な情報を扱う高度先進医療機器およびアプリケーション。
- 血液ガス分析器: データベースベースのアプリケーションを実行する医療血液分析機器。GUI は別として、このアプリケーションは完全に C++ で書かれています。
-
血液ガス機器管理システム: 完全に C++ で書かれた分散データ管理アプリケーションであり (TAO CORBA の ACE framework を使用)、監視、報告を容易にします。
-
Rain Bird Corporation: Maxicom2 灌漑制御システム。
Maxicom2 は、大きな商業用地や分散している用地の灌漑を、単独の中枢制御 PC から制御します。遠隔の分散しているコントローラとの通信は、ダイアルアップ回線、携帯電話、無線、光ファイバなどを経由します。以下のようなユーザーがいます:主要なアミューズメント/テーマパーク、国際空港、大学、国立公園、企業の本社。
-
Reliable Software:
Co-op。ピアツーピアのバージョンコントロールシステム。
-
Renaissance Technologies:
金融分析・取引ソフトウェア。
-
SAP DB:
Pascal、C、C++ の混合で書かれた “エンタープライズオープンソースデータベース” です。ただし、新しい部分、古い部分の書き換えは C++ で実装されています: “リリース 7.4: 3392 ソースファイル中 1088 の C++”。
-
Scansoft: Dragon Naturally Speaking。賞を獲得した 連続音声ディクテーションシステム。元々は “Dragon Systems” が開発。
-
SGI: OpenInventor、OpenGL の上に作られている 3D グラフィックスフレームワークおよびツールキットです。Open Inventor は VRML (Virtual Reality Modeling Language) 標準の基準として貢献しています。
-
Siemens: 主要な医療システム (利便性と移植性のためにしばしば ACE を使用)。
-
Sophis:
クロスアセット、フロントオフィスからバックオフィスまでのポートフォリオおよびリスク管理ソリューション: “主要な金融機関により世界中で使われています”。
-
Southwest airlines:
ウェブサイト、航空券予約、運行状況、マイレージサービス、他。
-
Squid:
Web 配信の最適化。
-
Sun:
- Java 仮想マシン HotSpot は C++ で書かれています (これは、C で書かれた Sun の “Classic JVM” の最先端・高性能な代替製品です)。
- Sun のコンパイラは C++ で書かれた主要なコンポーネントを持ちます。
特に、C++ フロントエンド、Fortran 95 フロントエンドの一部、SPARC バックエンド。
- Solaris の一部は C++ で書かれています。互換性と安定性の理由から、
外部インタフェースは普通 C のような見た目に作られていますが。
- OpenOffice
“オープンソースオフィススイート”:
“[...] すべての技術はプラットフォーム中立のアプローチに基づいています。コードの 10% 未満がプラットフォーム依存です。これは上位のソフトウェアコンポーネントのための抽象化レイヤとして働きます。主な各プラットフォームの C++ コンパイラの可用性のために、C++ は実装言語として使われます。これは、広範囲の異なるプラットフォームへの OpenOffice.org テクノロジ の移植を可能にしています。”
“[...] それは、分散型でコンポーネントベースのアーキテクチャであるため、テンプレートや例外処理を扱い独立の言語の結合に対応する C++ のコードから主に成る、複合のアプリケーションです。”
-
Symbian OS:
根拠:
“[...] カーネルをはじめとして、すべてのシステムコードに C++ を使っています。” 最も普及した携帯電話用 OS の 1 つです。
-
Thomson Reuters:
Eikon は金融専門家のための主要なプログラムであり、主に C++ (一部 C#) で開発されています。実際に約 4M LOC です。
-
UIQ Technology:
UIQ、携帯電話用のオープンソフトウェアユーザーインタフェースプラットフォームで, 世界をリードする携帯電話メーカにより使われています。Symbian OS を実行する携帯電話向けです。UIQ 3 は Sony Ericsson の M600、P990、W950 に使われています。
-
カールスルーエ大学: L4Ka: pistachio, 純 C++ で実装されるマイクロカーネル。
-
Vestel Electronics:
セットトップボックスおよびデジタル TV のソフトウェア.
-
Vodaphone: 携帯電話インフラ。プロビジョニングおよび料金請求を含む。
-
wxWidgets (旧称 wxWindows):
クロスプラットフォームのウィジェットセット、ツールキット (オープンソース)。
-
WAM!NET: “Transmission Manager” ISDN および TCP/IP ベースのデータ転送ソフトウェアであり、以前は 4-Sight ISDN Manager として知られていました——ISDN サポートと、WAM!NET の管理する WAN に接続するためのソフトウェアとを統合したものです。
-
ZeroC:
ICE を提供します。現代的な C++ マッピングによるオブジェクト指向分散コンピューティング基盤です。ICE は移植性 C++ で書かれており、広範囲の C++ コンパイラでコンパイルを行います。ICE はゲームや大規模トレーニングシミュレーションに使われます。
関係する組織が明確に一つではないアプリケーション領域およびアプリケーション:
- CDE デスクトップ (多くの UNIX システムの標準デスクトップ) は C++ で書かれています。
- 計算幾何学:
CGAL Open Source Project, Computational Geometry
Algorithm Library は、アート幾何データ構造およびアルゴリズムの状態を提供します。主な設計目的は高性能、堅牢性、柔軟性です。後者を達成するために、CGAL の設計者は一般的なプログラミングパラダイムを選択し、CGAL は STL のようなものとなりました。GeometryFactory によるサポートされた製品として商用の利用も可能です。
- CORBA ORBs: MICO, omniORB, Orbix, TAO。
- ゲーム:
Doom III エンジン。
Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, 他にもありますが多すぎて挙げきれません...。
Blizzard:
StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft。
Quicksilver:
Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII。
Microsoft: 全ゲーム。
EA: テレビゲームエンジン。
Byond: “世界” 開発プラットフォーム。
-
インタラクティブグラフィックス:
-
Virtual Harlem (シカゴのイリノイ大学と中央ミズーリ州大学での プロジェクト) は、生徒が 1920 年代から 1930 年代のハーレムルネサンスを文化体験ツアーとして体験できる学習環境です。Virtual Harlem は Yggdrasil と呼ばれる高水準 VR スクリプティングフレームワークの上の上に作られています。Yggdrasil は C++ で書かれており、他の C++ ライブラリおよびフレームワークを使用しています:
- SGI の OpenGL Performer
グラフィックスライブラリ。
- CAVElib VR ライブラリ。
- CAVEGui
インタラクションに CAVE アプリケーションを提供するグラフィカルインタフェースツール。
- CAVERNsoft G2
共同ネットワークアプリケーション作成用の、オープンソース C++ ready2ware ツールキット。
- COANIM (the Collaborative Animator)
AGAVE 上で 3D コンテンツを表示するためのアプリケーションです。AGAVE の背後にある全体的なコンセプトは、共同制作者が 3D コンテンツを共有できるよう、立体的なコンピュータ グラフィックスのプロジェクトに使われる Access Grid ノードに、低コスト PC ベースのグラフィックス ワークステーションを付け加えることです。
- Coin C++ アプリケーションプログラミングインタフェースを備えた高性能 3D グラフィックスライブラリです。Coin では、ほとんど全種類の科学・工学の可視化アプリケーションに適したリアルタイムのグラフィックスを描画する、シーングラフデータ構造が使われています。
- Agave:
アクセス グリッド拡張仮想環境。
-
Linux の KDE は C++ で書かれています。
K デスクトップ環境は Unix ワークステーション用の強力なオープンソースデスクトップ環境です。Linux の主要なデスクトップ環境の 1 つです。C++ で書かれた約 300 の異なるパッケージが含まれており、オフィススイート、ブラウザ、開発ツール、ゲーム、マルチメディアアプリケーションが含まれます。
-
主要な弾道ミサイル防御システムは C++ を使って出来ています。
-
電話システム: 少なくともここヨーロッパでは、C++ で書かれていないシステムを挙げるほうがほとんど容易だろうと思います:
- C++ は Alcatel通信システムに使われている唯一の開発言語であり、ネットワーク管理 (ILog Vies を使用) と実際の通信機器の両方に使われています。ドイツ (フランクフルト、ベルリン、ミュンヘン、および北ドイツのどこか——私が思うにケルンかハンブルク) における主要通信ノードである FWIW は 100% C++ です。ドイツの異なる地域間の電話通信すべてが、このマシンの 1 つを通過します。
- T-Mobile (ドイツ最大の携帯電話業者) は、料金請求システムと WAP ポータルの大半——動的 IP アドレス割当てなど——との両方に C++ を使っています。
言い換えれば、ドイツで電話を使う誰もが C++ で書かれたコードに頼っているということです——多くのユーザーがいます :-) 。何を以てユーザー数を決めればいいでしょうか。ドイツ (そして私はフランスも同様だと強く確信しています) における主な電話通信ノードは C++ で書かれています。この国で電話を使わないような人の想像がつきません——つまり、8 千万人 (フランスも併せれば 1 億 4 千万人) の C++ ユーザーがいるという計算になるでしょうか。
-
SETI@home
データを分析し地球外生命体のサインを見つける、巨大な共同プロジェクト。一部が C++ で書かれています。
-
Web 開発サポートライブラリ Poco。
Poco 利用者の一覧 です。
訳責:長尾。許可を頂いて翻訳・公開しております。誤訳等、この日本語訳に関するお問合せは こちら までお願いします。