# Delphi と僕 (Delphi 24周年読み物) ![](https://i.imgur.com/ftJNP9I.png) 2/14 は Delphi の誕生日だから何か書いてよ~、と日米両国から言われてしまい、何か書かざるを得なくなったものの睡魔には勝てず、結局当日書いてみている。 ということで、僕と Delphi の関わりについて順を追って書いていこうと思う。淳だけに[^1]。 ## 小学校時代 僕とコンピューターとの関わりを話すためには兄の事を話さねばなるまい。 当時「マイコン少年」という言葉があった。 それは、当時出てき始めたマイクロコンピューター(パーソナルコンピューター)に夢中な少年達を指す言葉だ。 兄は2人いるのだが2人ともマイコン少年で、特に次兄は毎週末ダイエーの最上階にあるマイコンの展示コーナーでベーマガ片手にプログラムを打ち込むという完全なマイコン少年だった。 僕はといえば、兄が毎号買っていた[ベーマガ](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3BASIC%E3%83%9E%E3%82%AC%E3%82%B8%E3%83%B3)や [I/O](https://www.kohgakusha.co.jp/io/) といった雑誌を解らないながらも眺めていた。 その頃、長兄が [MZ-80K](https://ja.wikipedia.org/wiki/MZ-80#MZ-80K%E7%B3%BB%E6%A9%9F%E7%A8%AE) を貰ってきた。 次兄は嬉々としてベーマガのプログラムを打ち込み、打ち込み終わったゲームを僕に遊ばせていた。 MZ-80K ![MZ-80K](https://i.imgur.com/B8dp7Pl.jpg) また、スタートレックといった商用ゲームもいくつか遊んでいた。 スタートレック ![スタートレック](https://i.imgur.com/SYlij9z.png) そんな訳で割と幼少期からコンピューターに関われたのは兄の影響が大きい。 ちなみに、その後2人の兄はコンピューターと関わらない道に進んだので全くもって人生とはわからない物だ。 ## 中学校時代 兄とは大分年が離れていたので僕が中学に入るとき、次兄は大学生だった[^2]。 その兄が [PC-G801](http://pocket.free.fr/html/sharp/pc-g801_e.html) というポケットコンピュータを買ってきた。 程なくして兄が飽きて使わなくなった PC-G801 を勝手に使い BASIC でプログラムを始めた。 コレが僕のプログラム第一歩で未だに僕のプログラムの根底を支えているような気がする。 PC-G801 ![PC-G801](https://i.imgur.com/6bYVHnW.jpg) ## 高校時代 高校の入学祝いに親に PC-E500 を買って貰った。 PC-E500 ![PC-E500](https://i.imgur.com/yi0RLVL.png) それから毎日授業中に隠れて PC-E500 でプログラムを組む日々が始まった。 そして BASIC では速度が足りない、どうやらアセンブラ?という物があるらしい。アセンブラを使うとスゴい早さのプログラムが作れるらしいぞ!となり、必死に「[PC-E500 PC-1480U 活用研究](https://www.amazon.co.jp/dp/4875931530)」を読みあさり、機械語を知ったのだった。 ちなみに、PC-E500 は今でも現役でちょっとした計算なんかをやらせている。 高校最後ぐらいに何のご褒美だったか忘れてしまったが(合格祝い?)親に FM TOWNS II UX20 を買って貰った[^3]。 FM TOWNS II UX20 ![FM TOWNS II UX20](https://i.imgur.com/PQjkq3O.jpg) そこで、更に親のすねをかじり Metaware High-C というクッソ高いコンパイラも買って貰った(10万超えてたと思う。良く買ってくれたものだ…) FM TOWNS で MS-DOS を知り、更に C 言語を学んだ。 ## Turbo Pascal にうっかり出会う と、長々と話したがここで遂に Turbo Pascal と出会う。 高校は普通科だったが工業科が併設されている高校で文化祭の実行委員をやっていた事から工業科の先生とも非常に仲良くなった。 そこで普通科の生徒は近寄らないコンピューター教室を使わせて貰えるようになり、先生の紹介で Turbo Pascal 5.5 と出会う。 **僕は衝撃を受けた!** なんだこれは!コンパイルが爆速じゃないか!しかもエディタとコンパイラが一体で makefile を書かなくても良いだと!? RED2 と High C, MASM で組んでいた[^4]僕には衝撃の連続だった。 コレはヤバイ!こっそりコピー[^5]して家に持ち帰り FM TOWNS にインストールして、Turbo Pascal を触りまくった。 ## 大学時代 そして、大学時代。 情報工学科に行きたかったものの母親の反対に遭い[^6]仕方なく電子工学科に入学した。 とはいえ、当時の電子工学科ではコンピューターも触れたので割と面白おかしく過ごしていた。例えば友達のレポートのプログラムを書いて小銭を稼いだり、キルヒホッフの法則を解くプログラムを作ったら何故か学科全体のポケコンに広がり試験で使われまくり[^7]、教授に「今年の学生は優秀ですね。試験の平均点が90点を超えたことなどありません!」って言われたりした。 なお、その試験で僕はポケコンを忘れて惨憺たる結果だった。 ## Delphi と出会う 何故か忘れたが何らかの理由で兄がノートPCを買ってくれた。 AT&T Globalyst 130R である。 AT&T Globalyst 130R ![AT&T Globalyst 130R](https://i.imgur.com/BxtHxCL.jpg) そして、発売されたばかりの Delphi 1.0 も一緒に買ったのだ! あの Turbo Pascal の後継で OWL とかじゃないフレームワーク VCL なるものがあるらしい!!とウッキウキで帰ってインストールして動かしてみた。 ババーンとこんな画面が現れた。 ![](https://i.imgur.com/zJdmSCB.png) うひょー!良くわからないけどすげええ!となったものの、あまりに Turbo Pascal と違いすぎて最初は使いこなせず理解も出来なかった。 そもそも、オブジェクト指向が解っていなかったから「この TForm なる物はなんなんだ??」となり落胆し、暫く Delphi は放置されたのだった… 何のきっかけか忘れてしまったが、再び Delphi を触り始めオブジェクト指向も完全に理解した(解ってない)。 また、当時 AI に興味のあった僕はバイト先のシフトを AI を使って埋めるというプログラム(何のことは無い、単純に入りたくない日や何日入ったかなどを重み付けしてシフト表を埋める物だ)を書いたりして楽しんでいた。 また、この頃 Inside Windows という雑誌に Delphi の記事が載っていた。 Inside Windows ![Inside Windows](https://i.imgur.com/kqLvXOI.gif) その記事を書いていたのが、元 Borland/Embarcadero の中の人「新井さん」だ。なんと同じ電子工学科の同級生が雑誌に記事を書いているというのは衝撃だった。 Inside WIndows 以外だと [Delphi 2.0 Q&A 120選](https://www.amazon.co.jp/dp/4894360446), [Delphi 3 Q&A 150 選](https://www.amazon.co.jp/dp/4894361051)、が愛読書だった。 また、Delphi ML では、中村@NEC という人がスゴい詳しいなあと思っていた。 Delphi Q&A の大野さん、中村さんはもちろんご健在で Twitter で会話したりしている。神と直接話せるのは PC 業界ぐらいのものではないだろうか? ちなみに、その大野さんが書いてくださった [Delphi Advent Calendar の記事](http://blogs.itmedia.co.jp/mohno/2014/12/delphi_advent_calendar9delphi_20_qa_120.html)で、Delphi 2.0 Q&A 120選を PDF 化して公開なさっている。 ## 社会人に 就職活動をしたくない僕は、2社しか会社を受けなかった。 1つが[株式会社レイ](https://www.ray.co.jp/)、もう1つが [IMJ](https://www.imjp.co.jp/)だ。 困ったことに両方受かってしまい、どうしようか悩んだ末「面接官(後の上司)が髪の毛を虹色に染めていた」という理由で IMJ を選んだ。 ここで IMJ を選ばなかったら、Delphi を触り続けてなかったかも知れない。 IMJ ではマルチメディア研究室(MM研)に所属した。 当時はインターネットの黎明期で、色々面白い仕事があった。 中でも [PostPet](http://www.petworks.co.jp/~hachiya/works/PostPet.html) に関われたのが大きい。 PostPet Windows 版は C++Builder で出来ていたため、僕も少し関われたのだ。 PostPet ![PostPet](https://i.imgur.com/TO8RfHH.gif) ## そして独立へ 当時の IMJ 社長に「どうせ2年くらいしたら独立するんでしょ」と言われていたから、という訳では無いが IMJ が CCC グループに買収されるタイミングで独立した。 ゲームに関してはスタートレックの話しか書いてないが、ずっと遊んでいて、ゲーム作りたいというのは中学生ぐらいからずっと思っていたのだ。 ということで、MM研がどっさり辞めてシリアルゲームズという会社を作った。 独立当時は本当に大変でこの会社はいつ潰れるんだ!と毎日恐れおののいていた。 そして独立当初から作っていた PS2 向けコミュニケーションソフトの開発中止が決まり、このまま路頭に迷うのか…と思っていた僕らを救ったのは PostPet と Delphi だった。 PostPet V3 という新しいバージョンを作るというので、お呼びがかかったのだ。 助かった… PostPet V3 Windows 版は引き続き C++Builder を採用しつつコンポーネントは僕が全部 Delphi で作るという謎の複合体によって PostPet V3 が完成した。 PostPet V3 ![PostPet V3](https://i.imgur.com/x2sbOUL.gif) ## そして(Delphiの)仕事が無くなる そんな感じで日々過ごしていたのに段々と時代は Windows アプリケーションからウェブアプリケーションの時代に移っていった。 僕は Delphi を触りたくて仕方なかったけど、時代の要請で Flash をやったりしていた。 Delphi 触りたかったのでこんなものを作ったりもしていた(未リリース)。 echat2 ![echat2](https://i.imgur.com/QJtz0P8.png) そして、**iPhone 発売**。 その後、Android も発売されて、[Newton](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%83%E3%83%97%E3%83%AB%E3%83%BB%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3) や [General Magic](https://ja.wikipedia.org/wiki/General_Magic) の申し子達[^8]によってモバイル端末が普及しだし、僕は eclipse + Android SDK で Android の開発をしたりしていた。 ## そして(Delphiの)仕事がくる! 時は流れ Delphi XE2 で!遂に Delphi に FireMonkey が乗り、マルチプラットフォームアプリケーション開発が可能になると、FireMonkey は**破壊的**変更を繰り返しながら年々機能が強化されていき、遂に使えるレベルのマルチプラットフォームアプリケーション開発環境になった。 そして、時代は iOS/Android 両方のアプリケーションを迅速に開発できる環境を求めており、Delphi は、そこに上手くマッチした。 そこからはあれよあれよという間に、Delphi の仕事が流れ始め、今では一部をお断りしなければいけないほどの引き合いを貰っている。 しかし、長き暗黒の時代により Delphi 技術者が少なくなっており、人材確保に非常に難儀している[^9]。 ## そして無料化! Delphi が如何にスゴくても皆に知ってもらわなければ意味が無い!新しい人達に Delphi 使って貰わないといかん!とアタナス・ポポフ氏(エンバカデロ・テクノロジーズ社長)に無料化が必要!とプレゼンしたことがある(長く秘匿していたが、そろそろ公開しても良いだろう)。 [31st DevCamp Eve![](https://i.imgur.com/2jssHFm.jpg)](https://www.slideshare.net/secret/1zuEXk8boQWF24) このスライドを高く評価してくれたからか知らないが、2018年遂に無料版 Delphi Community Edition がリリースされた。 この無料化によって初めて興味を持ってくれた人も、また戻ってきてくれた人も居てここ数年では一番 Delphi が盛り上がっていると感じている。 # おわりに これからも Delphi は進歩して行くだろうし、僕もそれに付いていきたい。 [^1]: 本名 [^2]: 長兄はすでに社会人だった [^3]: この時 X68000 と悩んだが FM TOWNS を買った。X68000 を買っていたら面倒くさいタイプのマカーになって Delphi とも出会ってなかっただろう。 [^4]: RED2 はテキストエディタで MASM(Mircosoft Macro Assembler) 等の出すエラーメッセージを解析して直接エラー行に飛ぶ機能があった。 [^5]: 違法…時代が時代だけに許して… [^6]: 母親は「情報工学」が何をするところなのか全く理解出来ず兄も推してくれたのだがダメだった。未だに理解してないと思う。 [^7]: 当時はポケコン・関数電卓持ち込み可の試験が結構あった [^8]: アンディールービンとか [^9]: Delphi ユーザーの平均年齢が上がっており、使えても FireMonkey ではなく VCL という場合が多い