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 の高い互換性は、 Delphi で使用されている Object Pascal 言語をサポートしているということだけではなく、 名高い Delphi の強力なルーチンやクラスライブラリの多くを利用できることからきています。
これは、よく Delphi で利用される System、 SysUtils、StrUtils、DateUtils、Classes、Variants、Math、IniFiles そして Registry などのユニットを含み、Free Pascal が動作するすべてのプラットホームで利用できます。
さらに、 Free Pascal には、 Windows、ShellAPI、BaseUnix、Unix そして DynLibs といった、OSに固有な機能を利用するためのユニットがあります。 これらの多様なユニットが核となり、 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 はどちらも一般的な目的の元でのプログラミングツールであり、以下に示すような様々な種類のプログラムを開発できます。
コンソールアプリケーション
コンソールアプリケーションはグラフィカルなユーザーインターフェースを持ちません。 それらはコンソール上で実行され、コンソールから入力を読み込み、コンソールに出力します。 コンソールは、Windows では コマンドプロンプト、Mac OS X や Linux では、ターミナルウィンドウ と呼ばれます。 コンソールアプリケーションには、Windows の FC(ファイル比較) や Unix の cd や cp コマンドのような小さいユーティリティが含まれます。 また、コンソールアプリケーションは GUI を必要としないことから、他のプログラムやバッチファイル(Unix/Linux では、シェルスクリプト)から利用できるため、大量のデータ処理やモデリングにとって強力プログラムに成りえます。
Free Pascal コンパイラとそのユーティリティプログラムは、全てコンソールアプリケーションであるため、バッチファイルや Lazarus IDE からの利用が可能です。
また、コンソールアプリケーションの開発はテキストエディタと Free Pascal コンパイラのみで可能であり Lazarus を必要とはしません。 もちろん、統合環境を使いたければ、Lazarus IDE 上でコンソールアプリケーションのプロジェクトを作成し、ソースコードを編集し、コンパイルすることができます。
動的リンクライブラリ(DLL)
動的リンクライブラリ(DLL)はコンパイル済みの関数の集合であり、他のプログラムから呼び出すことができるものです。 名前が示すように、ライブラリは実行ファイルのコンパイル時にはリンクされず、実行時に呼び出されます。 ライブラリファイルの拡張子は、Windows では .dll または DLL 、 Mac OS X では .dylib(dynamic shared library) 、Linux では .so(shared object library) となります。 一般的に DLL は、あるプログラムへの機能追加や、CやC++などの他の言語から呼び出されるライブラリや、大きなプロジェクトを分割して開発しやすくするために使われます。 Windows 自身も大量のDLLで成り立っており、OpenOffice.org のような大きなアプリケーションも同様です。
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 )用にコンパイルすることができます。