Difference between revisions of "Overview of Free Pascal and Lazarus/ja"

From Lazarus wiki
Jump to navigationJump to search
 
(17 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
{{Japanese Menu}}
 
{{Japanese Menu}}
  
Free Pascal (FPC)は、2つの大きな特徴をもった、オープンソースのPascalコンパイラです。1つは、Delphiとの互換性です。もう1つは、多くのプラットホームへの対応です。Windows、Mac OS X、そしてLinuxに対応しています。
 
  
Free PascalのDelphiとの互換性はObject Pascalプログラミング言語をサポートすることだけでなく、Delphiで使える強力なルーチンのライブラリやクラスも利用可能です。 よくしられているSystem、SysUtils、StrUtils、DateUtils、Classes、Variants、Math、IniFilesそしてRegistryなどのユニットがあります。
+
=== FreePascal と Lazarus ===
これらは、Free Pascalの動作するすべてのプラットホームで動作します。
 
Free Pascalには他にもWindows、ShellAPI、BaseUnix、Unix そしてDynLibsといった固有のオペレーティングシステムで利用可能なユニットがあります。
 
Free Pascalランタイムライブラリ(RTL)は、これらのユニットの集合でなりたっている大きなライブラリです。
 
  
Lazarusはオープンソースの開発環境です。Free Pascalコンパイラで作られており、FreePascalを使うための統合開発環境(IDE)です。予約語の強調が可能なコードエディタ、視覚的なフォームデザイナ等を持っています。
+
Free Pascal(FPC) はオープンソースの Pascal コンパイラであり、以下の2つの大きな特徴を持ちます。
Lazarusに備えられているLazarus Component Library (LCL)DelphiのVisual Component Library(VCL)と高い互換性を持っています。
 
LCLには多くの有名なVCLコントロールと同じようなフォームやボタン、テキストボックスなどがあり、これらを適切に配置することでグラフィカルユーザーインターフェイス(GUI)を持ったアプリケーションが作成可能です。
 
  
FreePascalも、Lazarusも、Pascalで作られています。完全なソースコードは、Free PascalコンパイラやLazarusだけでなく、FreePascalのRTLや、LazarusのLCLの全てのユニットのものが公開されています。
+
*Delphi と高い互換性がある
 +
*各種プラットホーム(Windows、Mac OS X、Linux)へ対応している。
  
Delphiのように、Free PascalとLazarusはどちらも一般的なプログラミングツールです。
 
これは、下記のように、幅広く、様々なプログラムを開発できる、ということを意味しています。
 
  
 +
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ではコンソールを通常コマンドプロンプトウィンドウと呼びます。OSXやLinuxでは通常ターミナルウィンドウと言われます。WindowsのFC(ファイル比較)やUnixにおけるcdやcpコマンドのような小さいユーティリティがその一例です。 コンソールアプリケーションはGUIがなくても他のプログラムやバッチファイルから利用することによって強力な処理系統となりえます。Free Pascalとそれに含まれたユーティリティプログラムはすべてバッチファイルやLazarus IDEからの利用が可能です。
+
コンソールアプリケーションは GUI を持ちません。 コンソール上で実行し、コンソールから入力を読み込み、コンソールに出力します。 コンソールは、Windows では コマンドプロンプト、 Mac OS X や Linux では ターミナルウィンドウ と呼ばれます。
  
あなたはコンソールアプリケーションをテキストエディタとFree Pascalコンパイラのみで開発することができます。lazarusでコンソールアプリケーションの開発を行う必要はありません。ただし、統合環境を使いたければ、Lazarus IDE上でコンソールアプリケーションプロジェクトを作成し、ソースコードを編集し、コンパイルを行うことができます。
+
コンソールアプリケーションには、Windows の FC(ファイル比較) や Unix の cd や cp コマンドのような小さいユーティリティが含まれます。 また、コンソールアプリケーションは GUI を必要としないことから、他のプログラムやバッチファイル(Unix/Linux では、シェルスクリプト)から利用できるため、大量のデータ処理やモデリングにとって強力プログラムに成ります。
  
=== 動的リンクライブラリ ===
+
Free Pascal コンパイラとそのユーティリティプログラムは、全てコンソールアプリケーションであるため、バッチファイルや Lazarus IDE からの利用が可能です。
  
動的リンクライブラリは既にコンパイルされた関数の集合であり、それを他のプログラムから呼び出すことができます。名前が示すように、ライブラリは実行ファイルのコンパイル時にリンクする必要はなく、実行時に呼び出すことになります。Windowsでは、ライブラリファイルは.dll(ダイナミックリンクライブラリ、もしくはDLL)の拡張子が付けられます。OS Xにおいては.dylib(dynamic shared library)の拡張子を持ち、Linuxでは.so(shared object library)の拡張子を持っています。
+
また、コンソールアプリケーションはテキストエディタと Free Pascal コンパイラだけで開発可能です。 もちろん、必要に応じて Lazarus IDE 上で作成することもできます。
動的組み込みライブラリの用途は他のプログラムに対して、新たな機能を追加するために開発したり、CやC++で開発されるプログラムに機能を提供したり、あまりに大きいプロジェクトの機能の分割を行う際などに使われます。OpenOffice.orgのような利用もありますし、Windows自体も大量のDLLで成り立っています。
 
  
コンソールアプリケーションと同じようにテキストエディタとFree Pascalコンパイラのみで動的リンクライブラリを開発できます。また、Lazatus IDE上にてライブラリのプロジェクトを作って開発することもできます。
+
=== 動的リンクライブラリ(DLL) ===
  
Windows上ではDLLはとても複雑で不安定である、と言われています。これは、それらがしばしばインストールするのに、まわりまわって自分自身を必要とする、といった依存関係などがあげられます。実際のところ、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アプリケーション ===
  
わたしたちが日常で使用する多くのプログラムはGUIアプリケーションです。ワープロ、ウェブブラウザ、表計算プログラム、そして多くの開発ツールもその中のひとつです。LazarusやDelphiは完全装備のGUIアプリケーションのよい見本です。
+
わたしたちが利用する多くのプログラム(ワープロ、ウェブブラウザ、表計算ソフトなど)は GUI アプリケーションです。 Lazarus や Delphi も GUI アプリケーションのよい見本です。
LazarusでGUIアプリケーションを開発するとき、あなたは単にPascalでユニットのコードを書くほかに、視覚的なコントロール、たとえばボタンやテキストボックスなどを用いてフォームをデザインすることができます。
+
 
Delphiと同様に、Lazarusでもフォームのデザインが視覚的に可能です。IDEやコードでコントロールのプロパティを設定することもできます。
+
Lazarus で GUI アプリケーションを開発する際には、Pascal でユニットのコードを書くことに加え、ボタンやリストボックスなどの視覚的なコントロールを用いてフォームをデザインする必要があります。 Delphi のように Lazarus でのフォームのデザインは視覚的に行われ、コントロールのプロパティは IDE やコードから設定できます。
  
LCLはサポートしているプラットホームで使用が可能です。GUIアプリケーションはひとつのプラットホーム(例えばWindows)で開発していても、他のプラットホーム(OS XやLinux)用にコンパイルすることが可能で、フォームのデザインやコードを変更する必要はありません。
+
LCL のコントロールは対応する全てのOSで使用できるため、ひとつのプラットホーム(例えば Windows )で開発した GUI アプリケーションは、フォームのデザインやコードを変更しないで他のプラットホーム ( Mac OS X や Linux )用にコンパイルすることができます。

Latest revision as of 10:31, 23 May 2009

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)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報


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 )用にコンパイルすることができます。