C++Builder(C++ビルダー)とは
C++Builderは、エンバカデロ・テクノロジーズが提供するC/
C++統合開発環境(IDE)です。同社の代表製品である
Delphiの
C++版と位置づけられ、
RAD(
Rapid Application Development)ツールとして、フォーム上にGUIウィジェットを配置するスタイルで直感的なユーザーインターフェース(UI)設計が可能です。
元々は
ボーランド(後のインプライズ)で開発され、コードギアを経て、現在のエンバカデロ・テクノロジーズに至ります。
ボーランド時代には「Borland
C++Builder(BCB)」とも呼ばれていました。
概要
C++Builderは、FireMonkey (FMX) や
Visual Component Library (VCL)といったGUIライブラリを利用するIDEを持ち、
C++コンパイラには独自の拡張が施されています。
統合開発環境は
Delphiとほぼ同一であり、
Delphiのノウハウを
C++開発に応用できるメリットがあります。
長所
- - C/C++でプログラムを記述できるため、既存のC/C++コード資産を有効活用できます。
- - 単一のコードベースとプロジェクトチームで、Windows、macOS、iOS、Androidといったマルチプラットフォームに対応できます。
- - RAD環境でありながら、Visual Basicのようなランタイムライブラリの別途配布が不要で、実行ファイルに結合できます。
- - Qtなどのフレームワークと比較して、ランタイムライブラリを結合しても実行ファイルのサイズが小さい傾向があります。
- - `dynamic_cast`の展開がVisual C++よりも高速です。
- - ANSI C、ISO C、C99、C11、ISO C++、C++98、C++0x TR1、C++11といったC/C++標準規格に準拠しています(XE4以降)。
- - Delphi由来のプロパティのようなオブジェクト指向言語向け拡張機能により、標準C++よりもGUIアプリケーション開発との親和性が高いです。
- - 無料版が提供されており、手軽に試すことができます。
- - 日本語版が提供され、日本語ヘルプなどの情報も充実しています。
短所
- - 64ビット対応は、WindowsとiOSのみに限られています(Delphiは全プラットフォームで64ビットに対応済み)。
- - コンパイラ自体の最適化性能はVisual C++などと比較して低い場合があります。
- - ランタイムライブラリを結合すると、実行ファイルのサイズが大きくなる場合があります(バージョン5では最低でも500KB程度)。
- - Windowsの開発環境として、Visual Studio (Visual C++) よりもマイナーであり、Delphiと比較しても知名度が低い傾向があります。
- - Visual C++のインテリセンスと比較して、コード補完機能のレスポンスが遅い場合があります。
歴史
C++Builder 1から5
最初の
C++Builderは1997年2月26日にリリースされました。
Delphiとのバージョン番号を合わせるため、
C++ Builder 2は欠番となっています。
2022年2月26日には、25周年を記念して
C++Builder 1.0 Professional(
英語版)がアンティークソフトウェアとして無償公開されました。
C++Builder 6
2001年にリリースされたバージョンでは、GUIライブラリにVCLに加え、
クロスプラットフォーム対応の
Component Library for Cross Platform (CLX)が導入されました。CLXはWindowsとGNU/
Linuxをサポートしましたが、GNU/
Linuxでの開発は別製品のKylixのみでした。CLXが搭載されたのはこのバージョンのみで、以降のバージョンには採用されませんでした。
C++BuilderX路線
Delphiの進化に合わせて
C++Builderの対応が遅れ、
ボーランドの
C++統合開発環境は、
Javaで実装されたJBuilderベースの「
C++BuilderX」へと移行しました。これは
RADではなく、組み込み機器や
サーバサイドをターゲットとしたものでしたが、この路線は成功しませんでした。
復興運動からTurbo C++
2004年、
C++ Builderユーザーが新製品の開発を促した結果、
ボーランドは「
C++ Builderコミュニティへの公開書簡」でこれに応じました。
2005年には「
C++ Builder 2006」がリリースされ、
2006年には「Turbo
C++」として単体化されました。無料版も提供されましたが、プログラミング
言語は一つに限定されていました。
C++ Builder 2007
2007年にはWindows Vistaに対応した「
C++ Builder 2007」が発表され、統合版「CodeGear
RAD Studio 2007」にも含まれました。
C++ Builder 2009
2008年には、文字列が全面的に
Unicodeに対応した「
C++ Builder 2009」がリリースされました。
C++ Builder 2010
2009年には、新しいIDE機能やデバッグツールが搭載された「
C++ Builder 2010」がリリースされ、タッチ対応アプリケーション開発のサポートが追加されました。
C++ Builder XE
2010年には「
C++ Builder XE」が発表され、
クロスプラットフォーム開発を目指しましたが、不完全だったため見送られました。Starterエディションも発表され、商用利用の制限が緩和されました。
C++ Builder XE 2
2011年には「
C++ Builder XE 2」が発表され、FireMonkeyフレームワークが導入され、HDや3Dに対応したUI設計やMac OS X向けのマルチプラットフォーム開発が可能になりました。
C++ Builder XE 3
2012年には「
C++ Builder XE 3」が発表され、タッチ対応やライブタイルをサポートしたWindows 8アプリケーションの開発が可能になりました。また、
64ビットコンパイラが追加されました。
C++ Builder XE 4
2013年には「
C++ Builder XE 4」が発表され、前バージョンからのアップグレード料金が格安に設定されました。
C++ Builder XE 5
2013年には「
C++ Builder XE 5」が発表され、iOS開発機能が追加されました。Professional版ではMobile Add-On Packの別途購入が必要でした。
C++ Builder XE 6
2014年には「
C++ Builder XE 6」が発表され、Android開発にも対応しました。モバイル開発にはMobile Add-On Packが必要でした。
C++ Builder XE 7, XE 8
それぞれ
2014年と
2015年にリリースされ、機能拡張や
コンパイラの追加が行われました。
C++ Builder 10 Seattle
2015年に発表され、
Clangベースの新しいWin32
コンパイラが追加され、Win32/Win64でほぼ同一のコードを記述できるようになりました。
C++ Builder 10.1 Berlin
2016年にはAndroid 6.0、iOS 10、macOS 10.12に対応しました。Starter Editionが無料提供され、
C++Builderと
Delphiを同じ環境で利用できるようになりました。
C++ Builder 10.2 Tokyo
2017年には
Clangベースの
コンパイラのパフォーマンスが向上し、Professional Editionにモバイルサポートが追加されました。
C++Builder Community Editionが無償で公開されました。
C++ Builder 10.3 Rio
2018年にはStarter Editionが廃止され、
C++17に対応しました。
C++ Builder 10.4 Sydney
2020年には、Windows用
64ビットコンパイラが
C++17に対応し、LLDBベースの新しいWin64
C++デバッガが追加されました。
C++ Builder 11 Alexandria
2021年には、IDEが高DPIに対応し、フォームデザイナがVCLスタイルでレンダリングされるようになりました。iOSデバイス32bit用
コンパイラが廃止されました。
C++ Builder 12 Athens
2023年にはiOS
64ビットとAndroid
32ビットプラットフォームのサポートが終了し、プレビュー
コンパイラとして
Clang 15対応のBCC64Xが追加されました。Visual Assistが統合され、VCLのMDIサポートが強化されました。
2024年にはBCC64Xが正式に利用可能となりました。
今後のC++Builder
macOSの
64ビット対応は、A
RM64(Apple Silicon)への直接移行が検討されています。
C++Builder Community Edition
10.2 Tokyoから完全無料版のCommunity Editionが提供されており、有料版と同等の機能を持ち、複数のプラットフォームの開発が可能です。
過去の無料版
過去には、
C++BuilderX Personal、Turbo
C++ for Win32 Explorer、
C++Builder 10.1 Berlin Starter Editionなどの無料版が提供されていました。
GUIライブラリ
Windows専用のGUIライブラリで、
C++Builderの全バージョンで採用されています。Windows固有のプログラミングテクニックが通用しやすく、高機能なライブラリですが、XEからはATLライブラリが付属しなくなりました。
FireMonkey (FMX)
クロスプラットフォームのGUIライブラリで、Windows、macOS、Android、iOSに対応します。VCLとの互換性は低く、VCLの完全な代替にはなりませんが、
Delphiと異なり、
C++BuilderではiOSシミュレータは使用できません。
WindowsとGNU/
Linuxに対応した古いGUIライブラリで、
C++Builder 6で採用されました。現在は採用されていませんが、VCLとの互換性が高く、一部機能は現在でも有効活用できます。
その他
2000年には、Borland
C++ Compiler (BCC) 5.5が公開され、無償のC/
C++コンパイラとして広く利用されました。
C++Builderの新しい版ではMFCやDirectXもサポートしています。また、
Delphiや
C++Builderの開発者の一部は
マイクロソフトに移籍し、C#
言語やVisual C#などの開発に携わっています。
2016年には
ClangベースのFree
C++ Compilerが公開され、
2018年には
C++Builder Community Editionが公開されました。