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

From Lazarus wiki
Jump to navigationJump to search
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Overview of Free Pascal and Lazarus}}
 
{{Overview of Free Pascal and Lazarus}}
  
Free Pascal (FPC)2つの著しい特徴を持った、オープンソースのPascalコンパイラです。: Delphiとの互換性と多くのプラットホームへの対応です。Windows、Mac OS X、そしてLinuxに対応しています。Free Pascal'のDelphi互換性はObject Pascalプログラミング言語をサポートすることだけに限らず、Delphiで使える強力なルーチンのライブラリやクラスが利用可能です。 よくしられているSystem、SysUtils、StrUtils、DateUtils、Classes、Variants、Math、IniFilesそしてRegistryなどのユニットがありますし, Free Pascalの動作するすべてのプラットホームで動作します。 Free Pascalには他にもWindows、ShellAPI、BaseUnix、Unix そしてDynLibsといった固有のオペレーティングシステムで利用可能なユニットもあります。Free Pascalランタイムライブラリ(RTL)はこれらの要素で構成されています。
+
{{Japanese Menu}}
  
Lazarusはオープンソースの開発環境で、Free Pascalコンパイラによって作られ、それを使う統合開発環境(IDE)で、予約語の強調が可能なコードエディタと視覚的なフォームデザイナを持っています。コンポーネントライブラリはDelphiのVisual Component Library(VCL)と高い互換性を持っています。Lazarus Component Library (LCL)は多くの有名なVCLコントロールと同じようにフォームやボタン。テキストボックスなどを適切に配置することでグラフィカルユーザーインターフェイス(GUI)を持ったアプリケーションが作成可能です。
 
  
Both Free Pascal and Lazarus are written in Pascal. Complete source code is available not only for the Free Pascal compiler and Lazarus IDE, but also for all units that make up the Free Pascal RTL and Lazarus LCL.
+
=== FreePascal と Lazarus ===
  
Like Delphi, Free Pascal and Lazarus are both general-purpose programming tools, meaning you can develop a wide variety of programs with them, including the following:
+
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ではコンソールを通常コマンドプロンプトウィンドウと呼びます。OSXやLinuxでは通常ターミナルウィンドウと言われます。WindowsのFC(ファイル比較)やUnixにおけるcdやcpコマンドのような小さいユーティリティがその一例です。 コンソールアプリケーションはGUIがなくても他のプログラムやバッチファイルから利用することによって強力な処理系統となりえます。Free Pascalとそれに含まれたユーティリティプログラムはすべてバッチファイルやLazarus IDEからの利用が可能です。
+
コンソールアプリケーションは GUI を持ちません。 コンソール上で実行し、コンソールから入力を読み込み、コンソールに出力します。 コンソールは、Windows では コマンドプロンプト、 Mac OS X や Linux では ターミナルウィンドウ と呼ばれます。
 +
 
 +
コンソールアプリケーションには、Windows の FC(ファイル比較) や Unix の cd や cp コマンドのような小さいユーティリティが含まれます。 また、コンソールアプリケーションは GUI を必要としないことから、他のプログラムやバッチファイル(Unix/Linux では、シェルスクリプト)から利用できるため、大量のデータ処理やモデリングにとって強力プログラムに成ります。
 +
 
 +
Free Pascal コンパイラとそのユーティリティプログラムは、全てコンソールアプリケーションであるため、バッチファイルや Lazarus IDE からの利用が可能です。
 +
 
 +
また、コンソールアプリケーションはテキストエディタと 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) となります。
  
動的組み込みライブラリは既にコンパイルされた関数群を持っており、それを他のプログラムから呼び出すことができます。名前が示すように、ライブラリは実行ファイルのコンパイル時にリンクする必要はなく、実行時に呼び出すことになります。Windowsでは、ライブラリファイルは.dll(ダイナミックリンクライブラリ、もしくはDLL)の拡張子が付けられます。OS Xにおいては.dylib(dynamic shared library)の拡張子を持ち、Linuxでは.so(shared object library)の拡張子を持つことになります。動的組み込みライブラリは他のプログラムに対して、新たな機能を追加するために開発したり、CやC++で開発されるプログラムに機能を提供したり、あまりに大きいプロジェクトの機能の分割を行う際などに使われます。OpenOffice.orgのような利用があるようにWindows自体も大量のDLLで成り立っています。
+
DLL はプログラムへの機能追加や、CやC++などの他の言語から呼び出されるライブラリや、大きなプロジェクトを分割して開発しやすくするために利用されます。 Windows や OpenOffice.org のような大きなアプリケーションもDLLから構成されています。
  
コンソールアプリケーションと同じようにあなたはテキストエディタとFree Pascalコンパイラのみでライブラリを開発できます。また、Lazatus IDE上にてライブラリのプロジェクトを作って開発することもできます。
+
DLL もコンソールアプリケーションと同様に、テキストエディタと Free Pascal コンパイラだけで開発できます。 もちろん Lazatus IDE も利用できます。
  
Windows上ではDLLは酷く複雑で不安定である、とも言われています。
+
Windows では DLL は複雑で不安定という不当な評価を受けていました。 この評価は、DLL 自体ではなく DLL をしばしばインストールする必要がある点に対する評価でしょう。 実際に DLL と情報のやり取りをするには、基本的な単純なデータ型(言語に特徴的なオブジェクトや構造体を使うよりも)を使うため、プログラマは細かい注意を払う必要があります。 正しく実装されたならば、よりよい結果が得られ、よりプログラムは安定するでしょう。
This has more to do with the way they've sometimes been installed than it does with DLLs themselves. Actually, since passing information to and from DLLs is normally done with standard, simple data types (rather than with language-specific objects or structures), this requirement forces programmers to pay more attention to what they're doing. If done right, this can result in better, more stable programs.
 
  
 
=== GUIアプリケーション ===
 
=== GUIアプリケーション ===
  
わたしたちが日常で使用する多くのプログラムはGUIアプリケーションです。ワープロ、ウェブブラウザ、表計算プログラム、そして多くの開発ツールもその中のひとつです。LazarusとDelphiは完全装備のGUIアプリケーションのよい見本です。LazarusでGUIアプリケーションを開発するとき、あなたは単にPascalでユニットのコードを書くばかりでなく、視覚的なコントロール、たとえばボタンやテキストボックスなどを用いてフォームをデザインします。Delphiに似てLazarusではフォームのデザインが視覚的に可能です。IDEかコードでコントロールのプロパティを設定することも可能です。
+
わたしたちが利用する多くのプログラム(ワープロ、ウェブブラウザ、表計算ソフトなど)は GUI アプリケーションです。 Lazarus や Delphi も GUI アプリケーションのよい見本です。
 +
 
 +
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 )用にコンパイルすることができます。