エンタープライズ:特集 | 2003/07/04 17:20:00 更新 |
C MAGAZINE 2002年8月号より転載
プログラムのレシピ――プログラミングの考え方・作り方 (3/13)
プログラミングを楽しむための準備(2) 開発環境選び |
プログラミングを始めるにあたって、まずはそのための道具である「開発環境」を用意しなくてはなりません。世の中には実にいろいろな開発環境があって、それぞれに特徴があります。本稿では「使いやすく、安いもの」を選ぶことにしましょう。
どの開発環境にも得意/不得意がありますから、作りたいものによって開発環境を選ぶ必要があります。たとえば本稿で製作するのは、「グラフィックエディタ」「テキストエディタ」「メーラ」「デスクトップアクセサリ」などといった「ツール系」のプログラムです。この場合は、ツールが簡単に作れる開発環境が適切ですね。
プログラムのターゲットOSも決めておきましょう。Windows、Mac OS、Linuxなどがありますが、本稿ではもっとも利用者が多いWindowsにします。Windowsなら開発環境の選択肢が豊富ですし、作ったプログラムを発表したときの反響も大きいはずです。もちろんほかのOSでもプログラム作りの方法論は同じですから、ほかのOSをお使いの方も本稿を参考にしてくださいね。
開発環境の候補 |
「Windowsでツールを作る」ための安価な開発環境の候補としては、次のようなものがあります。
●Borland C++ Compiler(無償)フリーの32ビットC/C++コンパイラです。C/C++言語を学ぶためには絶好のコンパイラといえます。ただしGUIを使ったツールを簡単に作るためのライブラリはありません。この場合Win32 APIを使うことになるので、それなりの知識と労力が必要です。Borland C++ CompilerはBorlandのWebサイトからダウンロードできます。また、本誌付録CD-ROMにも収録されています。
●C++Builder(1万円〜)Windows用のRAD(Rapid Application Development)環境です。高機能で使いやすいライブラリと各種の支援ツールを備えているので、GUIアプリケーションをすばやく作るのに向きます。ベースの言語はC/C++なのでメジャーな言語ですし、プログラムの動作も高速です。おそらく、WindowsのGUIアプリケーションを楽に作る環境としては最良のものの1つでしょう。
C++Builderは残念ながら無償ではありませんが、入門者向けのPersonal Editionが安価で手に入ります(ただし、入門者向けのため商用/業務用には使えません)。
●Delphi (無償〜)C++Builderの兄貴分にあたるWindows用のRAD環境です。ライブラリやツールはC++Builderと共通ですが、C++Builderのベース言語がC/C++なのに対して、DelphiはObject Pascalです。GUIアプリケーションの作りやすさではどちらも同等に優れています。Delphiの利点は無償版が用意されていることで、欠点はObject PascalがC/C++に比べるとマイナーなことです。
DelphiはPersonal EditionがBorlandのWebサイトから無償でダウンロードできます。なお、Linux向けのDelphiとしてはKylixがあり、こちらもOpen Editionは無償です。
●Java 2 SDK(無償)いわゆるJDK(Java Development Kit)で、Java開発のもっとも基本的な環境です。Javaのメリットは、Windows/Mac OS/Linux/Solarisなどマルチプラットホームで動作するプログラムが作れることです。言語やライブラリも使いやすく、初心者でもすんなり始められます。GUIアプリケーションを作るのも簡単です。その反面、動作速度が遅いとかOSに密着した機能が使えないといった欠点もあります。
JDKはSunのWebサイトからダウンロードできるほか、本誌付録CD-ROMにもたびたび収録されています。Standard Edition、Enterprise Edition、Micro Editionなどがありますが、StandardEditionがお勧めです。
●LSI-C試食版(無償)MS-DOS時代に多くのホビープログラマが愛用した、フリーのCコンパイラです。16ビットコンパイラでC++にも対応していないので、今から使うならばBorland C++ Compilerのほうがお勧めです。でも、ちょっとしたMS-DOSツールを作るには相変わらず便利です。
LSI-C試食版はエル・エス・アイジャパンのWebサイトからダウンロードできます。
●Perl (無償)Perlはスクリプト言語の代表格です。「ごった煮」的にいろいろな機能を備えた言語なので、さまざまなプログラムが簡単に書けます。得意分野はCGI(Common Gateway Interface)プログラム、テキスト処理、システム管理などです。ライブラリを活用すれば、WindowsのGUIアプリケーションを作ることもできます。ただし、実行速度の面ではC/C++などにはかないません。
Windows用のPerlは「Perl for Win32」と呼ばれるもので、「ActivePerl」という製品の一部として配布されています。ActivePerlは、ActiveState CorporationのWebページからダウンロードすることができます。
●Ruby(無償)Rubyは、まつもとゆきひろ氏が開発した純国産のスクリプト言語です。洗練されたオブジェクト指向プログラミング機能を持ち、ライブラリの機能も豊富でPerlにひけをとりません。得意分野はPerlのそれに近く、CGI/テキスト処理/システム管理/ネットワークプログラミングなどです。
Rubyはフリーソフトウェアです。公式Webサイトからダウンロードして、無償で利用できます。
●Visual Basic(1万円強〜)Visual BasicはWindows用のRAD環境です。WindowsのRAD環境としてはもっとも初期に登場した製品で、使いやすさと習得のしやすさには定評があります。GUIアプリケーションが簡単に作れるので、フリーソフトウェアにもVisual Basicで作られたものがたくさんあります。難点は実行速度が遅いことです。またベースの言語はBASICですが、初めて学ぶ方はC/C++やJavaのほうが、ほかへの応用がききます。
Visual BasicはVisual Basic .NET Standardが安価に手に入りますが、使用にはWindows 2000/XPまたはNT4.0が必要です。Windows 95/98/Meで使用するには6.0 LearningEditionが必要で、2万円強とやや高価です。
●Visual C++(1万円強〜)Visual C++はWindows用のC++統合開発環境です。業界標準の地位を確保している製品なので、最新テクノロジへの対応が早いことがメリットです。コンパイラやデバッガといった基本機能も充実しています。欠点は、C++BuilderやDelphiのようなRAD環境ではないため、GUIアプリケーションの構築にはやや労力がかかることです。
Visual C++はVisual C++ .NET Standardが安価ですが、Visual Basicと同様、Windows2000/XPまたはNT4.0が必要です。Windows95/98/Meでも使える6.0 Standard Editionは2万円強です。
●Visual C# .NET Standard(1万円強〜)C#はMicrosoftが作った「Javaライク」なプログラミング言語です。Visual C#はC#をベースにしたWindows用のRAD開発環境で、DelphiやVisual Basicと同様にGUIアプリケーションを簡単に作ることができます。欠点は速度が遅いことと言語がマイナーなことです。とくに初心者の方には学びやすくメジャーなJavaをお勧めします。
Visual C#はVisual C# .NET Standardが安価に手に入ります。Visual BasicやVisual C++とあわせて利用する場合には、Visual Studio .NETを購入するのもよいでしょう。
本稿で使う開発環境について |
開発環境は「箸(はし)」のようなものなので、人それぞれに好みがありますし、気に入ったものを自分で見つけるしかありません。幸い最近は無償の製品が増えていますし、体験版や評価版もありますので、まずはいろいろ使ってみるのがいちばんです。
本稿では、なるべく特定の開発環境に依存せずに汎用的な情報を提供します。とはいえ、それではあまりに説明が抽象的になってしまいますから、メインの開発環境を決めておかなくてはなりません。
いろいろ迷ったのですが、「C++Builder」をメインに使うことにしました。理由は次のようなことです。
・Windows用のGUIを使ったツール系アプリケーションが作りやすいことWindowsでもっとも代表的な開発環境はVisual C++ですが、GUIアプリケーションを作るには知識と労力を要します。
・ベース言語がメジャーなC/C++であること
とくに初めて学ぶ方は、Object PascalよりもC/C++を学んだほうが利益が大きいでしょう。C++Builderと同じライブラリを使ったDelphiは無償なのが魅力ですが、Object PascalはC/C++に比べるとマイナーです。
・プログラムの実行速度が速いこと
JavaやVisual Basicは実行速度が遅いのが難点です。とくに作ったプログラムを公開したときには、高速なプログラムのほうがよい評価を得られるでしょう。
・安いこと
無償にはかないませんが、1万円は開発環境としては非常に安い部類だと思います。
〜〜 ということで、本稿が掲載するプログラム例はC++Builder 6 Personal用です。とはいえ、可能な限りC++Builderに依存せずに「プログラムをどう作るか」という一般的な話を書くつもりですので、ほかの開発環境をお使いの方にも参考にしていただけるかと思います。とくにDelphiユーザの方は、ライブラリやツールがC++Builderと共通なのでわかりやすいでしょう。まだ開発環境をお持ちでない方には、C++BuilderやDelphiをお勧めしておきます。
C++Builderの基礎知識 |
C++Builderを使うにあたって、C++Builder独特の概念をいくつか説明しておきましょう。これらのほとんどはDelphiと共通です。また、Visual BasicやVisual C#も基本的な仕組みは同じです。
●コンポーネント
GUIアプリケーションを作るために必要なボタンやメニューといった部品のことです。タイマや通信モジュールなど、画面に表示されないコンポーネントもあります。C++Builderでは、コンポーネントを画面上にレイアウトして、アプリケーションのユーザインタフェイスを構築します。
Fig. 1はC++Builderの画面です。画面中央やや左上にあるのが、コンポーネントをレイアウトするためのウィンドウです。
●VCLC++Builderのライブラリは数々のコンポーネントを集めたもので、VCL(Visual Component Library)と呼ばれます。VCLはもともとDelphiのライブラリで、C++BuilderのコンポーネントはこれをC++から呼び出せるようにしたものです。
C++Builderの上位版には、VCLのほかにCLX(Component Library for Cross Platform)というライブラリもあります。CLXはKylixと共通のライブラリで、Windows/Linuxのクロスプラットホームに対応します。
●プロパティコンポーネントの属性です。プロパティを設定することによって、コンポーネントの外観や動作をカスタマイズすることができます。プロパティの設定には、Fig. 1の左下にある「オブジェクトインスペクタ」というツールを使います。
●イベントプロパティと同じく、コンポーネントの属性です。イベントは、コンポーネントに対してマウス操作やキーボード操作が行われたときに発生します。「イベント処理」を記述することによって、イベントに対するコンポーネントのふるまいを定義できます。イベント処理の追加にもオブジェクトインスペクタを使います。
前のページ | 1 2 3 4 5 6 7 8 9 10 11 12 13 | 次のページ
[松浦健一郎(ひぐぺん工房),C MAGAZINE]
Copyright © ITmedia, Inc. All Rights Reserved.