3 years ago
エンジニアでも、Delphiという名前に馴染みがないという人は多いのではないでしょうか。Delphiとは統合開発環境のひとつで、アメリカのエンバカデロ・テクノロジーズが開発および販売を行っています。
統合開発環境としてのDelphiは、1995年にボーランド社がTurboPascalの後継となる高速アプリケーション開発(RAD)ツールとしてリリースされました。Delphiの開発はボーランドにより継続されましたが、2007年に別部門であるコードギアに移管され、そのコードギアも2008年にエンバカデロ・テクノロジーズ社に売却され、現在に至っています。
Delphiの発展に重要な役割を果たしたのが、プログラミング言語Pascalです。PascalはALGOLがベースで、プログラミング教育を意識して開発されました。リリースは1970年で、これは同じALGOLをベースとし、今日も多くの派生言語が最前線で使われているC言語より、2年ほど古いことになります。
Pascalは簡素でありながらよく整えられた言語仕様を持ち、判読性の高い記述が可能です。ボーランド社はこれを拡張して、統合開発環境のTurbo Pascalをリリースしました。バージョンアップの中でTurbo Pascalはオブジェクト指向の概念を導入し、今日に至るDelphiのベースとなったのです。
後述しますが、Delphiはその扱いやすさやコンパイルの高速さなど、数多くのすぐれた特徴を持ちます。Delphiでの開発を経験したエンジニアを中心にして根強い人気を保ち続けており、今もなお開発環境としてDelphiを採用しているソフトウェア開発企業も存在しています。
気になるのは、現在Delphiを使用した開発案件がどの程度あるのかということでしょう。フリーランスHubで、Delphiに関係した案件を検索してみます。
ヒットした案件数は21件です。Delphiと同時期にリリースされたVisual Basicの流れをくむVB.Netや、プログラミング言語として今もなお根強いニーズがあるとされるC言語が500件から600件程度あることを考えると、案件数はかなり少ないと言えるでしょう。
案件の単価を見てみましょう。Delphiの場合は平均単価が610,000円で、最高が800,000円、最低が500,000円となり、60万円台の案件がその半数以上を占めています。近年、多く使われている技術に比べて、やや低い印象を受けるかも知れません(2021年4月25日現在)。
母数が少ないため参考程度にとどめておくべきではあるのですが、単価の最低が500,000円とC言語やVB.Netと比較して高いところが、Delphiの特徴と言えるのかも知れません。Delphiを扱うことができるエンジニアの総数が多いとは言えないため、最低単価が引き上がっている可能性を示唆しているのかも知れません。
案件としては全体的にシステムの構築が多く、新規の開発やシステムのリプレースにDelphiを採用している案件もあります。開発環境にDelphiを採用している案件の存在は、少なくともDelphiを採用するだけの合理的な理由が存在することを意味します。
Delphiはすぐれた統合開発環境ですが、知名度が高いとは言えません。これにはいくつかの理由があります。
まず、Delphiは1995年リリースと、RADツールとしては後発になってしまったことがあげられます。マイクロソフトのVisual Basicは、最初のバージョンのリリースが1991年でした。日本語に対応したWindows向けVisual Basicの最初のバージョンが日本でリリースされたのは1993年でした。
後発らしく、製品としてはすぐれた点も多かったDelphiなのですが、当時の開発販売元であるボーランドの一般での知名度は、マイクロソフトにはとても及ばなかったのが現実です。一部のエンジニアにとってボーランドはよく知られた会社で、製品への評価はむしろ高かったという面もあったのですが、一般に知られていない会社のツールは、採用されづらかったのです。
知名度が低いままなのは、最初のバージョンのDelphiリリース後にあった、ボーランドの迷走も影響しています。当時、ボーランドからは大量のエンジニアがマイクロソフトに移籍することになりました。その背景にはボーランドにおける事業再構築があり、移籍したエンジニアたちはリストラの対象だったのです。
エンジニアたちにとっては路頭に迷わないための苦渋の決断でもあったのですが、ボーランドとしては容認できる話ではありませんでした。両社は長期にわたり、法廷で闘争を展開することとなります。
のちに和解が成立するのですが、ボーランドは解決金と引き換えに、保有する特許をマイクロソフトに公開することとなりました。移籍したエンジニアたちは後年、.Net FrameworkやC#の開発に従事することになり、大きな成功をおさめることとなった反面、Delphiはドキュメントの質が低下するなど、あまりいい状況にはありませんでした。
また、Delphiは参考になる書籍が少なく、それが普及の足かせになったと考えることもできます。教育を意識して仕様が決まったPascalというプログラミング言語がコアになっていることを考慮すれば、さほど大きなハンディキャップにはならないと考えることも可能なのですが、それをリスクとして見積もる企業も多かったと考えればいいでしょう。
もちろんすべての企業がそのような判断をしたわけではなく、名より実をとるという形で、Delphiを採用しプロジェクトを成功に導いた企業も少なくはありません。エンバカデロに開発主体が移ってからの機能強化は、Delphiの魅力をより高めることにはなりましたが、それでも統合開発環境としては、マイナーな地位にとどまっています。
ただ、Delphiには知名度の低さを補って余りある特徴を持っています。まず、初心者や初級者にとっては、C言語などに比較して圧倒的に言語の習得コストが低いということがあげられるでしょう。
C言語には、数多くの派生言語があります。よって、C言語の習得は新しいプログラミング言語の習得を容易にするという、大きなメリットがあるのです。それゆえ、早い時期に習得しておきたいものではあるのですが、ポインタなどの難しい概念が存在し、初心者にとっては、難易度がかなり高いと言わざるを得ません。
Delphiは、プログラミング教育を意識されたPascalをベースに作成されています。わかりやすい中にも、Delphiはコンパイラを記述できるレベルの強力な言語仕様を持っています。
マイナー言語を習得することに、抵抗を感じられるかも知れません。それでも、案件数も多いC#の開発は、Delphiをベースから作ってきたエンジニアたちによって行われており、両者の言語仕様は似ています。Delphiの習得で、C系とされるC#の習得も容易になります。
この他にも、Delphiにはさまざまな特徴があります。RADツールらしく、短時間で実用的なアプリケーションを構築できること、ビルド速度が高く、開発の効率が良好であることが、Delphiがすぐれている点と言えるでしょう。
それでは、具体的にDelphiはどのようなシーンで利用されているのでしょうか。基本的には、システムの開発が主体です。医療関係、小売、運輸通信など幅広い業種でDelphiを採用していますが、エンバカデロ・テクノロジーズ社が公開している事例を見てみましょう。
まず目に入るのは医療関係です。歯科医院でレントゲン写真などを確認するためには、ビューワが利用されますが、その機能強化を行ったものです。歯科の医療行為は、そのほとんどが狭いチェアユニット上で行われるため、マウス操作での対応は難しいという課題がありました。
こういった課題を解決するためには、タブレットを用いてそこで操作を完結させる必要があります。このシステムでは結果として、先進的なユーザーインターフェースが実現できました。
また、Windows版の既存コードを用いるのに、Delphiのマルチデバイス機能が威力を発揮しました。わずか1ヶ月程度でiPadに移植するという短期間の開発を実現するなど、Delphiの利用はこれまでの開発環境を利用していたのでは考えられない効率化をもたらしたのです。
日本国内ではありませんが、大学病院の統合医療情報システムのうち、電子カルテ、受注コミュニケーションシステム、病院統合管理情報システムをDelphiで開発した事例があります。このシステムでは、.NetやJavaでは性能面で要求を満たせないとITマネージャーが判断し、Delphiを採用しました。
開発に携わるエンジニアは、もともと別の開発環境を利用していたため、Delphiの経験はほとんどありませんでした。しかしながら、Delphiのスキル習得は他の開発環境に比較して容易であり、3日程度のトレーニングでプロジェクト遂行に必要なスキルが身についたと言います。
Delphiによって開発されたこのシステムは、高速で安定した動作を実現し、で医療スタッフからも高い評価を得ました。また、コードの再利用を実現するなど、メンテナンス性も飛躍的に向上したため、運用コストを大きく押し下げることにも成功しています。
Delphiが威力を発揮するのは、システム構築だけではありません。データベース管理ソフトとしてよく知られている「HeidiSQL」は、1999年にリリースされた最初のバージョンからDelphiを用いて開発されています。
HeidiSQLは、現在オープンソースとして開発が続けられています。Delphiが持つ広範囲のデータベース関連サポート機能が、その威力を発揮した事例と言えるでしょう。
開発ツールとしてのDelphiはその素性がよく、洗練されたものですが、具体的にどのようなメリットをもたらすのでしょうか。
オリジナルのDelphiはWindows専用でしたが、2011年にリリースされたXE2でmacOSとiOSをターゲットとした開発に対応しました。2021年4月時点での最新版となるDelphi10.4.2では、それらの他にAndroidおよびLinuxにも対応しています。主要プラットフォーム向けの開発は、すべてDelphiで行うことができます。
Delphiは、「コンポーネント」と呼ばれるソフトウェアのパーツが強力なことが特徴です。これを用いると、GUIやアプリケーションの実装を、画面上で確認しながら行うことが可能になります。結果として、開発期間短縮が実現できるのです。個人の開発でDelphiが選択されるのは、この生産性の高さも理由になっています。
なお、コンポーネントはユーザーによる開発も可能です。オリジナルのソフトウェアパーツの構築や再利用ができることも、Delphiの魅力と言えるでしょう。
大規模プロジェクトでは、オブジェクト指向プログラミングを抜きに考えることはできません。Delphiは、Pascalというわかりやすく、強力なプログラミング言語にオブジェクト指向の概念を取り入れているため、実際に大規模なシステムの開発でも利用されています。
ソースコードを機械語あるいは中間コードに変換するコンパイルと、それらを結合して実行可能ファイルを作成するリンクまでを含めた作業であるビルドは、コンピュータの処理速度が向上した現在においても、相応の時間を要するものです。
Delphiの特徴として、指摘される機会が多いのがビルドの高速さです。DelphiのベースとなっているPascalの言語仕様は、記述の自由度がきわめて高いC言語などと比較して厳密性が高く、そこが影響しているとされています。Delphiではさらに、コンパイル対象となるソースコードを限定することも可能です。
どのようなツールにも、長所と短所があります。Delphiの開発を行うにあたって、注意すべきポイントについて示します。
残念ながら、Delphiがマイナーであることは、フリーランスの案件数などを見ても明白です。独習しようとした場合に、自分にあった学習方法を見つけるまでに少し時間がかかる可能性はあります。Delphi自体は習得しやすいツールですが、この点は意識しておくべきでしょう。
また、マイナーなツールであり、Delphiのスキルのみで案件を獲得しようと考えるのは、現実的ではありません。あくまでスキルのひとつとして習得を目指し、考え方が近いC#の習得なども視野に入れましょう。ただし、DelphiあるいはObject Pascalをメインとするエンジニアは希少であり、要件にマッチした場合は貴重な戦力としての処遇を得られることもあります。
開発ターゲットは複数のプラットフォームですが、開発環境そのものはWindowsに限定されます。Macintoshユーザーは、そのままではDelphiでの開発ができません。これには解決策があり、mac OSではBoot CampあるいはVMWare Fusion、LinuxではKVMといった仮想マシンを利用してWindows環境を作成することで、その上でDelphiを利用した開発が可能となります。
魅力的な開発環境であるDelphiですが、どのように入手、学習したらいいのでしょうか。
まず、Delphiは家電量販店等で販売はされていません。エンバカデロの公式サイトからのダウンロードが一般的で、最新の有料版および無料版を入手することができます。個人の場合、開発したソフトウェアの年間売上が5,000米ドルに満たなければ無料の「Delphi Community Edition」を利用することができます。条件はあるものの、商用での開発も可能です。
学習は、入門書やチュートリアルサイトを活用しましょう。それらを見ながら、実際に操作を行い、コードを書いていくことが有効です。
C系のプログラミング言語経験者であれば、言語としてのDelphi習得は決して難しいものではありません。まったくの未経験者でも、Delphiで作成したものがどのように動くのかをその目で確認できますので、Delphiに限らずプログラミング言語そのものについての理解を深めることもできるでしょう。
このように、統合開発環境としてのDelphiは非常に洗練されたものです。高いレベルでのマルチプラットフォーム対応も実現しているなど、将来的に再評価されるだけの潜在力を持ち合わせていると考えることができます。
残念ながら現時点ではマイナーツールであり、企業での利用も限定的です。Delphiをメインにして案件を得ることは、考えるべきではありません。とはいえ、素性のよい技術ではありますし、個人向けに無償で利用できるエディションも用意されています。技術の幅を広げるためにも有用ですので、習得するメリットはあると言えそうです。
<Windows>は<マイクロソフト コーポレイション>の登録商標です。
<Mac OS>は<アップル インコーポレイテッド>の登録商標です。
あなたにピッタリの
フリーランス案件が見つかる
110万件以上のフリーランス案件から一括検索
251,657件※の案件を保有しており、エンジニアやクリエイター向けを中心にたくさんの案件を一括検索可能です。
※ 4月24日(Wed)更新2あなたの経験やスキルに適した案件をメールでお知らせ
マイページに入力して頂いた経験や希望条件に合わせて、ご希望にマッチした案件をメールでお送りするので効率的な案件探しが可能です。
この記事は、Notesエンジニアに対し、Notesの現状と現在に至るまでの過程を示し、Notesが持つ問題点を列挙することによって、Note...
3 years ago