なぜC++?でもC++が実感できるC++Builder
CやC++は、プログラマであれば欠かせない言語であったり、いざというときの飛び道具であったり、あるいは、「いつかはクラウン」ならぬ「いつかはC++」みたいなあこがれだったり、頭のどこかには意識している著名な言語だと思います。時代はWeb 2.0だ、スクリプト言語だ、といわれても、組み込みやパッケージアプリケーションをはじめ、根強い人気があります。
CodeGearというかボーランドは、C/C++コンパイラの老舗であり、Turbo CにはじまるC/C++コンパイラ製品を多く世に出してきました。私がボーランドに入社したころに登場したC++Builderは、その中では異色の存在でありながら、実は非常に画期的なツールでした。
C++Builderを一言でいうならば、Visual BasicやDelphiのような操作でユーザーインターフェイスやデータベースアクセスをビジュアルに開発できながら、C/C++を100%使い切ることができる、というツールです。Cで記述する高級アセンブラのような処理であるとか、C++のライブラリなどを活用したプログラミング資産などはそのままに、面倒な画面まわりだけ、ビジュアル操作でひょいひょいと(しかもそれがC++のクラス/コンポーネントであり)、というわけです。
そういう特徴からか、複雑なグラフィック処理を行うアプリケーションや、特殊な処理、ハードウェアに関連するような処理を伴うアプリケーションなどの開発に多く用いられています。肝心な処理は妥協せずに、画面まわりは楽できるんですね。
さて、そんなC++Builderの最新バージョンC++Builder 2007ですが、Vistaサポートが新しく加わっています。このVisatサポートの肝は、Vistaをサポートではなく「Vistaも」サポートという点です。これは、Delphi 2007にも共通するのですが、Vistaのサポート機能を、ヘルパークラスのような手法を使って、既存のコンポーネントの付加機能として変更を追加しています。それによって、従来のコンポーネントの書き換えを必要とせず、Vistaサポートのような新機能を使える。もちろん、それは、Vistaでのみ有効で、XPや2000では、それらの新機能は使われないようにできるのです。先日来日したAllen Bauerは、この手法を「ノンインターフェイスブレーキングリリース」と呼んでいました。
細かい機能一覧等は、まだ米国でも公開していないので、確定情報としてなかなか書くことができませんが、おおよそ以下のような機能を予定しています。
- VistaおよびXPテーマをサポートした統合開発環境
- Dinkumware およびBoostサポート、ANSI/SICO C++標準準拠のCodeGear C++ Compiler 5.9
- C++Builder 3、4、5、6、2006プロジェクトのインポート
- Windows VistaとXP、2000をシームレスにサポートするビジュアルコンポーネントVCL
- Windows Vistaの新しいダイアログコンポーネント – TTaskDialog、TFileOpenDialog、TFileSaveDialogの搭載
- MSBuildによる柔軟なビルドシステム
- 大幅に改善されたIDE上でのビルド時間
- ユニットテスト機能の統合
- 操作性がさらに改善されたビジュアルデバッガ
- DBX 4データベース接続フレームワーク
- InterBase 2007、MySQL 4.1/5.0、Oracle 10g、SQL Server 2000/2005、Informix 9.x、IBM DB2 8.x、SQL Anywhere 9、Sybase 12.5への接続サポート
- Webアプリケーション開発 VCL for Web
- インターネット標準をサポートするIndy v10コンポーネント
- TogetherテクノロジーによるC++コードの可視化
- ユースケース図、シーケンス図などのUMLモデリングのサポート
こちらは、C++コードからUML図を自動生成して表示してみたところです(小さくて申し訳ない。大きいバージョンは近日中にwww.codegear.com/jp で)。