CodeGearでコードフリークになろう!
アプリケーションはやっぱりコーディングが命だと考えるあなたへ
著者:シンクイット編集部
公開日:2008/03/26(水)
「手軽」なDelphiと「深遠」なるC++
Delphiは「入門者向けに最適な言語」といわれることがあるが、その大きな理由は言語そのものの「わかりやすさ」だという。Delphiは、プログラミング教育で多く用いられているPascalをオブジェクト指向に拡張した「Object Pascal」をベースにしており、その構文は「厳格性」や「高い可読性」といった特長がある。さらに、現在のプログラミング言語の主流である「オブジェクト指向」にも対応している点も大きなメリットだ。
特にDelphiでは各オブジェクトを独立性の高い「コンポーネント」という概念で扱っている。このためオブジェクト指向にはじめて接した人でも容易に理解でき、さらに高度なプログラミングへと展開できる。
一方、本記事で紹介する「C++Builder」も、Delphiと同じくオブジェクト指向に対応したプログラミング言語「C++」を扱える開発ツールである。このC++Builderは「Turbo C」という非常に大ヒットした製品からすでに20年近くの歴史を持つCodeGear/ボーランドのC/C++開発ツールとして、長年にわたって多くのユーザに親しまれている。
言語トレンドからすると「CやC++はもはや主流ではない」という意見もある。しかし「CodeGearでは今後も堅調な市場であると認識しており、今後も強化していくべき分野だと考えています」と藤井氏は言う。
「C++に対する強化の1つとして、C++のANSI標準に関わっているAlisdair MeredithをC++Builderのプロダクトマネージャに迎えました。彼の参画によって、ANSIを含め、コンパイラレベルからのさらなる強化を加速していく考えです。C++市場については、フリーで提供している『C++ Compiler』を、現在でも毎日たくさんの方がダウンロードしており、需要の高さを表していると思います」
図2:メインのコーディングに集中できるC++Builder
(画像をクリックすると別ウィンドウに拡大図を表示します)
C++Builder〜プログラマの力量を発揮するために〜
C++Builderについて語る前に、改めて「CとC++の違い」について考えてみよう。C++は、文字通りC言語のオブジェクト指向拡張で、C言語にオブジェクト指向プログラミングをもたらしたものだ。現在、「C、C++」という言い方でひとくくりにされている言語需要には、Cでなければならない部分とC++でなければならない部分が含まれる。「Cでもいいけれど、C++じゃないといけない」という部分は、主にGUI開発の部分、さらに豊富なC++ライブラリを使う部分である。
一般的にWindowsでGUIを作成するためには、WindowsのAPIまたは、WindowsのAPIをラップしたフレームワークを使う必要がある。しかしC++では、「Hello World」と画面に表示するだけでも、GUIを含めた場合には何十、何百行のコードを書かなくてはならない。
実際にC、C++でプログラミングを行ったことのないプログラマから見れば、「なぜそうまでしてC、C++を使うのか」という疑問を持つのではないだろうか。それに対し、C、C++のプログラマの多くは、「プログラムの中に書くコードがC、C++でなければいけないからだ」と答える。
理由の1つは、マシンレベルに近いコーディングだ。Cは「高級言語の中での低級言語」、つまりもっともマシンのハードウェアに近い位置にある高級言語であり、マシンパワーを最大限活かしたアプリケーションを開発したり、ハードウェア制御を行うようなプログラマに多く活用されている。
しかしその一方で、このような言語要求とは直接結びつかない「GUIの作成」という面倒な作業が発生するのも事実である。
この面倒なGUIの作成を強力にサポートしてくれるのが「C++Builder」というツールである。「C++でGUIベースのアプリケーションを開発する」という点で、C++Builderは唯一のビジュアル開発、いわば「リアルビジュアルデベロップメント」が可能なツールといえる。
こちらのビデオは、C++Builderのビジュアル開発の手順を紹介している。C++のコードを使いながらも、ドラッグ&ドロップの効率的な画面設計で開発を進めている様子が分かる。
C++Builderを利用することで、GUI作成の省力化とマシンパワーを活かしたプログラミングの両立が可能になる。さらにC++の世界にはオープンソースのものをはじめとして、さまざまな機能を持つ豊富なライブラリが存在している。つまりC++Builderならば、これらのライブラリを活用した高機能なアプリケーションをビジュアル開発環境下で構築できるのである。
藤井氏はこのメリットについて次のように語る。
「C++Builderを使っていないプログラマは、C++を使いたいがために泣く泣くGUI用の何百行もの余分なコードを書いている、という実情があるのです。それに対するC++Builderのメッセージは『GUIの部分はツールに任せ、本来のプログラミングを楽しみましょう』というものなのです」 次のページ