Overview of Free Pascal and Lazarus/ja
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
magyar (hu) │
Bahasa Indonesia (id) │
italiano (it) │
日本語 (ja) │
한국어 (ko) │
polski (pl) │
português (pt) │
русский (ru) │
slovenčina (sk) │
中文(中国大陆) (zh_CN) │
中文(臺灣) (zh_TW) │
FreePascal と Lazarus
Free Pascal(FPC) はオープンソースの Pascal コンパイラであり、以下の2つの大きな特徴を持ちます。
- Delphi と高い互換性がある
- 各種プラットホーム(Windows、Mac OS X、Linux)へ対応している。
Free Pascal と Delphi の高い互換性は、以下の2つの理由から実現されています。
- Delphi で使用されている Object Pascal 言語をサポートしている
- Delphi の強力なルーチンやクラスライブラリの多くを利用できる
つまり、 Delphi でよく利用されるユニット (System、 SysUtils、StrUtils、DateUtils、Classes、Variants、Math、IniFiles、Registry など) を、Free Pascal が動作するすべてのプラットホームで利用できるということです。
さらに、 Free Pascal には、OSに固有な機能を利用するためのユニットとして、 Windows、ShellAPI、BaseUnix、Unix や DynLibs があります。
これらの多様なユニットが核となり、 Free Pascal ランタイムライブラリ(RTL)が形作られています。
Lazarus はオープンソースの開発環境であり、予約語を強調できるコードエディタ、グラフィカルユーザーインターフェイス(GUI)デザイナと Free Pascal コンパイラを合わせた統合開発環境(IDE)です。 Lazarus には、Delphi の Visual Component Library(VCL) と高い互換性を持つ Lazarus Component Library(LCL) も含まれます。
LCL には、VCL コントロールと同様なフォームやボタン、テキストボックスなどがあり、これらのコントロールを利用して GUI を持ったアプリケーションが作成できます。
FreePascal と Lazarus は Pascal で記述されています。 それらのソースコードが公開されているのはもちろん、 FreePascal RTL や Lazarus LCL の全ユニットのソースコードも完全に公開されています。
Delphi 同様に Free Pascal と Lazarus は汎用のプログラミングツールであり、以下に示す様々な種類のプログラムを開発できます。
コンソールアプリケーション
コンソールアプリケーションは GUI を持ちません。 コンソール上で実行し、コンソールから入力を読み込み、コンソールに出力します。 コンソールは、Windows では コマンドプロンプト、 Mac OS X や Linux では ターミナルウィンドウ と呼ばれます。
コンソールアプリケーションには、Windows の FC(ファイル比較) や Unix の cd や cp コマンドのような小さいユーティリティが含まれます。 また、コンソールアプリケーションは GUI を必要としないことから、他のプログラムやバッチファイル(Unix/Linux では、シェルスクリプト)から利用できるため、大量のデータ処理やモデリングにとって強力プログラムに成ります。
Free Pascal コンパイラとそのユーティリティプログラムは、全てコンソールアプリケーションであるため、バッチファイルや Lazarus IDE からの利用が可能です。
また、コンソールアプリケーションはテキストエディタと Free Pascal コンパイラだけで開発可能です。 もちろん、必要に応じて Lazarus IDE 上で作成することもできます。
動的リンクライブラリ(DLL)
動的リンクライブラリ(DLL)はコンパイル済みの関数の集合であり、他のプログラムから呼び出すことができるものです。 コンパイル時にリンクするのではなく、プログラムの実行時に呼び出されます。 ライブラリファイルの拡張子は、 Windows では .dll または DLL 、 Mac OS X では .dylib(dynamic shared library) 、Linux では .so(shared object library) となります。
DLL はプログラムへの機能追加や、CやC++などの他の言語から呼び出されるライブラリや、大きなプロジェクトを分割して開発しやすくするために利用されます。 Windows や OpenOffice.org のような大きなアプリケーションもDLLから構成されています。
DLL もコンソールアプリケーションと同様に、テキストエディタと Free Pascal コンパイラだけで開発できます。 もちろん Lazatus IDE も利用できます。
Windows では DLL は複雑で不安定という不当な評価を受けていました。 この評価は、DLL 自体ではなく DLL をしばしばインストールする必要がある点に対する評価でしょう。 実際に DLL と情報のやり取りをするには、基本的な単純なデータ型(言語に特徴的なオブジェクトや構造体を使うよりも)を使うため、プログラマは細かい注意を払う必要があります。 正しく実装されたならば、よりよい結果が得られ、よりプログラムは安定するでしょう。
GUIアプリケーション
わたしたちが利用する多くのプログラム(ワープロ、ウェブブラウザ、表計算ソフトなど)は GUI アプリケーションです。 Lazarus や Delphi も GUI アプリケーションのよい見本です。
Lazarus で GUI アプリケーションを開発する際には、Pascal でユニットのコードを書くことに加え、ボタンやリストボックスなどの視覚的なコントロールを用いてフォームをデザインする必要があります。 Delphi のように Lazarus でのフォームのデザインは視覚的に行われ、コントロールのプロパティは IDE やコードから設定できます。
LCL のコントロールは対応する全てのOSで使用できるため、ひとつのプラットホーム(例えば Windows )で開発した GUI アプリケーションは、フォームのデザインやコードを変更しないで他のプラットホーム ( Mac OS X や Linux )用にコンパイルすることができます。