Glossary/de

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 中文(台灣)‎ (zh_TW)

Diese Seite wird niemals komplett sein. Ich ermutige Sie, hier Stichworte anzufügen, die:

  • sich auf dieses Wiki beziehen
  • sich auf Freepascal beziehen
  • sich auf Lazarus beziehen

Beachten Sie, dass das buildfaq ebenfalls ein Glossar zu FPC/Lazarus enthält.


Contents

# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

#

A

Ada

Eine Computersprache, die von Pascal und Modula abstammt, und benannt ist nach der Freundin von Charles Babbage. Babbage (1791-1871), ein Engländer, war einer der ersten Vordenker in der Entwicklung von Computern und veröffentlichte den Entwurf einer 'difference engine', einer mechanischen Rechenmaschine (die aber nie wirklich gebaut wurde). Ada King, Countess of Lovelace war eine Studentin/Kollegin von Babbage und schrieb ein Programm zum Betrieb der 'difference engine'; sie kann als die erste Programmiererin eines Computers angesehen werden. (Es wurde ihr eine romantische Beziehung zu Babbage nachgesagt; Ada war auch die Tochter des Dichters Byron).

Ada ist eine prozedurale Computer-Hochsprache, mit sehr ähnlicher Struktur und Syntax zu Pascal, aber mit einigen Erweiterungen. In den 1980ern beschloss das US-Verteidigungsministerium, dass alle von ihm in Auftrag gegebenen Programmierungen in Ada durchzuführen seien, aber unglücklicherweise mangelte es an geeigneten Compilern und Entwicklungswerkzeugen, und die Sprache erlangte nie große Popularität. Sehr wenige Anwendungen für das US-Militär wurden tatsächlich in Ada geschrieben.

Assembler, Assembler-Sprache

Ein Assembler wandelt von Menschen lesbare Symbole (die Maschinenanweisungen darstellen) in die binären Anweisungen um, die von einem Computer ausgeführt werden. Beispielsweise würde ein Assembler den Befehl

LD a,b # lade den Inhalt der Speicherstelle a in die Speicherstelle b

übersetzen in eine Binärsequenz wie 01110010, die von der Maschine ausgeführt werden kann. Die Assemblersprache ist die Liste von festgelegten Anweisungen, die von einem Programmierer in einem Programm geschrieben werden können, welches der Assembler in Maschinencode übersetzt.

Ein Assembler unterscheidet sich von einem Compiler dadurch, dass er prozessor-spezifisch ist (d.h. verschiedene Assembler für i386, MC68000, ARM Prozessoren etc.) und dadurch, auf einer niedereren Ebene zu sein: er verarbeitet sehr spezifische Anweisungen zum Bewegen von Daten und zu detaillierten arithmetischen Operationen. Viele Compiler (inklusive FreePascal) erlauben dem Programmierer, in den hochsprachlichen Quellcode auch Bereiche mit Assembler einzufügen; solche Bereiche sind natürlich nur sinnvoll für den Prozessor für den sie beabsichtigt sind. Im Gegensatz dazu können Compiler Programme übersetzen, die auf einer Vielzahl unterschiedlicher Prozessoren funktionieren.

API

Application Program Interface (= dt. Schnittstelle zur Anwendungsprogrammierung, kurz: Programmierschnittstelle)

Ein Satz von Werkzeugen wie z.B. Prozedur-/Funktionsaufrufe, die es Programmierern erlauben, ein bestimmtes Softwarepaket zu benutzen.

Ein Beispiel ist die API für das MySQL - Datenbanksystem; seine Autoren haben einen Satz von Definitionen für Prozedur-/Funktionsaufrufe veröffentlicht, mit detaillierten Spezifikationen aller Parameter oder Argumente für jede einzelne Funktion. Die ursprüngliche MySQL API war festgelegt für die Programmierung in C, aber die Entwickler von FreePascal haben einen Satz von entsprechenden Prozedur-/ Funktionsaufrufsdefinitionen in Pascal geschrieben, die es FreePascal oder Lazarus- Programmierern gestatten, auch die Bibliothek der MySQL - Funktionsaufrufe zu verwenden.

Ein sehr wichtiger Teil einer jeden API ist seine Dokumentation und jede Konvertierung einer API - Bibliothek für eine andere Programmierumgebung (z.B. von C zu FreePascal) erfordert eine Menge wirklich exzellenter Dokumentationen / Beschreibungen.

B

BASIC

Beginner's All-purpose Symbolic Instruction Code (= dt.: „symbolische Allzweck-Programmiersprache für Anfänger“)

Eine Computersprache, die einst als Übungswerkzeug populär war oder auch als Experimentierwerkzeug für die Programmierung. Als eine interpretierte Sprache war es einfach und schnell, damit an seinen Programmen Änderungen vorzunehmen und die Auswirkungen zu sehen. Der Programmierer gab jeder Anweisung eine Zeilennummer (üblicherweise in 10er Schritten) und die Ausführung der Anweisungen entsprach der Reihenfolge der Zeilennummern. Zusätzliche Zeilen wurden mit dazwischenliegenden Zeilennummern eingefügt (z.B zwischen Zeile 10 und Zeile 20 wird Zeile 15 eingeschoben). Der Sprache fehlte eine klare Programmstruktur: die Ausführung konnte mit GOTO - Anweisungen umgeleitet werden. Dies begünstigte die Entwicklung eines recht undisziplinierten Programmierstils durch unkontrollierten Einsatz von GOTOs - in mancher Hinsicht war BASIC die exakte Antithese zu Pascal mit seiner strengen Betonung einer strukturierten Programmierung.

BASIC hat jüngst etwas an Gunst verloren, teils wegen der ihm anhaftenden Defizite, teils wegen der Einführung von Sprachen wie Pascal und C und teils wegen riesiger Fortschritte in der Geschwindigkeit der Computer und der Leistung von Compilern, sodass kompilierte Programme rasch geschrieben, ausgeführt und debugged werden konnten. Es gab einige Versuche BASIC zu verbessern: Microsofts Visual Basic hat einige rudimentäre Strukturen und verwendet keine Zeilennummern mehr (und braucht deshalb auch weniger GOTOs). Aber diese jüngeren Varianten haben fast nichts mehr mit dem Ur-BASIC gemein und verdanken viel davon C und einigen Kommandozeilen- oder Skript-Sprachen. Tatsächlich sehen einige Visual Basic Programme recht ähnlich zu FreePascal- oder Lazarus- Programmen aus.

Boolean

Ein logischer Datentyp in Pascal und anderen Programmiersprachen, der nur eine von zwei Werten annehmen kann, nämlich Wahr (True) oder Falsch (False).

Benannt nach George Boole, einem Pionier der logischen (Boole'schen) Algebra.

Siehe Boolean_Expressions für eine vollständige Beschreibung.

Bug

Ein Fehler in einem Programm, der ein katastophales Versagen einer Maschine bewirken könnte, ein Versagen des Programmes oder auch einfach eine fasche Ausführung oder Programmausgabe. Dieser Ausdruck stammt aus der Zeit als Computer noch aus Vakuumröhren aufgebaut waren: Käfer (Wanzen), die im Innernen des Apparates herumkrochen, konnten Kurzschlüße verursachen, die zu Hardwarefehlern oder unvorhersehbaren Ergebnissen führten.

Die meisten Entwicklungsteams von Software begrüßen die Rückmeldung von Fehlern durch die Benutzer der Software. Dadurch können Fehler in nachfolgenden Versionen beseitigt werden. Deshalb haben Software-Projekte einen klar definierten Fehlerberichtsmechanismus (zum Beispiel Lazarus BugTracker).

C

C (Programmiersprache)

Eine weitverbreitete Computer-Programmiersprache, besonders hilfreich in der Systemprogrammierung. Sie bildet die Basis für den größten Teil des Linux-Betriebssystems und - soweit wir feststellen können - auch für das Windows-System. Ihr größter Nachteil ist die unzureichende Strenge, die es erlaubt, dass sich schlechte Programmiergewohnheiten einschleichen. Sie ist auch sehr anfällig für Probleme wie Speicherlecks und Pufferüberläufe. Im Gegensatz dazu legt Pascal dem Programmierer viel strengere Disziplin auf und fördert die Entwicklung guter Programmiergewohnheiten und -praktiken.

Siehe auch Pascal for C users

C++

Eine Variante von C, die auch Konstrukte der objektorientierten Programmierung enthält.

C#

Eine Sprache, die recht stark von Microsoft unterstützt wird und für ihre .NET -Plattform entwickelt wurde. Sie hat eine Syntax basierend auf C++, die auch Aspekte aus anderen Programmiersprachen beinhaltet, besonders von Object Pascal und Java.

CCR

Code and Component Repository (= dt.: Code- und Komponenten-Archiv)

Das Lazarus Code & Component Repository auf SourceForge ist der Speicherort für die Dokumentationsdateien von Lazarus und für einige Komponentenbibliotheken.

Class (Klasse)

Eine besondere Art von Objekten in der Objektorientierten Programmierung.

Eine Klasse ist ein Zeiger auf ein Objekt; ihre Deklaration ähnelt der eines Objekts.

COBOL

COmmercial and Business Oriented Language (= dt.: Kaufmännische und Geschäftsorientierte Sprache)

Eine Sprache, die in der Geschäftswelt in den 1960ern und später weit verbreitet war. Trotz ihrer Defizite und der Einführung neuerer Sprachen, ist sie noch immer an vielen Orten im Einsatz, wenn auch nur als Überbleibsel in einigen Spezialbereichen. Das wohl aktuellste Beispiel dafür ist der Staat Kalifornien ([1]), wo das staatliche Lohnzahlungssystem noch immer COBOL verwendet. Der Erlass des Gouverneurs zu Gehaltskürzungen der Staatsangestellten bereitete dort größere Probleme, weil es nicht mehr genug COBOL-Programmierer gibt!

Command Line Interpreter (Befehlszeilen-Interpreter)

CLI

Ein Programm das auf den meisten Computer-Betriebssystemen vorhanden ist. Es untersucht einen Daten-Eingabe-Strom, entweder von der Tastatur (Konsolenmodus) oder von einer Textdatei (Batch- bzw. Stapelmodus), und interpretiert oder analysiert den Text, um darin Anweisungen zu finden, die die Ausführung von Befehlen des Betriebssystems, den Start von Programmen oder von Anweisungsskripts bewirken.

Die CLI-Umgebung, wo der Benutzer die Befehle an einer Konsole eingibt, steht im Gegensatz zur Grafischen Benutzeroberfläche (GUI), wo der Benutzer mehr die Maus verwendet und eher Bilder als Text dem Benutzer die Informationen vermitteln.

Compiler

Ein Programm, das von Menschen lesbaren Quellcode - üblicherweise in einer höheren Programmiersprache wie Object Pascal, C++, Algol, FORTRAN oder Ada - übersetzt in Maschinencode zur Ausführung durch einen Computer.

Eine Kompilierung umfasst normalerweise mehrere Schritte: Analyse des Quelltextes zum Aufspüren von Syntaxfehlern, Übersetzung des Quellcodes in Maschinenanweisungen, und Einbinden (= engl. linking) des resultierenden Codes mit Bibliotheken, um daraus zuletzt eine von Maschinen ausführbare Anwendung zu erzeugen.

Siehe auch die Einträge Compiler/de und Compilers im Lazarus-Wiki.

Component

Eine Komponente ist ein kleines Stück Code, das typischerweise besteht aus einer Datendefinition und einigen Methoden. Diese definieren und beschreiben eine Aktion oder eine Folge von Aktionen in einer Pascalanwendung. Komponenten werden meist entsprechend ihrer Funktionen gruppiert in Bibliotheken wie der FreePascal Component Library (FCL), Lazarus Component Library (LCL) oder Run Time Library (RTL), sodass sie in vielen Anwendungen wieder verwendet werden können.

Cross Compilation

ist das Kompilieren eines Programms auf einem Computertyp für die tatsächliche Verwendung auf einem anderen Computer mit einem anderen Prozessor oder einem anderen Betriebssystem. Beispielsweise können Pascal-Programme mit einem Cross-Compiler auf einem PC unter Linux kompiliert und auf einem PC unter Windows ausgeführt werden, oder Programme werden auf einem PC kompiliert und laufen auf einem PDA wie dem Sharp Zaurus oder Geräten, die WinCE verwenden.

Ein weiteres typisches Beispiel ist die Cross-Kompilierung des FreePascal-Compilers oder der Lazarus-IDE auf einer Plattform wie Linux zur Verwendung auf einer anderen Plattform wie Windows oder auf dem Macintosh-Computer, der einen vollkommen anderen Prozessor benutzt.

CrossPlatform

Dieser Begriff beschreibt üblicherweise Programme, die unter mehreren unterschiedlichen Betriebssystemen und Plattformen wie Windows, Linux und OSX ausgeführt werden können. Beispiele sind der FreePascal-Compiler und Lazarus, die OpenOfficeOrg-Suite von Büroprogrammen, die Mozilla-Familie von Webbrowsern und e-Mail-Server.

CVS

Concurrent Version System (siehe auch Subversion SVN). Ein System zur Abwicklung einer geordneten Entwicklung einer Softwaresuite trotz des Zugriffs mehrerer Autoren. Ein Repositorium wird eingerichtet, von dem sich die Entwickler Dokumente oder Dateien abholen können, und zu dem sie das bearbeitete Material zurücksenden können. Üblicherweise steht das Zusenden von neuem oder bearbeiteten Material unter der Kontrolle eines (oder mehrerer) Moderators oder Administrators. Dadurch wird eine strenge Versionskontrolle sichergestellt.

D

DataBase, Datenbank

Eine Computeranwendung zur strukturierten Speicherung einer großen Menge von Daten und zum einfachen Zugriff auf diese. Viele Webseiten im Internet machen einen intensiven Gebrauch von Datenbanken: zum Beispiel hält ein Händler seinen Warenkatalog in einer Datenbank und seine Geschäftstransaktionen in einer zweiten, verknüpften Datenbank; ein Software-Entwicklungsteam (wie das FreePascal-Team) könnte seine Programme und Unterprogramme in einer Datenbank verwalten; ein medizinisches Forschungsteam könnte seine Fallstudien (Case Report forms, CRFs) in einer Datenbank speichern.

Einige typische Beispiele sind MySQL, PostgreSQL, Oracle, DB2. Viele von diesen benutzen als gemeinsamen Standard die [Glossary/de#SQL|Structured Query Language]], um Daten in die Datenbank zu stellen oder aus ihr abzufragen. FreePascal/Lazarus hat Verknüpfungen zu einigen dieser Datenbanksystemen.

Ein Datenbanksystem besteht typischerweise aus den eigentlichen Datendateien, einem Server der diese Dateien liest oder schreibt, und einem Klienten, der die Anweisungen des Benutzers interpretiert.

Siehe auch den Eintrag Datenbanken im Haupt-Wiki

Delphi

Eine exzellente, kommerzielle, auf Pascal basierende RAD Entwickungsumgebung (IDE) für Windows; ursprünglich entwickelt von der Firma Borland, später Inprise, später CodeGear, heute Embarcadero.

FreePascal ist in weiten Teilen mit Delphi kompatibel, sodass für Delphi geschriebene Anwendungen recht einfach auf FreePascal/Lazarus übertragen werden können. Der FreePascal-Compiler hat einen Delphi-Kompatibilitätsmodus (mittels der Compiler-Direktive {$MODE Delphi} oder der Befehlszeilenoption -Sd).

Heute scheint ein sklavisches Festhalten an den Konstrukten und Standards von Delphi nicht mehr unbedingt erforderlich. Die Entwickler von FreePascal haben viele der Delphi-Konstrukte verbessert, und produzieren in vielen Fällen eine flexiblere und besser einsetzbare Programmierumgebung. Sämtliche Prozeduren, Funktionen, Klassen und andere Programmierelemente sind von den FreePascal-Entwicklern von Grund auf neu geschrieben worden, gänzlich unabhängig vom Delphi-Code.

Debugger

Ein Computerprogramm, das von Entwicklern dazu verwendet wird, bei der Entwicklung eines neuen Programms die Ausführung zu kontrollieren und anzuzeigen, wo ein Programm Fehler enthält. Ein Debugger zeichnet den aktuellen Punkt der Programmausführung auf (z.B. die Zeilennummer im Quelltext), den Inhalt der Variablen des Programms, und liefert oft auch eine Fehlerverfolgung (back-trace), die im Falle eines Fehlers anzeigt, welche Anweisungen dem Fehler unmittelbar vorangegangen sind.

Der Gnu Debugger GDB wird in FreePascal/Lazarus-Systemen verwendet; deshalb muss GDB auf diesen Systemen installiert sein. Unter Linux und anderen Unix-ähnlichen Systemen kann die originale Gnu/Linux-Version leicht installiert werden; unter Windows ist eine spezielle Windows-Version des GDB in den offiziellen Lazarus-Paketen enthalten; alternativ dazu kann GDB für Windows aus den Quelltexten kompiliert und in Verbindung mit dem CygWin-Emulator ausgeführt werden.

Derzeit ist die Dokumentation über das Debuggen unter FreePascal/Lazarus recht unvollständig. Es wird den Benutzern daher geraten, auf die Dokumentation der GDB-Webseite zurückzugreifen.

diff

Ein GNU- Programm zum Anzeigen der Unterschiede zwischen zwei Dateien oder auch zwei Verzeichnissen.

Es wird von Software-Entwicklern verwendet, um Änderungen im Code zu überprüfen, bevor eine bearbeitete Quelltextdatei an ein Repositorium wie SVN übertragen wird. Die Ausgabe von diff kann auch benutzt werden, um einen Patch zu erzeugen. So ein Patch wird auf eine Quellcodedatei angewendet. Dadurch werden nur die notwendigen Korrekturen vorgenommen und man erspart sich die Übertragung der gesamten Datei.

E

Editor

Texteditor - eines der wichtigsten Werkzeuge zur Programmentwicklung.

Der Quellcode der meisten Computerprogramme besteht aus Textzeilen mit den Programmanweisungen in einer logischen Abfolge. Ein Texteditor ist zur Eingabe des Quellcodes und zu seiner Bearbeitung oder Korrektur notwendig.

Alle Betriebssysteme enthalten einen oder mehrere Texteditoren, einige sehr primitiv (so wie ED oder EDLIN unter DOS/Windows oder ED, vi unter Unix/Linux) und einige recht hochentwickelt (so wie NotePad und WordPad unter Windows, GEdit, KATE, KWrite und EMACS unter Unix/Linux). Es ist sogar möglich (aber keinesfalls empfohlen) ein Textverarbeitungsprogramm zur Bearbeitung des Quelltextes zu nehmen.

Viele Texteditoren bieten Syntax-Hervorhebung (d.h. Schlüsselwörter, Datentypen oder die Ebenen in verschachtelten Anweisungen werden mittels unterschiedlicher Farben dargestellt). Eine automatische Einrückung macht Programmstrukturen leichter erkennbar. Viele Editoren haben Möglichkeiten zur Suche und zum Ersetzen, manche erkennen den Anfang von Unterprogrammen (Prozeduren und Funktionen) oder öffnen Include-Dateien falls erforderlich.

Sowohl die FreePascal- als auch die Lazarus - IDE haben einen integrierten Texteditor. Beide sind die empfohlenen Editoren zur Programmentwicklung mit dem FreePascal-Compiler. Es können aber auch Programme, die mit anderen Editoren entwickelt wurden, an den Compiler übergeben werden, vorausgesetzt, sie sind syntaktisch und logisch korrekt.

Jeder Benutzer wird seinen Lieblingseditor finden und dessen Vorzüge und Einschränkungen kennen. Trotzdem sind Streitereien zwischen den Anhängern dieses oder jenes Editors manchmal fast ebenso hitzig wie Streitereien über das bevorzugte Betriebssystem!!

F

FCL

Free Component Library (dt.: Freie Komponenten-Bibliothek)

Die wichtigste Sammlung von Komponenten, die von Free Pascal benutzt wird. Siehe auch: RTL (Run Time Library) und LCL (Lazarus Component Library)

FORTRAN

Prozedurale Sprache für FORmula TRANslation (= dt.: Formelübersetzung).

Einst sehr beliebt für akademische, wissenschaftliche and technische Programme, ihr Schwerpunkt lag darin, Aufgaben effizient zu erledigen - sehr gut für rechenintensive Anwendungen, aber wenige Zugeständnisse an ein einfaches Benutzerinterface.

FORTRAN litt an seiner eher starren syntaktischen und formelhaften Struktur, obwohl spätere Versionen weniger Kanten hatten und auch eine fensterorientierte Benutzerumgebung mit interaktiver Eingabe/Ausgabe.

Sie ist dennoch eine der besten Sprachen für wirklich anspruchsvolle Berechnungen, aber auch weniger populär als Sprachen mit einer freundlicheren Benutzerschnittstelle.

FreePascal

Ein OpenSource CrossPlatform Pascal Compiler, der TurboPascal/BorlandPascal (TP/BP), Delphi/Kylix (OO oder Object Pascal) und Apple-Syntax unterstützt. Er hat auch einige zusätzliche Erweiterungen wie C-artige Makros und Operatoren/Symbole, Überladen von Operatoren, automatisches Überladen von Funktionen und andere nette Merkmale.

FreePascal versuchte ursprünglich, die besonderen Merkmale von Delphi in einer Open-Source-Umgebung zu reproduzieren. Es bietet den Vorzug, unter einer Vielzahl von Betriebssystemen zu funktionieren. Aber es hat inzwischen einen eigenen Charakter bzw. eigenes Ethos angenommen und sklavisches Festhalten an Kompatibilität zu Delphi ist nun kein vorrangiges Bestreben mehr. Die Entwickler von FreePascal schreiben Code gänzlich unabhängig von den Delphi Quelltexten.

FreePascal besteht aus dem Compiler selbst, einer Anzahl von Bibliotheken inklusive der Laufzeitbibliothek RTL, der FreePascal Komponenten-Bibliothek FCL und einer Vielzahl von optionalen Packages, die durch den Benutzer installiert werden können. Es gibt auch eine integrierte Entwicklungsumgebung (IDE) für den Textmodus - sehr ähnlich zur TurboPascal IDE. Benutzer, die eine grafische Benutzeroberfläche (GUI) vorziehen, können aus mehreren Produkten auswählen. Lazarus ist darunter die bekannteste IDE, zu der über 120 Programmierer beigetragen haben. Einige dieser Entwickler arbeiten eng mit dem FreePascal-Projekt zusammen.

G

GDB

Der GNU Debugger wird zur Fehlersuche in Programmen eingesetzt, die mit dem FreePascal - Compiler entwickelt werden, genau so wie auch für Programme in C, C++, FORTRAN und anderen Sprachen.

GIMP

GNU Image Manipulation Program (= dt.: GNU Bildbearbeitungsprogramm)

Einer der größten Einflüsse auf die Linux Graphik - es ist ein Werkzeug, das manche anfänglich schwer zu benutzen finden, aber es ist so weitgehend konfigurierbar und umfassend nützlich, sodass die meisten davon überzeugt werden. Das GIMP liefert mit seinen Gimp-ToolKit-Bibliotheken (GTK) auch die meisten Widgets (=kleine grafische Objekte). Diese Bibliotheken bilden auch eines der wichtigsten Werkzeugsets in Lazarus.

GNU

GNU ist ein Bindeglied zwischen dem Linux - Kern (Kernel) und der Befehlszeile (Shell). Es liefert eine große Anzahl von Programmen, Benutzeroberflächen (sowohl grafischen als auch text-basierten), Anwendungen und Entwicklungssystemen. Es enthält auch eine Vielzahl von Bibliotheken zur Benutzung durch verschiedene Packages und Systeme. Seine Entwickler empfehlen, dass das Betriebssystem Linux tatsächlich als GNU/Linux bezeichnet wird, weil der Linux-Kern auf die Funktionalität GNU angewiesen ist, um für den Endbenutzer zu arbeiten.

Aus GNU's Webseite: GNU ist eine rekursive Abkürzung für “GNU's Not UNIX”, also: “GNU ist Nicht UNIX.” GNU ist wie UNIX, aber es ist nicht dasselbe!

GTK

Gimp Tool Kit.

GTK+ ist ein multi-plattform Werkzeugsatz zum Erzeugen von grafischen Benutzeroberflächen. FreePascal und die Lazarus-IDE machen umfassenden Gebrauch vom GTK. Es enthält einen Satz von Widgets oder kleinen grafischen Objekten, die in die Formulare oder Panels von Anwendungen aufgenommen werden können.

GUI

Graphical User Interface (= dt.: grafische Benutzeroberfläche, -schnittstelle)

Eine Arbeitsumgebung, die dem Computerbenutzer einen Bildschirm präsentiert, auf dem Bilder oder Symbole Programme, Aktionen oder Dateien darstellen. Zum Auswählen des passenden Symbols wird entweder ein Mauszeiger (oder ein ähnliches Zeigegerät) benutzt oder eine Tastatur mit Richtungstasten (Pfeiltasten). Oft sind herabklappbare Menüs verfügbar, wenn die Maus über bestimmten Stellen des Bildschirms platziert wird.

Eine GUI geht typischerweise einher mit einer objektorientierten oder ereignisgesteuerten Programmierung. Anstatt einer vorgegebenen Abfolge von Aktionen zu folgen, wartet die Anwendung auf Ereignisse wie einen Mausklick auf ein bestimmtes Symbol, um festzustellen, welche Aktion ausgeführt werden soll. Danach kehrt die Anwendung wieder zurück in den "Wartezustand" bis ein weiteres Ereignis ausgelöst wird, wie z.B. ein Mausklick auf ein anderes Symbol.

H

I

IDE

Integrated Development Environment (= dt.: integrierte Entwicklungsumgebung)

Sie besteht im Normalfall aus einem Texteditor für das Entwickeln des Quelltextes eines Programms, einem Compiler, vielleicht auch einem Assembler und einem Linker, um die Konstruktion und nachfolgende Ausführung des Programmes zu ermöglichen. Sie kann auch einen Debugger enthalten, der hilft, logische und funktionale Fehler im Code zu entdecken und zu korrigieren.

Interpreter

Ein Interpreter ist ein Software-Werkzeug, das einen Eingabe-Datenstrom (von der Eingabezeile oder aus einer Textdatei) untersucht, der Anweisungen in einer Programmiersprache enthält. Er konvertiert diese in Maschinencode-Anweisungen, die dann sofort ausgeführt werden. Dies unterscheidet ihn von einem Compiler (welcher eine ganze Datei in Maschinenanweisungen konvertiert und dann den Code für die nachfolgende Ausführung abspeichert) insofern, dass er Instruktionen zeilenweise interpretiert und dass der Konvertierungsprozess bei jeder Programmausführung wieder erfolgen muss.

Die Befehlszeilen-Interpreter unter Linux, Windows, IBM Systemen und DEC PDP und VAX Systemen sind gute Beispiele. Einige der populärsten Programiersprachen sind interpretierend, nicht kompilierend. Die besten Beipiele sind BASIC (in all seinen Varianten, inklusive Visual BASIC), PERL, Python und Java. Programme in einer interpretierenden Sprache sind im Allgemeinen um einige Größenordnungen langsamer als Programme in einer kompilierenden Sprache. Dieser Nachteil beruht auf der vor jeder Programmausführung nötigen Interpretation der Befehle. Der große Vorteil ist, dass Änderungen einfach vorgenommen werden können, neuer Code kann schnell getestet werden, und oft ist die Geschwindigkeit nicht so bedeutend verglichen mit der Einfachheit der Entwicklung. Einige Sprachen (inklusive einiger BASIC-Dialekte) bieten dem Programmierer die Möglichkeit, ein Programm zuerst im interpretierenden Modus auszuprobieren. Wenn dann das Programm korrekt arbeitet und keine weiteren Änderungen nötig sind, kann das ganze Programm kompiliert werden und so entsteht dann ein viel schnelleres Produkt.

Einige Varianten von Pascal (inklusive UCSD Pascal von der Universität von California in San Diego) bieten eine besondere Kombination von kompilierter und interpretierter Operation: der Pascal-Quelltext wird zuerst in einen vorläufigen P-Code konvertiert, der dann an einen P-Code-Interpreter zur Übersetzung und Ausführung übergeben wird.

J

Java

Eine Computersprache, entwickelt von Sun Microsystems, zum Schreiben webbasierter Anwendungen. Sie ist eine interpretierte Sprache (die dazu tendiert, ziemlich langsam ablaufende Programme zu produzieren), aber Anwendungen können rasch geschrieben und auf eine Vielzahl von unterschiedlichen Prozessoren und Maschinen portiert werden. Sie hat Möglichkeiten zur objekt-orientierten Programmierung.

Siehe auch: Pascal for Java users

K

Kylix

Ein zu Delphi ähnliches RAD-Werkzeug für Linux von der Firma Borland. Es basiert auf Delphi, und benutzt das QT / CLX Widgetset. Es versucht, Delphi's IDE nach Linux zu portieren mittels WINE (einem Windows-Emulator-Programm), anstatt den Code für die IDE in sauberen Linux-spezifischen Code zu übersetzen. Dadurch arbeitet es eher langsam und fehleranfällig. Borland scheint das Interesse an der Weiterentwicklung und an der Unterstützung von Kylix verloren zu haben, und viele frühere Benutzer von Kylix haben zu FreePascal/Lazarus als einzige echte Möglichkeit zur Pascalprogrammierung unter Linux gewechselt.

L

Lazarus

Eine CrossPlatform RAD IDE mit FreePascal gemacht und entworfen, um FreePascal als ihre Programmiersprache und Kompilierungstool zu verwenden. Sie hat viele der Merkmale der IDE von Borlands Delphi und Kylix (obwohl der gesamte Code unabhängig geschrieben wurde), und hat einige Merkmale, die Delphi/Kylix fehlen. Dafür fehlen ihr aber auch einige Features der Borland-Produkte.

Ihre Benutzeroberfläche enthält einen Quelltext-Editor, eine Hauptmenüleiste mit der Komponentenpalette, ein Formular-Designer-Fenster und einen Objektinspektor. Andere Merkmale sind ein Dokumentationseditor, eine umfangreiche Hilfe zum Code, und Zugriff auf eine Vielzahl von Komponentenbibliotheken und Packages.

Entwickler benutzen üblicherweise den Formular-Designer der IDE, um die physische Struktur ihrer Anwendungen zu skizzieren, fügen mit dem Quelltexteditor Programmanweisungen hinzu, die auf Ereignisse während der Programmausführung reagieren, und erstellen dann mit dem eingebauten FreePascal-Compiler und Linker den ausführbaren Code. Während der Ausführung des Codes spürt der Debugger Fehler auf und findet logische Probleme im Programm.

Die IDE kann sogar dazu benutzt werden, Lazarus selbst neu zu kompilieren, wenn Sie Korrekturen oder Aktualisierungen erhalten, beispielsweise aus den SVN - Repositorien.

LCL

Die Lazarus Component Library (= dt.: Lazarus-Komponentenbibliothek), enthält eine große Zahl von Units. Diese definieren Klassen, Komponenten und Methoden zum Erzeugen von Anwendungen mittels FreePascal. Die LCL besteht hauptsächlich aus visuellen Komponenten und Objekten, die oft als Widgets bezeichnet werden: einige Beispiele sind Schaltflächen, Labels, Editierfelder, Drop-down-Listen, Popup-Menüs, Bilder und Gitter. Die nicht-visuellen Elemente (wie Dateibehandlung und Datenbank-Verwaltung) finden Sie in der FreePascal Component Library und der Run Time Library. Viele der Komponenten, die in der LCL und anderen Bibliotheken definiert sind, werden benutzt, um die Lazarus IDE zu bauen.

Siehe auch Lazarus Components für eine Liste der verfügbaren Komponenten (und ihr Äquivalent in TurboPascal und Delphi).

Linker

Ein Computerprogramm das die Ausgaben von einem Compiler nimmt, die von diesen benötigten, vorkompilierten Bibliotheksroutinen findet, und sie alle miteinander zu einem ausführbaren Programm verbindet.

Linux

Ein Open Source - Betriebssystem, das ursprünglich von Unix abstammt, aber vollkommen neu erstellt wurde mittels seines Open-Source Codes und Beiträgen von Tausenden von Entwicklern. Heute ist es eines der populärsten Betriebssysteme. Es ist auch eine der Plattformen für FreePascal und Lazarus, und wird als Plattform häufig zu deren Entwickung benutzt.

M

MAC

bezieht sich üblicherweise auf das Macintosh Betriebssystem von Apple; es ist berühmt für seine hohen grafischen Qualitäten und seine Stabilität. Die neueste Version von MAC OS X sieht ähnlich aus wie Unix oder Linux, und ist eine Kombination von kommerziellen und OpenSource Bibliotheken und Anwendungen. OS X kann derzeit X11 ausführen. Es ist heute eines der populärsten Betriebssysteme und bietet Qualitätshardware zu einem akzeptablen Preis.

MAC kann sich auch auf die MAC Workstation beziehen, die die Hardware zum Ausführen des oben erwähnten Betriebssystems ist.

Im Zusammenhang mit Netzwerken bedeutet MAC auch Media Access Control oder Medium Access Control, eine für jede Netzwerkkarte weltweit einzige Identifikationsnummer.

N

O

Object

Ein spezieller Typ eines Records, der in FreePascal und anderen, höheren, objektorientierten Sprachen verwendet wird. Ein Objekt enthält neben einer Gruppe von Datenfeldern (so wie in einem normalen Record) auch einige Methoden (Prozeduren und Funktionen, entweder statische, virtuelle oder non-virtuelle) zum Verarbeiten der Daten in den Feldern. Beispielsweise könnte ein Objekt ein Array von Real-Werten enthalten, zusammen mit einer Methode zum Berechnen des Mittelwertes.

Type
  Average = Object
    NumVal: Integer;
    Values: Array [1..200] of Real;
    Function Mean  : Real; { berechnet den Mittelwert des Arrays }
  End;

Oder eine Schaltfläche auf einem Formular in einem grafischen Programm könnte folgende Struktur besitzen (stark vereinfacht):

Type
  Button = Object
    Top, Left: Integer; { Bildschirmkoordinaten für die Position der Schaltfläche }
    Height, Width: Integer;
    Color: TColor;
    Caption : String;
    Procedure OnClick; { diese Methode wird bei einem Mausklick auf die Schaltfläche ausgeführt}
  End;

Die Prozedur oder Funktion in der obigen Definition muss natürlich noch an einer anderen Stelle im Programm implementiert sein, üblicherweise im Implementation-Bereich.

Siehe auch: Klassen

OO

Object Oriented (= dt.: objekt-orientiert)

Eine Erweiterung zu einer prozeduralen Sprache, die das Erzeugen und Bearbeiten von komplexen Objekten ermöglicht.

Im Gegensatz zu Standard-Pascal, das eine Record - Struktur kennt, in der einzelne unterschiedliche Datentypen wie Integer, Real, Arrays, Strings und Zeiger enthalten sein können, erlaubt eine objekt-orientierte Sprache wie FreePascal auch, dass diese Struktur Methoden enthält, also Prozeduren und Funktionen zur Manipulation der Datenelemente in dieser Struktur.

Siehe auch: Object Oriented Programming with FreePascal and Lazarus

Open Source

Ein System zur Software-Entwicklung das darauf basiert, den gesamten Quellcode zu veröffentlichen, sodass er für andere frei verfügbar ist, also zum Anzeigen, Kopieren, Kompilieren und Benutzen, und auch zum Korrigieren, Verändern und Verbessern. Von den Benutzern, Entwicklern und Modifizieren wird einfach gefordert oder erwartet, dass sie bekannt geben, woher der Quelltext stammt, wie sie ihn verändert haben, und dass sie den Quelltext für jeden verfügbar machen, dem sie ihr Programm geben oder verkaufen. Es steht im Kontrast zum üblichen kommerziellen Modell der Software-Entwicklung, wo Programme unter dem Mantel der Geheimhaltung, von Patenten und dem Urheberrecht entwickelt werden; nur wenige Mitglieder eines Teams haben Zugriff auf den Code, und der Endbenutzer hat keine Ahnung, wie ein Programm funktioniert oder es im Fehlerfall korrigiert.

Von Anfang an wurden FreePascal und Lazarus als Open-Source-Programme entwickelt. Der gesamte Quellcode ist für jeden, der ihn benutzen will, frei verfügbar. Wir ermutigen Sie, ihn auszuprobieren, Vorschläge zur Fehlerbeseitigung zu machen, den Code zu verbessern oder noch fehlende Teile zu ergänzen. Tragen auch Sie etwas zur Entwicklung bei. Dieser Ansatz hat zu einer ausgezeichneten gemeinsamen Zusammenarbeit geführt, zu einer raschen Entwicklung des Systems und zu einer Entwicklungsumgebung, die für all ihre Benutzer vollständig transparent ist.

OS

Operating System (= dt.: Betriebssystem)

Das Betriebssystem ist ein Programm, das die grundlegenden Funktionen eines Computers steuert. Es kümmert sich um die Eingabe/Ausgabe-Funktionen von verschiedenen Teilen (wie der Tastatur, Maus, Grafikanzeige, Speicherlaufwerken, Hauptspeicher und Peripheriegeräten, wie den seriellen, parallelen und den USB-Schnittstellen); es regelt die Ausführung von Aufgaben und die Verteilung von Rechenzeit zwischen Prozessen und Benutzern; es fängt Systemfehler ab und wartet darauf, andere Funktionen auszuführen. Die meisten dieser Vorgänge laufen ohne Kenntnis des Benutzers ab.

Ein Betriebssystem besteht üblicherweise aus einem Teil namens Kernel (d.h. dem innersten Teil des Programms), der vom BIOS (Basic Input Output System des Computers) gestartet wird. Es besitzt außerdem verschiedene Bibliotheken, die eine Schnittstelle zur Computerhardware bilden. Der Betriebssystemkern kann auch als Abstraktionsschicht zwischen den Anwendungen und den elektronischen Teilen angesehen werden.

Oftmals gibt es eine weitere 'Ebene' namens Shell, die die Schnittstelle zwischen dem Kernel und dem Benutzer darstellt, der Befehle auf einer Tastatur eingibt oder eine Maus auf dem Tisch herumschiebt, um am Bildschirm angezeigte Befehle auszuwählen.

Ein Betriebssystem kann im Konsolenmodus/Textmodus oder im Grafikmodus arbeiten. Die meisten modernen Betriebssysteme unterstützen das Threading und sind Multitasking-fähig, was das das gleichzeitige Ausführen mehrerer Programme ermöglicht.

OSX

Die neueste Version des Macintosh Betriebssystems, siehe auch: MAC

P

Pascal

Pascal ist eine prozedurale Programmiersprache, die von Niklaus Wirth erfunden wurde (siehe Object Pascal History, Why_use_Pascal).

Es gibt einen internationalen Standard für diese Sprache (ISO 7185, äquivalent zu ANSI/IEEE770X3.97), aber abgesehen von Gnu Pascal (Open Source) und Prospero Pascal (einem kommerziellen Produkt, nur für Windows-Systeme), halten sich nicht viele der modernen Implementationen exakt an den Standard. Wie auch immer, sie alle sind im Wesentlichen gleich in der Syntax und der Struktur, und Programme, die für eine Variante geschrieben wurden, sind recht gut mit anderen Varianten austauschbar.

FreePascal, Delphi und andere Varianten von Pascal haben objektorientierte Erweiterungen.

PDA

Personal Digital Assistant - ein Minicomputer in der Größe einer Brieftasche (oder Handfläche) auf dem Informationen wie Adressbücher, Kalender und andere nützliche Informationen gespeichert werden können. Diese Geräte (wie z.B. der Palm-Pilot und der Compaq Pocket-PC) werden zunehmend raffinierter. Der Sharp Zaurus mit seinem Linux Betriebssystem ist ein beliebtes Gerät fürs Experimentieren und für Entwickler.

Es gibt einen FreePascal Cross-Compiler, durch den auf dem PC kompilierte Pascalprogramme auf dem Zaurus ausgeführt werden können, und es gibt auch einen WinCE Cross-Compiler-Zweig des FPC, der es ermöglicht, Anwendungen für den Pocket-PC unter Windows zu entwickeln.

Q

Qt interface

Qt ist eines der großen Widgetsets unter Linux, und bildet die Basis für KDE (K - Desktop Environment). Sie ist einer der Bibliotheken von Widgets, die aktiv von Lazarus-FPC unterstützt werden, obwohl sie nicht so etabliert ist wie die GTK-Bibliotheken.

R

RAD

Rapid Application Development (= dt.: Schnelle Anwendungsentwicklung) (Beipiele: Delphi, Lazarus, Visual Basic)

Eine Software für das schnelle und einfache Erstellen von Anwendungen (Programmen). Enthält typischerweise einen Texteditor, eine graphische Benutzeroberfläche und Verknüpfungen zu verschiedenen Werkzeugen, wie einem Compiler, Linker und Debugger. Siehe auch: (IDE).

Record

Ein hoch-strukturierter Datentyp in Pascal und anderen Hochsprachen.

Während andere einfache Datenstrukturen (wie Arrays oder Mengen) aus Elementen eines einzigen Typs bestehen, kann ein Record mehrere Elemente mit unterschiedlichen Typen enthalten. Dadurch kann er auch eine große Komplexität erreichen.

Records werden in Pascal häufig verwendet, um Datenelemente logisch zusammenzufassen. Sie bilden auch die Grundlage für kompliziertere, strukturierte Typen wie Objekte und Klassen, die in der objekt-orientierten Programmierung vorkommen. Mehr darüber unter: Record/de

RGB

Bezeichnet ein Farbraum, bei dem alle Farben aus den Grundfarben Rot, Grün und Blau gemischt werden. Wird in der Regel von Bildschirmen und von Bildern, die auf Bildschirmen dargestellt werden sollen, verwendet.

Wird zu dem eigentlichen Farbwert zusätzlich die Transparenz (Alpha-Kanal) gespeichert, spricht man von ARGB oder RGBA.

Drucker arbeiten häufig mit dem CMYK-Farbraum verwendet, da dies den Druckfarben entspricht.

RTL

Runtime Library (= dt.: Laufzeitbibliothek)

Die Komponentenbibliothek von FreePascal, die benutzt wird, um zur Laufzeit Programmanweisungen im Einklang mit dem Betriebssystem und der aktuellen Computerarchitektur zu übersetzen. Siehe auch: FreePascal Component Library (FCL)

RTTI

Runtime Type Information (= dt.: Typeninformation zur Laufzeit)

Die Datentypen von Objekten werden dabei zur Laufzeit verfügbar gehalten. Das kann nützlich sein beim Streaming und Typecasting von Objekten.

S

SQL

Structured Query Language (= dt.: Strukturierte Abfragesprache)

Eine universelle Skriptsprache, die in einigen Arten von Datenbanken zum Einsatz kommt, mit einer festgelegten Syntax für die Durchführung von Datenbank-Abfragen.

SVN

Subversion

Ein System zur Versionskontrolle von Dokumenten, das entworfen wurde, um CVS zu verbessern und zu ersetzen.

SVN ist das Dokumentenverwaltungssystem, das derzeit sowohl von FreePascal als auch vom Lazarus-Projekt verwendet wird.

T

Turbo Pascal

Ein Pascal-Compiler, der von der Firma Borland produziert wurde und der die Entwicklung von/mit Pascal auf PCs und Microcomputern revolutionierte.

Vorhergehende Pascal-Compiler waren riesig und umständlich, oder langsam, oder teuer, oder alles zusammen.

Borlands TurboPascal war sehr schnell, sehr ökonomisch bei den Ressourcen, und sehr günstig.

Unglücklicherweise hielt er sich nicht in allen Punkten an den ISO-Standard, insbesondere in seiner Umsetzung der Funktionen get() und put() für Textdateien.

Trotzdem war er sehr populär und bildete mit seinen objekt-orientierten Erweiterungen die Grundlage von Delphi (das, obwohl es eine abgespeckte Gratisversion gab, ziemlich teuer kommt, wenn man ernsthaft programmieren will) und Kylix, die Linuxversion von Delphi.

Ebenso ist es die Grundlage für FreePascal und Lazarus, wobei der Hauptunterschied zwischen Borlands Compilern und FreePascal darin liegt, dass der Quelltext von Borland nicht erhältlich ist, wohingegen alle Quellen von FreePascal offen verfügbar sind. Borland Compiler sind kommerziell (sogar wenn sie kostenlos angeboten werden), aber FreePascal und Lazarus sind frei (Open-Source).

U

Unix

Eines der ersten Betriebssysteme. Es war in C geschrieben und hatte die Fähigkeit zum Threading und zur Mehr-Prozess-Verarbeitung; später entwickelten Linus Torvalds und andere Programmierer ein ähnliches Open-Source Betriebssystem namens Linux, das heute eines der bekanntesten Betriebssysteme ist. Andere folgten diesem Beispiel und weitere Betriebssysteme entstanden: FreeBSD, OpenBSD, NetBSD und viele ander; auch Apple verwendete Open-Source-Teile von verschiedenen Unixablegern und machte daraus MAC OS X, das für seine grafischen Eigenschaften und seine Stabilität berühmt ist.

Unit

Eine Pascal Quelltextdatei wird auch Unit genannt und hat üblicherweise eine Dateiendung wie .pas, .pp oder .p.

Die Pascal-Unit hat einen internen Namen, der normalerweise in der ersten Zeile der Unit steht: "unit MyUnit;", hier ist MyUnit der interne Name.

Die Unit hat 2 Hauptabschnitte interface und implementation, die in der Terminologie von C/C++ der Headerdatei (.h, .hpp, .hh) und der Rumpfdatei (.c, .cpp, .cc) entsprechen.

Auf den gesamten Code im Interface-Abschnitt kann von anderen Units oder program - Dateien zugegriffen werden, die diese Unit benutzen: das geschieht mit der uses - Klausel. Die uses-Klausel kann sowohl im Interface- als auch im Implementation-Abschnitt stehen: der Code im Implementierungabschnitt ist "privat" und deshalb nur für dieselbe Unit erreichbar, außer er wird im Interface-Abschnitt redefiniert. Dies ist bei "globalen" Prozeduren und Funktionen der Fall.
Die Pascal-Unit kann noch 2 weitere Abschnitte enthalten, initialization und finalization: diese werden automatisch ausgeführt, wenn das Hauptprogramm diese Unit startet und beendet.

Uses

Klausel in einem Object-Pascal-Programm: eine Zeile fast am Anfang der Datei oder Unit (entweder im Interface oder in der Implementierung), die andere Units auflistet, auf die zugegriffen werden muss, um im Programm verwendete Komponenten zu finden.

Zum Beispiel:

uses
  Classes, SysUtils, MySpecialUnit;

V

VCL

Visual Component Library (= dt.: Visuelle Komponentenbibliothek) - Basis der Delphi Komponentenklassen.

V4L

Video For Linux (= dt.: Video für Linux)

VFW

Video For Windows (= dt.: Video für Windows)

W

Widget

Ein kleines (oder auch großes!) graphisches Objekt oder Bild, oftmals Teil eines größeren Bildes, Formulars oder Bildschirms. Objekt-orientierte Programme sind häufig stark abhängig von der Verwendung von Formularen, die eine große Zahl von Widgets enthalten, wie Schaltflächen, Überschriften, Eingabefelder, Rollbalken, Titel, Tafeln, Gitter und bildliche Darstellungen wie Fotos oder Zeichnungen.

Lazarus hat einen eigenen Widget-Satz für jedes Fenstermanager-System, wie für Microsoft Windows (Widget-Sets Win32/64, oder WinCE für Hand-held-Geräte), Linux (Widget-Sets GTK1 oder GTK2 für Gnome-basierte Systeme, QT für KDE-Systeme), Apple (Widget-Set Carbon) ebenso wie einige unspezifische Sets (wie z. B. FpGUI).

Die Entwickler von Lazarus mussten eigene Schnittstellen zu jedem Widget-Set erstellen: das Ziel ist es, ein Interface zu liefern, das sich nicht dem Benutzer aufdrängt; er schreibt einfach den Code oder entwirft die Formulare, und die Widgets des für sein Betriebssystem benötigten Satzes erscheinen an der passenden Stelle und fügen sich nahtlos ein.

Wiki

Ein Typ einer Webseite, die Dokumentation zu einem Softwarepaket oder ähnliche Informationen liefert, und die die Mitarbeit (Bearbeitung, Ergänzung und Kommentare) durch die Allgemeinheit ermöglicht. Die meisten Wiki-Seiten erfordern von zukünftigen Benutzern eine Registrierung, und zum Bearbeiten der Seite muss man sich anmelden. Eine Dokumentation kann dadurch sehr rasch und flexibel entstehen.

Das Lazarus und FreePascal Wiki, das Sie gerade ansehen, enthält eine umfangreiche Dokumentation über die Projekte FreePascal und Lazarus. Wir möchten Benutzer und Entwickler dazu ermutigen, sich zu registrieren und ihre eigenen Beiträge zu übermitteln.

WinCE

Eine Windows-ähnliche Umgebung für tragbare Hand-held-Geräte, Mobiltelefone, PDAs u.s.w. Von MicroSoft hergestellt, hat es viele Merkmale, die denen von Windows für Desktop-Computer ähneln, stellt aber eine 'beschnittene' Version dar.

Die meisten Hand-held-Computer setzen den ARM-Prozessor ein, und eine Portierung von FreePascal und Lazarus wurde entwickelt, die es ermöglicht, dass Anwendungen für den ARM und WinCE cross-kompiliert werden und auf diesen Hand-held-Geräten ausgeführt werden können.

Für weitere Details siehe auch: Windows_CE_Development_Notes und Windows_CE_Interface

Windows

Ein Betriebssystem von Microsoft, wahrscheinlich das am häufigsten benutzte Betriebssystem von heute, berühmt für seine benutzerfreundliche Oberfläche, aber berüchtigt wegen seiner Anfälligkeit für Attacken mit Schadenssoftware.

"Windows" bezeichnet auch die Fenster, also die rechteckigen Bereiche, auf einem Computer-Bildschirm, welche die Texte oder Grafiken von einer bestimmten Anwendung enthalten. Ein Fenster kann auch Teil eines Programms oder Betriebssystems sein, das nicht von Microsoft stammt, zum Beispiel gibt es X-Windows (siehe X11) oder einfache Textfenster, wie sie auf text-basierten Systemen vorkommen.

X

X11

auch XFree, Xorg oder einfach X genannt, ist eine grafische Oberfläche, die ursprünglich für Unix entworfen wurde und auch häufig unter Linux verwendet wird.

Das X11 Konzept unterscheidet sich sehr von Windows GDI, hauptsächlich weil XFree ein Programm ist, nicht nur eine Menge von Bibliotheken. Weil X11 eher hardware-orientiert ist und auch keinen vollständigen Satz von Widgets hat, entwickelten einige Programmierer raffiniertere Widget-Sets wie GTK und QT und verschiedene Fenstermanager und Desktop-Umgebungen wie GNOME, KDE, XPde, XFCE, IceWM, WindowMaker und viele andere.

Für weitere Informationen über X11 besuchen Sie, bitte, die XFree Webseite.

Y

Z

Zaurus

Ein PDA von der Firma Sharp hergestellt, der Linux als Betriebssystem einsetzt. Sein Prozessor ist der ARM, für den eine Portierung des FreePascal-Compilers gemacht wurde. Deshalb ist es möglich, Anwendungen in FreePascal zu kompilieren, die auch auf dem Zaurus laufen.