言語と統合開発環境としてのDelphiと、Object Pascalについて

19/03/18 12:14:26     19/03/18 14:53:49

Delphiのイメージ

Delphiは、エンバカデロ・テクノロジーズ社より開発・販売が行われている統合開発環境で、また、プログラミング言語の名称としても使われています。

Delphiは日本においては2000年代のフリーウェアでしばしば使われていたことを除けばあまり知名度が高いとは言えないものの、その知名度の割には意外と需要がある言われています。

なお、統合開発環境としてのDelphiおよびプログラミング言語としてのDelphiを説明する上では、Object PascalおよびPascalも併せて説明する必要があるため、これらも含めて説明を行います。

Delphi/Object PascalおよびPascalとは?

Pascalとは

Delphi/Object Pascalの原型と言えるプログラミング言語Pascalは、1970年にニクラウス・ヴィルトより発表された、プログラミング教育を強く意識した言語であると言われています。Pascalの名前の通り、プログラミング言語の名称は「人間は考える葦である」で有名なブレーズ・パスカルからとられています。

PascalはALGOLを元にしていると言われているとされ、言語仕様は教育を意識していることにより、簡素で判読性の高い言語しようという特徴を持っていました。

その後、アンダース・ヘルスバーグが開発した「Turbo Pascal」が、フィリップ・カーンにより設立されたBorland社より発売、この処理系の系統が後述のObject PascalおよびDelphiへと引き継がれ、事実上の標準の位置を占めるようになっていきます。

Object Pascalとは

Object Pascalはその名の通り、Pascalにオブジェクト指向言語の概念を取り入れたものですが、これは、主に2つの系統があります。先行して登場したアップル社によるObject Pascalと、それを参考にして開発されたボーランド社によるObject Pascalの系統があります。

アップル版Object Pascal

Pascalの作者ニクラウス・ヴィルトと当時アップルコンピューターに所属していたラリー・テスラーにより開発されました。当初はApple Lisaの開発言語の一つとして使われ、初期のAppleやMacintoshなどの主要な開発言語の一つとして使われていました。

その後、アップルでのObject Pascalは徐々に終焉に向かったため、今日で使われることはほとんどありません。

ボーランド版Object Pascal

ボーランドより提供されたTurbo Pascalではバージョン5.5でアップル版のObject Pascalのオブジェクト指向の仕様およびSmalltalkのオブジェクト指向の考え方を参考にオブジェクト指向の概念を導入、Oblect Pascalとして確立されました。その後、Object Pascalの統合開発環境としてDelphiが登場、Delphi 7からはプログラミング言語としての名称も「Delphi」へと変更されました。

今日ではObject Pascalおよびプログラミング言語としてのDelphiといったら、基本的にこれを指すものと考えてよいでしょう。

Delphiとは

Delphiは、Turbo Pascalを開発したボーランド社(のちにコードギア社、エンバカデロ・テクノロジーズ社)より開発・販売されているObject Pascal用の統合開発環境で、最初のバージョンは1995年にリリースされ、当時としては豊富なコンポーネントを用いた視覚的な開発が可能という特徴から、当時の開発者の注目を浴びました。

最初のバージョンでは16ビットだったものの、その後はDelphi 2では32ビットに移行、Delphi 6ではPersonal版が無償で提供されたことによりホビープログラマーがしばしば導入したと言われています。バージョン7からはプログラミング言語の名称も「Delphi」とされるようになり、今日では「Delphi」と「Object Pascal」の名称が混在している状態になっています。

当初はWindows向けアプリの開発が中心だったものの、FireMonkeyフレームワークを採用したDelphi XE2以降はクロスプラットフォームに対応しており、今日でも開発環境自体は依然としてWindows専用であるものの、開発したアプリがWindows、macOS、iOS、Android上で動作するようになっています。

Delphiの特徴

コンポーネントが強力

Delphiでは、「コンポーネント」と呼ばれるソフトウェアの部品を使うことで、「フォーム」や「データモジュール」に貼り付けることによって、GUIやアプリケーションのロジックを視覚的に行えることによって、ソフトウェアの開発を効率よく行えるという特徴を持っています。また、コンポーネント自体も開発可能で、開発環境を拡張することさえ可能とも言われています。

この特徴で初心者でも開発しやすく、個人の開発でしばしばDelphiが使われてきたと言われています。

オブジェクト指向

Delphi/Object Pascalはその名の通り、旧来のPascalにオブジェクト指向の概念を取り入れた言語であるため、オブジェクト指向プログラミングを比較的容易に行うことができます。オブジェクト指向を駆使することで、比較的大規模なプロジェクトも開発しやすくなると言われています。

ビルドが高速

Delphiはビルドが高速だと言われています。これはPascalの言語仕様がC言語などと比較して厳密であることが影響していると言われています。また、書き換えたソースコードを限定してコンパイルすることで、ビルド時間を短縮することも可能と言われています。

クロスプラットフォーム

当初のDelphiはWindows専用でしたが、Delphi XE2以降ではクロスプラットフォーム化が進められ、現時点では開発環境自体は依然としてWindows専用であるものの、Windows、macOS、iOS、Android上で動作するプログラムを開発することができるようになっています。これにより、主要なデバイスであれば大体の開発はこなせるといっても良いでしょう。

人気は決して高いとは言えない

言語仕様やIDEの強力さの割には、Delphiの人気は決して高くないと言える状態です。これはマイクロソフト社やアップル社の公式開発環境でないということが枷になっていることが挙げられています。また、多数のDelphiの開発陣が開発に参加した.NET FrameworkおよびC#の仕様がその経緯からDelphiの影響を強く受けていること、一時期Delphiの品質低下が問題になっていたことも影響していると言われています。

2010年代前後から品質の改善およびクロスプラットフォーム化が進められたことにより導入される機会は増えたと言われていますが、依然としてマイナーな存在であると言われています。

Delphiはどこで使われているのか

Delphiは主に製造業界や小売業界、金融業界のアプリケーション開発で使われていると言われています。

近年ではクロスプラットフォーム化が進んだこともあって、iOSとAndroidなどに対応したクロスプラットフォームアプリの開発で需要があると言われています。

Delphi/Object Pascalを学習するには

Delphi/Object Pascalを始めるには、まずは開発環境を整える必要があります。

Delphiが事実上の標準の統合開発環境のため、通常はエンバカデロの公式サイトからDelphiをダウンロードして、インストールすることが必要です。

なお、個人の場合は開発したアプリの年間売り上げ5,000USドル未満であれば「Delphi Community Edition」が利用可能であるため、条件はあるものの商用利用も可能です。

Delphiを学習するのであれば、入門書やウェブサイトなどを確認しながら、実際にコードを書いて実行してみるというのが一番の近道でしょう。

Delphiが使えない場合は、LazarusとFree Pascalを利用することである程度近い環境を実現することは可能ですが、完全な互換性があるわけではないため、注意が必要です。

Delphi/Object Pascalの将来性

Delphi/Object Pascalは比較的マイナーな言語であるため、かなり注意のいる言語および開発環境であると言えます。

一方で開発環境を容易に入手可能であること、GUIによる開発が可能なこと、近年ではクロスプラットフォーム対応が進んでいることから、比較的初心者でも開発しやすいこと、開発工数を削減しやすいことから、業務系システムの他にはベンチャーでの開発案件でも需要があると言われています。また、一部の企業では長い期間Delphiを使い続けているところもあると言われています。

意外にも専任Delphi/Object Pascalエンジニアは少なく、貴重な存在であると言われています。

原則としてDelphiをメイン言語にすべきではないと考えられます。基本的には主に関わる案件でのよりメジャーな言語とのセットスキルとすることが求められるでしょう。例えば業務用システムであればC#やJavaなど、スマホアプリであればiOSとAndroidアプリ開発でメジャーな言語とのセットスキルであることを前提とした方が良いでしょう。

最後に

初期のアップル社の主要な開発言語として使われる、あるいは言語仕様・開発環境の強力さで個人の開発などで使われることがあるくらいには実績がありながらも、以外にもメジャーとは言い難い状況が続いているObject PascalおよびDelphiですが、近年はクロスプラットフォーム対応をはじめ需要が発生するための土台は作られ続けており、実際に一部の企業で導入されるなど一定の実績は挙げられているそうです。

日本においてはメジャーとは言い難いことから、メインスキルにするには危険なDelphi/Object Pascalですが、少ないながらも一定の需要が続いていること、近年ではスマホアプリ開発に対応したこともあって、既存のエンジニアが選択肢を広げる上では習得してみるのもありでしょう。

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する