Delphiによるプログラミングに関する世界観です。
フリーソフトの開発に使われることが多い。昔のDelphi 6は無料版があったため一部のフリーソフトユーザーに大人気だった。
後日注記:僕も、最初はDelphi 6の無料版でプログラミングを始めました。その後にDelphi 7を購入しました。
Delphiでは、まず、RAD(ポトペタとも呼ばれる。VBなどのようにウィンドウをグラフィック操作で実際に表示されるような画面で編集できるエディタのこと)なフォームデザイナーを使ってフォームにコンポーネントを配置します。プロパティの値を変えれば、フォームデザイナー上のコンポーネントに即座に反映されます。
また、コンポーネントのイベントにコードエディタで作成したコールバック関数を登録します。この関数の中で、コンポーネントのプロパティを変更したり、コンポーネントを動的に作成することもできます。もちろん、計算や条件分岐・繰り返しなどの構文も可能ですが、そのためにはObject Pascalという言語を使います。コードエディタでは自動補完のような機能を使うことができ、またイベントエディタ(オブジェクト インスペクタ)の項目をダブルクリックすることでコードエディタを開いて自動的に関数を作ることもできます。
コンポーネントを自分の手で開発することもできます。たとえば2ch専用ブラウザのOpenJane Doeがやっているように、IEコンポーネントを使わずに、ネットワークからダウンロードしたデータを整形して、ビューに表示する軽量なビューコンポーネントを作成したりすることが考えられます。
DelphiではObject Pascal言語を使います。この言語はとても洗練されており、Pascalという教育用言語をオブジェクト指向に拡張したもので、冗長に見えるところもありますが可読性に優れており、BASICなどに比べて生産性が高いことで有名です。
また、Windows APIに比べてはるかに機能的で使いやすいVCLというライブラリを提供しており、これを使ってプログラミングを行うことができます。C++を使いたい場合は、C++でVCLの使えるC++ Builderなどの製品もあり、人気です。近年ではクロスプラットフォーム性も重要視されていて、(少し古い情報になりますが)昔リリースされていたKylixというLinux版のDelphiを使うことで、Delphi/VCLで書かれたアプリケーションをLinux/CLX向けに展開することができました。
Delphiの一番の特徴は、「フォームにパネルを追加して、プロパティとイベントをいじながら、コード補完でコードを書いていくだけで、簡単にプログラムが書ける」ということです。
実際のところ、テキストエリアやツリービューのようなパネルをどんどん追加していって、プロパティをいじるだけでUIをいじることができます。
その上で、コードエディタでDelphiの分かりやすいコードを書いて、VCLのとても整然としたライブラリのクラスやメソッドを、それも覚えやすく規則的なメソッドや型を追加していくだけで、プログラムが完成します。
決して簡単ではありません。独自にコンポーネントを作るためには、それなりの知識と技術が必要です。
ですが、僕はこうしたDelphiの特徴が大好きで、本当に素晴らしいと思います。僕はMicrosoft製品の中ではC#が好きですが、Delphiの開発陣を引き抜いて開発しただけはあると思います。Delphiは最高です。
僕は、WindowsのGUI開発ツールとしては、Delphiは最高だと思っています。
既に買収された旧ボーランドの製品です。ボーランドの製品には、C++でVCLライブラリの使えるC++ Builderなどもあります(こちらも人気でした)。
Delphiでは、Pascalをオブジェクト指向に対応させたObject Pascalと言う言語でコードを書きます。
PascalについてはPascalを参照のこと。
Delphiでは、ソフトウェアをネイティブ・コンパイルし、ネイティブな実行ファイルを作ります。そのため、フリーソフトのような開発と配布に向いています。
Delphiで作ったアプリケーションは、高速・軽快に動作します。その上、コンパイル速度も速いことで有名です。
DelphiはPascalという言語をベースにしていますが、Pascalは教育用として優れた言語で、教育用言語としてはBASICのライバルです。
Visual BasicとDelphiのインターフェースや開発・管理・設定のスタイルは良く似ています。ですが、「簡単な言語」というイメージのBASICと比べ、「読みやすく、理解しやすく、コンピュータ技術とはどういうものなのか、プログラミング言語での開発とはどういうものなのかを学ぶ」という意味で、僕はDelphiの方に分があると思います。
Visual Basicと似ているのは、コードデザイナーでの開発の方法や、プロパティやイベントなどの登録の方法も同じです。僕はVBを触る以前にDelphiを触ったため、「こんなにも分かりやすく便利でコンピュータのことが良く分かる環境はない」と思いました。今、VB.NET/C#を触っても、その想いは変わっていません。Delphiが一番優れたツールだと思います。
僕は昔、Delphiの応用として(と言って良いかは分かりませんが)、C#とWindows.Formsの開発が好きでした。これは、C#の開発陣にDelphiの開発メンバー幹部をマイクロソフトが引き抜いたことに理由があると思います。DelphiとC#は、理想が同じです。Delphiの魂が分かる人には、C#の良さも分かると思います。
BASICやVisual BasicやC#やTypeScriptも参照のこと。
DelphiのVCL/CLXライブラリは、高度なオブジェクト指向の使いやすいライブラリとして人気があります。
素のWindows APIやMFCを使うよりも、はるかに分かりやすくて、使いやすいです。
Delphiはたくさんのコンポーネントが(有料ですが)付属しています。
Delphiには、フォームデザイナーが付属しています。VBなどと同じように簡単に開発出来ます。
コンポーネントの追加は直感的で、イベントやプロパティの操作も使いやすいです。
Delphiのコードエディターでは、Delphi言語(Object Pascal言語)でコードを書いていきます。
Dephiでは、イベントやプロパティの操作が直観的であり、登録や値の変更をGUIで行うことが出来ます。
Delphiはイベントに応じたメソッドなどの登録と実行を、「イベントドリブン」で行うことができます。VBに負けない特徴ですが、VBよりも洗練されたコンポーネントを使って、イベント駆動を高度に行えます。これはとてもパソコンの仕組みとプログラミングの方法を分かりやすく、エレガントに教えてくれます。
メニューやツールバーなどのコンポーネントとアクションリスト(メソッドの登録一覧のようなもの)のようなコンポーネントを使うことで、とても直感的にウィンドウプログラミングが行えます。また、ネイティブな実行ファイルを吐くこと、そして軽くて高速であることはとても大きな強みです。
Delphiを使ってプログラムを開発していると、配置することのできる最初から登録されているコンポーネントを、自分で作ってみたくなる。
たとえば、OpenJaneであっても、IEコンポーネントを使わずに、独自のビューコンポーネントを作っていて、それを使っていた。
Delphiの基本は多少なりとも分かっていた当時の中学生の僕も、このコンポーネントの作り方が良く分からなかった。
今、Delphiを使って開発している方は少ないかもしれないが、今では以下のような情報がある。
また、今のエンバカデロ社のDelphiはどうなっているのか分からないが、昔のボーランドだった頃のDelphiでは、製品版のDelphi 7を買うと分厚い何冊かのマニュアルが一緒に付属していた。これらのマニュアルと格闘するのも手である。
以下はObject Pascal言語で書かれた、Delphiのコードの実例です。
今のDelphiがどうなっているかは知りませんが、僕がDelphi 7を購入した時は、ソフトウェアの開発環境と一緒に、公式のマニュアル本と、「オフィシャルコースウェア」というDelphiやPascalの入門本がセットで含まれていました。
このオフィシャルコースウェアを読むと、DelphiやPascalのプログラミングが一通りできるようになっています。
なので、「自分にはプログラミングの知識や経験が何もない」という方であっても、Delphiを買えばプログラミングができます。
ですが、僕がDelphiのプログラミングを始めた時、この本は読みませんでした。OpenJaneのビルドに成功した僕は、OpenJaneのソースコードを読んで編集し、Delphiのフォームデザイナとコードエディタを操作するだけで、Delphiのプログラミングがどのようなものであるか分かりました。
Delphiは直感的で、とても簡単にプログラミングができ、高度なGUIアプリケーションの開発できる素晴らしい製品です。みなさんも、一度Delphiを触ってみることを強くおすすめします。
2023.05.09
Delphiは、2ちゃんねる専用ブラウザの開発に良く使われます。
代表例としては、Open Jane、ギコナビ、ホットゾヌなど。
2ch専用ブラウザも参照のこと。
Kylixはボーランドが昔出していたLinux向けのIDEとコンパイラ。LinuxでDelphiの開発を行うことが出来る。
LazarusはFree Pascal向けのオープンソースなIDEで、Linuxで使用できる。
「一度プログラムを書けば、どこでもコンパイルできる」を合言葉にし、DelphiコードをLinuxでコンパイルできるようにすることを目指している。
Delphiは、現在、エンバカデロという会社で開発・販売されていますが、エンバカデロは馬鹿な会社に見えて、Delphiはどんどん進歩しています。
たとえば、クロスプラットフォーム性が上がっています。macOSやモバイル端末でも、同じコードベースからコンパイルしてビルドできます。Linux向けのサーバー製品や、InterBaseというデータベース製品もあります。
RADツールや、Pascal言語、VCLライブラリなどによる、驚異的な生産性はそのままで、とても賢い製品になっています。
僕の知っていたDelphiの時代は、ボーランドによるDelphi 6のパーソナル版が無料で配布されていて、僕はDelphi 7を買いました。そして、Delphiの言語リファレンスが書かれた書籍がついてきました。そのごろはKylix(Linux版のDelphi)や.NETの対応(ほぼDelphiそのままのコードで.NET Framework向けのビルドができる)が進められていましたが、今のDelphiはそれとは比にならないほど進歩しています。
ですが、エンバカデロという社名が悪いのでしょう。今はまた新しい会社に買収されています。これほど賢い技術なのに、発見もされず、使いたい人も居ません。とてももったいないことだと僕は思います。もう一度無料版のDelphiを提供すべきではないかと僕は思っています。
Delphi 6は個人向けの利用が無料であるということもあって、一時期とても流行っていました。僕も、最初に使ったのはこの無料版であり、OpenJaneのビルドもこの無料版で行っていました。
ですが、その後に、僕はDelphi 7の製品版を購入しました。
無料版と製品版の違いは、無料版にはコンポーネントが最低限しかありません。すなわち、たくさんの便利なコンポーネントを使うことができず、いわば「最低限の機能だけに制限されている」と言えます。
製品版を購入すると、さまざまなコンポーネントのフル機能を使うことができます。Delphiのプログラミングはコンポーネントを使うこととほぼイコールなので、この点は見逃せません。
また、製品版を買うと、公式のPascalやDelphiの解説本である、「オフィシャルコースウェア」という入門本がセットで付いてきます。
このオフィシャルコースウェアは分かりやすくてためになるので、今でも付いてくるのかは分かりませんが、この本が読みたいから製品版を購入する、というのもアリだと思います。
そのように、Delphiは買ったほうが色々と付いてくるので、お金に余裕のある方は買うことをお勧めします。
2024.08.25
DelphiはObject Pascalによる高い生産性や可読性と、イベント駆動(プロパティやイベントにメソッドを登録する)が売りのGUI開発ツール。
RAD(ポトペタとも呼ばれる)による高い生産性のため、一部でとても人気があった。
クラスライブラリであるVCLはWindows APIを生で使うよりもはるかに使いやすい。
C#の開発チームはMicrosoftがDelphiから引き抜いたチームが設計・開発しており、C#が使いやすいのはそのためだと言われている。