今回の記事では、Delphi開発者のMatthew Kenneth Bieschke氏の心温まる体験談を紹介します。 Bieschke氏は、若いころ、仕事が楽しく頑張ってはいましたが、満足できる達成感を得られずにいました。小売店舗の商品棚にソフトウェア製品を並べる仕事をする中で、彼は文字通りDelphiと運命の出会いをしてしまったのです。その瞬間、彼は私たちが愛好するIDEソフトウェアに一目惚れしたのです。その熱い想いは何年も経った今でも変わりません。
Table of Contents
それ以前にソフトウェア開発経験があったのでしょうか?
知性は、発見への道程においては、ほとんど関わりがない。意識に飛躍が起こる、それを直観とでも呼ぼうか。解決策があなたにもたらされる、どうやって?なぜ?それはあなたにはわからない。
アルベルト・アインシュタイン
私は高校卒業後、大学には進学しませんでした。給料の高い仕事に必要な学位や資格がなかったので、90年代半ば、イリノイ州シャンバーグにあるCompUSAというコンピュータ小売店の営業職に就きました。
実は、ソフトウェア開発を行う仕事に就いて当時のボーランドから出ていたTurbo Pascalを使い始める何年も前から、プログラミング言語を勉強しようと決めていたのです。時代は、主にコマンドラインインターフェイス(CLI)駆動型のノングラフィカル オペレーティングシステムの真っ只中でした。Microsoft Windowsがユビキタスになるよりもかなり前のことです。
どのようにDelphiのことを知ったのですか?
1995年のある日、CompUSAで品出しをしていた時、ボーランドのDelphiという製品が目に留まったのです。それは、既に気に入っていたTurbo Visionフレームワークを活用したPascal開発環境のWindowsインスパイヤバージョンのように見えました。その年、暇を見つけてはDelphiを独学していました。そうして販売員を続けていく中で、あるお客様が私のお得意様になったのです。
そのお客様は、「君から貴重なアドバイスをもらえて助かった、今まで何回も店に足を運んだ甲斐があったよ」と言っていただき、その後は来店するたびに私を指名してくれました。お客様はアプリケーションを作成できるソフトウェアを探していて、そうした機能をもつ選択肢として何があるのか質問してきました。様々なソフトウェアパッケージが大量に出回っている中で、どれがベストかという主観的な質問ではなく、私自身がアプリを作るならばどのソフトウェアを使うか、と尋ねられたのです。私は、長年Pascalを使っていて、Delphiはそれをベースにしているので、私ならそれを選びます、と答えました。
なぜDelphiを使用するのですか?
OSメーカーであるマイクロソフトが販売しているファーストパーティ開発ソフトウェアパッケージではなく、なぜDelphiを選ぶのかと、その理由を尋ねられました。当時の一般常識からすれば、ベストな製品を生み出すのはOSメーカーだという意見が大勢を占めていたでしょう。Delphiは、Windowsアプリケーション構築において本流とは異なるアプローチを取っていました。当時は、DLL(Dynamic Link Library)がもっと厄介な問題を抱えていた頃です。しかし、Delphiは、別個のインストールプログラムを何回も作成する必要さえなく、単一の実行可能ファイルを生成することで、こうした混乱をしばしば回避できたのです!
「安全な」仕事を辞めて、コーディングで生活していこうと決意したのですか?
私の答えに感動したそのお客様は、私にアプリケーション開発を任せてみようと考えたのです。面接に合格した私は、CompUSAを辞め、新たな仕事に就きました。しかし、それは臨時の仕事で、私自身とDelphiの実力を証明できれば常勤雇用にするという条件でしたから、リスクを伴う転職でした。
私は安全な仕事を離れ、1年足らずの使用経験しかないソフトウェアを使う必要のある仮採用職に賭けたのです。不確実性を伴う決断でしたが、新たな成長に向けて自分に必要な変化を受け容れる覚悟でした。もし自分のスキルを疑っていたり、不安のあまり仕事を辞めることを躊躇していたら、今日の自分がどうなっていたのか、わかりませんね。その後、インターネットショッピングが本格化すると、CompUSAは廃業に追い込まれました。
CompUSAを辞めずにいたら、私はいずれ、失業したことでしょう。辞める覚悟が、当時はまだ抱えていなかった問題を解決してくれたとも言えます。この新たな成長軌道に沿って、データベース設計やSQL(Structured Query Language)を勉強することになりました。当初の開発では、BDE(Borland Database Engine)を使っていましたが、最終的にBDEからDelphiの新しいデータベースアクセスアーキテクチャ「FireDAC」へと、さらに新たなパラダイムシフトを経ることになりました。
BDEを捨てて、FireDACに乗り換えたということですか?
何であれ変化に対する抵抗は普通のことです。それ以前にもDelphiの新バージョンのリリースに合わせて、アップグレードや対応を行ってきました。そのうちに、熟知したBDEを手放すことに不安を覚えている自分に気がつきました。その不安を捨て、初心者の気持ちでFireDACに取組んだのです。当時は意識していませんでしたが、結果的にJSON(JavaScript Object Notation)マークアップへと導かれ、それが好きになっていました。
JSONのどこが気に入ったのですか?
DelphiにおけるJSONの巧みな扱い方は、デスクトップの世界とWebアプリケーションの間のあらゆる相違点を、情報伝送の目的という点で微々たるものにしたのです。DelphiのRADスタイルのアプリケーション開発アプローチにより、JSONとREST(Representational State Transfer)を利用して、あっという間に結果を出すことができました。お互いに接続することができず、本質的にデータサイロ状態にある複数の孤立したシステムが、突如として、高精度のデータ交換を実現できてしまったのです。
その結果、私は、システムインテグレーターとしてアグレッシブに活動するようになりました。直近の統合プロジェクトは、WordPress、Gravity Forms、HubSpot、Katana MRP等で実現しました。新たに各システムを連結することで、根本的な類似性はさらに近接したのです。DelphiのFireDACとREST / JSON技術の実装により、end-to-endのエンタープライズデータソリューションを実現できました。
他のプログラミング言語に誘惑されませんか?
私は、今人気のPython言語でも、いくつかのプロジェクトを完成させました。Pythonはコンパイル言語ではなくインタプリタですから、Delphiとの組み合わせはベストマッチじゃないでしょうか。
Pythonとの互換性強化というエンバカデロの取組みは、DelphiエコシステムへのRESTサポートの導入と同じく、重要なマイルストーンです。PascalかDelphiかという、あの時の自分の判断を疑うようなことがあれば、私は、この不確実性の道程を追求し得られた成果を思い出すようにしています。プロジェクトにDelphiを検討している方へのアドバイスとしては、好奇心を持つこと。何か新しいことを試すには勇気が必要ですが、そうした挑戦と努力は、私が長年にわたり培った信頼によって、単に財政面だけではなく、多くの意味で報われています。
今でもソフトウェア開発にはDelphiを選ばれるのですね?
当時から今日までの道程はけっして平坦ではありませんでした。完璧なソリューションなど存在しません。Delphiは時の試練に耐え、最新リリースのAlexandriaは、開発プロジェクトのターゲットプラットフォームが、ネイティブWindowsであれ何であれ、製品がもつ革新的な力を証明して見せます。将来いかなるプロジェクトが待ち受けていようと、私はDelphiで達成できると確信しています!
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition