4月のある日,高校1年生となったこうしろうとともにボーランドのDelphi 6の勉強をはじめた。Delphi 6 Personal版は同社のWebから無料でダウンロードして利用することができる。同じく無料でダウンロードできるBorland C++コンパイラはコマンドプロンプトなどで利用するコマンドライン・コンパイラだが,Delphi 6 Personalは統合開発環境である。ちょっと古いバージョンとはいえ,本格的な開発環境をフリーで使えるのだからありがたい。もちろん,これで作成したものを販売してはいけないなどの制限はある。

 これがDelphi 6 Personalの開発画面だ。データベースにアクセスする部品が付いていないとはいえ,付属しているコンポーネント(部品)が少ないわけではない。Standard,Additional,Win32,・・・と連なるタブにたくさんのコントロールが用意されている。

 Delphiの言語はObject Pascal,17世紀のフランスの数学者パスカルの名前を持つ古いPascal言語をオブジェクト化したものである。Pascal言語は1971年にスイスの大学教授が教育用に開発したものである。そのためか,文法は厳格でわかりやすいが,くどくどとした感じもする。

 Delphiについて解説してあるWebページを複数ながめ,こうしろうと一緒に最初のプログラムを作る。

 フォームにボタンなどのコンポーネントを貼り付け,ダブルクリックしてコードを書いていく方法はマイクロソフト社のVisual Basicなどと同じである。

 TForm1.Button1Clickイベントに,ShowMessage('Hello!');と書いた。まず,「ありゃ,そうなの」と思ったのが複数行のコメントを{ }で表すこと。C言語では関数の開始,終了やforループなどの適用範囲を示す{ }がコメント行の開始と終了を示すのである。では,C言語の{ }に変わるのは何かというとbeginとend.になる。procedure(プロシージャ)の開始,終了やforループなどでもbeginとend.を使う。

 「プログラムはあがり症で,酒飲んでからテレビで歌をうたうグループとend.だらけになる」などとくだらないことを言って楽しい勉強会を目指すのだが「はい,ビギンね」と高校生はさりげなくかわす(筆者はそんなビギンがなんとなく好きだ)。パチパチとノートPCの薄っぺらなキーボードをたたく音だけが響く,淡々とした時間が流れる。こうしろうが小学生だった頃の盛り上がったマインドストーム・タイムが懐かしく思い出される。

 単一行のコメントを//で表すのは,C++と同じである。

 実行し,ボタンを押すとメッセージボックスにHello!と表示される。文字列をダブルクォートではなく,シングルクォートでくくるのも特徴的である。
 自分で入力したコードはコメントと,showMessageの1行だけだが,フォームには次のようなコードが自動的に記述されている。

---------------------------------------------------------------
 
 unit Unit1;
 
 interface
 
 uses
  Windows, Messages, SysUtils, Variants, 
    Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
 type
  TForm1 = class(TForm)
   Button1: TButton;
  procedure Button1Click(Sender: TObject);
  private
   { Private 宣言 }
  public
  { Public 宣言 }
  end;
 
 var
  Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
  {
   複数行の
   コメント
  }
  //  1行のコメント
  ShowMessage('Hello!');
  end;
 end.

---------------------------------------------------------------
 interfaceやclass,Senderなどの単語がオブジェクト指向言語らしさを醸しだす。これから詳しく勉強していくことになるのだが,オブジェクト指向に真っ向から立ち向かわなくても,コンポーネントを中心にプログラミングを始められることも,Delphiのいいところかもしれない。