Delphiが24周年だそうで
今日はデブサミに行くつもりだったけど、体調が優れずに行けなかったのでブログを書きます。
目次
テーマ
テーマは、Delphiが24周年。エンバカデロ社からのメールに以下のようなメッセージが書かれていまして、じゃぁ自分の思い出でも書いてみるかと思って書き始めました。
Windows 10、macOS 10.14、iOS 12、Android 9など、最新プラットフォームに対応したDelphi / C++Builder / RAD Studio 10.3。2月14日は、そのDelphiが「Software Development Conference 95 West」で発表された日です。
なんで書こうかと思ったか? それはDelphiが自分が購入したはじめてのコンパイラだったからです。
Delphi is 何?
とはいえ、Delphi と言われてもよく知らない、という人も今は多いと思うので、そのあたりを少し。
画面イメージを見てもらったほうが早いと思うので、貼っておきます。
Windows95の頃の製品なので、見た目は懐かしさ満載ですが、UI自体は今の開発ツールとあまり変わらないですよね。 フォームと呼ばれるウィンドウにコンポーネントと呼ばれる部品をポトリペタリして処理をそのイベントのハンドラに記述していくスタイルは、当時としては画期的なものでした。当時、同じようなスタイルで開発をするツールとしてはVisualBasicが既にありましたが、コンポーネントの豊富さ、ネイティブコードコンパイルなど、VisualBasicには無い魅力に溢れていて、当時は結構な人気ツールでした。
詳しく知りたい人はWikipediaをどうぞ。
なんでDelphiを買ったか
当時は会社で仕事を初めて4年目くらい。SESで客先に常駐して仕事をしていたので、開発に使える技術はそこにあるものだけでした。 自分の場合はVisualBasic。でも、それだけをやっていても面白くない、ぶっちゃけ飽きていたんですね。
で、なにか新しいことを始めてみたいなぁと思っていたところに、Delphiっちゅう新しい統合開発環境が発売されていて結構良いらしいなんてことを、雑誌の記事で知りました。じゃぁ、そんなに高くもなさそう(当時3万円くらいだったような気がする)なので、買って使ってみるか、と。
今は多くの言語のコンパイラは無償で手に入るようになっているので、コンパイラ(と開発環境)に何万円も払うというのには違和感があるかもしれませんが、当時はコンパイラが必要なら買うのが当たり前でした。(UNIXは除きますよ。あくまでWindowsでの話です)
コンポーネントの豊富さ、ネイティブコードコンパイルあたりはVisualBasicには無いものでしたし、コンポーネントで最新のWIndowsUIを簡単に実現できたりするところは、明らかに楽しい。買ってから暫くはめちゃツボにハマりました。
Delphiのすごかったところ
じゃぁ、なんで楽しいと感じたか?個人的にはこんなところだったと思っています。
後者は今ならGitHubで公開とか普通に行われていることですが、前者は今でもやっているツールはあまり見かけたことが無い気がします。 (オープンソースの製品を除く)
ライブラリ(VCL)のソースが付属
一番安いエディション(学習用)には付属していなかったのですが、それ以上のエディションにはコンポーネントのソースが付属していました。つまり、画面の構成部品であるボタンやリストボックス、メニューと言ったもののソース(実際にはWindowsのWin32 APIで提供されていたもののラッパー)が購入した人の手元にあるわけです。
つまりこれは
ということですね。 自分はそこまでのスキルが無かったので拡張はできなかったのですが、この特徴がその後のDelphiの隆盛を支えていたのは間違いないと思っています。
ちなみに、VCLはVisual Compornent Libraryの略ですが、GUIの部品じゃないといけないわけではなく、画面表示のないものもコンポーネントとして作成できます。例えばDB接続などがそれに当たります。
各自が作ったコンポーネントを公開して利用
当時はWindows95等の普及でインターネットは使われ始めていたものの、GitHubはまだありませんでした。 プログラミングに関する情報などの多くは、Nifty Serveなどのパソコン通信のフォーラム上で活発にやり取りされていた時代です。 自分でインターネット上でサイトを作ったり、パソコン通信のライブラリ上で公開されていました。
今ならソースやバイナリをGitHubなどから取ってきて使うのは普通ですが、当時はそうではなかったので結構新鮮でした。
で、その結果何が起こったかというと、そうしたコンポーネントを使ったソフトウェアが沢山作られるようになりました。 かなりたくさんのフリーウェアが作られましたし、今でも作られています。
個人的にコンポーネントで一番すごいなと思ったのは、TEditor です。 いわゆるテキストエディタの編集部分の機能をもつコンポーネントです。 このコンポーネントをフォームにポトリペタリして、少しコードを書くだけでテキストエディタが作れる。 当時はこれを使ったテキストエディタがメチャクチャ沢山公開されていました。
他にも、オリジナルのVCLには無いけど、あったら便利なのにという機能がコンポーネントとして沢山公開されています。
その後
自分のDelphiブームは2年位で終わりました。何故かと言うと、その後の仕事でC++を使うことになり、DelphiからC++ Builderに乗り換えたからです。 C++ BuilderというのはDelphiのプログラミング言語をC++に置き換えた製品です。
GUIの開発方法はそのままに言語だけC++、ということでGUIアプリケーションをC++で書く時の生産性をメチャクチャ上げてくれました。 当時のWindows上でのC++でのGUI開発は、マイクロソフト社のVisual C/C++でVisualと言いつつコード中心で開発していくものしか無かったので、Delphiと同様にポトリペタリしてイベントハンドラを実装していくスタイルでの開発ができたのはすごく良かった。Delphiで作られた沢山のコンポーネントがほぼそのまま使えるのも魅力的でした。
Delphiは個人的な趣味でしたが、C++は仕事で使っていたこともあり、その後5年位はずっとC++ Builderを使っていました。自分の勉強を兼ねて、現場でC++ Builderの勉強会をやっていたのもいい思い出です。更にいうとその後でJBuilderという言語をJavaに置き換えた製品も仕事で使うことになりまして、この頃はBorland漬けでしたね。自腹でBorland が企業向けに開いていた Borland Conferenceというイベントにも自腹で参加してました。(企業担当者向けということもあり、確か参加費は数万円だった記憶ががが)
そして今
Borlandは時代の変化に対応して会社名をInpriseに変えたり、Borlandに戻したりしながら変わっていきました。 Delphi等の開発ツールはCode Gearという会社に切り出され、その後エンバカデロ社に買収されました。そしてそのエンバカデロ社は今はIdera社の傘下。 ツールの名前もRAD Studioという名前になり、DephiとC++Builderの統合やWindows以外のプラットフォームの開発にも使えるように進化していくことになります。
時代は変わっていくものですが、こうやって振り返ってみると24年という月日は長かったなぁ、なんてことを思いました。
もし、このエントリを読んで、DelphiやC++ Builderに興味を持った人がいたら、今は無料で使える Community Editionというのが提供されているので、取り敢えず使ってみるのも良いかと思います。
楽しいプログラミングができるようになると良いですね!