Overview of Free Pascal and Lazarus/de

From Free Pascal wiki
Revision as of 20:58, 21 April 2006 by Swen (talk | contribs)
Jump to navigationJump to search

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)

Free Pascal (FPC) ist ein Open-Source Pascal Compiler mit zwei bemerkenswerten Features: ein hohes Maß an Delphi Kompatibilität und die Verfügbarkeit auf verschiedenen Plattformen, inklusive Windows, Mac OS X und Linux. Die Free Pascal Kompatibilität mit Delphi beinhaltet nicht nur die Unterstützung für die selbe Object Pascal Programmiersprache, die Delphi verwendet, sondern auch für viele Bibliotheken mit leistungsstarken Routinen und Klassen, für die Delphi mit Recht bekannt ist. Dies beinhaltet vertraute Units wie System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles und Registry, die in Free Pascal enthalten sind auf allen unterstützten Plattformen. Free Pascal enthält auch Units wie Windows, ShellAPI, BaseUnix, Unix und DynLibs für den Zugriff auf plattformspezifische Features. Dieses (ungefähre) Dutzend von Units bildet den Kern dessen, was üblicherweise die Free Pascal Laufzeitbibliothek (RTL) genannt wird.

Lazarus ist ein Open-Source Entwicklungssystem, das auf dem Free Pascal Compiler aufbaut by adding an integrated development environment (IDE) that includes a syntax-highlighting code editor and visual form designer, as well as a component library that's highly compatible with Delphi's Visual Component Library (VCL). Die Lazarus Component Library (LCL) enthält Entsprechungen für viele vertraute VCL Bedienelemente wie Formulare, Schaltflächen, Textfelder und so weiter, die verwendet werden, um Anwendungen zu erzeugen, die ein graphical user interface (GUI) haben.

Beide, Free Pascal und Lazarus sind in Pascal geschrieben. Der komplette Quellcode ist verfügbar nicht nur für den Free Pascal Compiler und die Lazarus IDE, sondern auch für alle Units, die die Free Pascal RTL und die Lazarus LCL ausmachen.

Wie Delphi sind Free Pascal und Lazarus Mehrzweck-Programmier-Werkzeuge. Das bedeutet sie können eine große Vielfalt von Programmen mit ihnen entwickeln, inklusive der folgenden:

Konsolenanwendungen

Konsolenanwendungen haben kein GUI. Stattdessen werden sie üblicherweise von der Konsole gestartet, lesen ihren input von der Konsole, und schreiben ihren output in die Konsole. In Windows the console is usually referred to as a command prompt window. In OS X und Linux the console is referred to as a terminal window. Konsolenanwendungen beinhalten Dinge wie kleine Werkzeuge wie z.B. das Windows FC (file compare) Programm oder den Unix cd und cp Kommandos. Konsolenanwendungen können auch mächtige Zahlenverarbeitungs-, Modellierungs- oder Datenverarbeitungsprogramme sein, die kein extravagantes GUI benötigen, weil sie von anderen Programmen oder Batchdateien gestartet werden. Der Free Pascal Compiler und die darin enthaltenen Werkzeugprogramme sind alle Konsolenanwendungen, was bedeutet daß sie von der Konsole gestartet werden können, einer Batchdatei, oder von der Lazarus IDE.

Sie können eine Konsolenanwendung mit nicht mehr als einem Texteditor und dem Free Pascal Compiler erzeugen. Sie müssen nicht Lazarus benutzen, um Konsolenanwendungen zu erstellen. Wie auch immer, wenn sie die Arbeit in einer IDE bevorzugen, können sie Lazarus verwenden, um ein Projekt für die Konsolenanwendung zu erstellen und dann den Code in der Lazarus IDE bearbeiten und kompilieren.

Dynamisch ladbare Bibliotheken

Ein dynamisch ladbare Bibliothek ist üblicherweise eine Kollektion von kompilierten Funktionen, die von anderen Programmen aufgerufen werden können. Wie der Name suggeriert, ist die Bibliothek nicht zur compile-time in ihr executable gelinkt, sondern stattdessen zur Laufzeit geladen. Unter Windows hat eine Bibliotheksdatei eine .dll Erweiterung (dynamic-link library, oder DLL). Unter OS X hat eine Bibliotheksdatei eine .dylib Erweiterung (dynamic shared library). Unter Linux hat eine Bibliotheksdatei eine .so Erweiterung (shared object library). Dynamisch ladbare Bibliotheken werden typischerweise verwendet um Add-ons für andere Programme zu entwickeln, um Bibliotheken zu entwickeln, die von Programmen aufgerufen werden, die in anderen Sprachen wie C und C++ geschrieben wurden, oder um große Projekte in Stücke zu teilen, so daß sich die Projektentwickler nicht gegenseitig auf die Zehen treten. Windows selbst besteht aus hunderten von DLLs, so wie viele andere große Anwendungen wie OpenOffice.org.

Wie bei Konsolenanwendungen benötigen sie nur einen Texteditor und den Free Pascal Compiler, um eine Bibliothek zu entwickeln, obwohl sie auch ein Lazarus Projekt erstellen können für die Bibliothek und diese in der Lazarus IDE entwickeln können.

Unter Windows haben DLLs einen unverdienten Ruf, übermäßig komplex und unstabil zu sein. Dies hat mehr zu tun mit der Art und Weise, mit der sie manchmal installiert wurden als mit den DLLs selbst. Actually, since passing information to and from DLLs is normally done with standard, einfachen Datentypen (eher als mit sprachspezifischen Objekten oder Strukturen), this requirement forces programmers to pay more attention to what they're doing. Wenn das richtig gemacht wird, kann es zu besseren, stabileren Programmen führen.

GUI Anwendungen

Die meisten Programme, die wir täglich nutzen, sind GUI Anwendungen, inclusive Textverarbeitung, Internetbrowser, Tabellenkalkulation, sogar vielen Entwicklungswerkzeugen. Lazarus und Delphi sind beide gute Beispiele von full-featured GUI Anwendungen. Wenn sie eine GUI Anwendung mit Lazarus entwickeln, entwickeln sie nicht nur Units mit Pascal Code, sie entwerfen auch Formulare, die visuelle Bedienelemente wie Buttons und Listboxen enthalten. Wie in Delphi, wird das Formulardesign in Lazarus visuell erledigt. Elementeigenschaften können in der IDE gesetzt werden oder im Code.

Seit die LCL Bedienelemente für alle unterstützten Plattformen verfügbar sind, kann eine GUI Anwendung, die auf einer Plattform entwickelt wurde (zum Beispiel, Windows), kompiliert werden auf anderen Plattformen (zum Beispiel, OS X oder Linux) ohne jede Änderung am Formulardesign oder den Quelldateien.