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

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

Revision as of 12:46, 27 January 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 の高い互換性は、 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 )用にコンパイルすることができます。