Difference between revisions of "Glossary/de"

From Free Pascal wiki
Jump to navigationJump to search
m (→‎Class: translated)
m (→‎Pascal: bypass redirect/make link target language-specific)
 
(83 intermediate revisions by 6 users not shown)
Line 30: Line 30:
 
übersetzen in eine Binärsequenz wie <code>01110010</code>, 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.  
 
übersetzen in eine Binärsequenz wie <code>01110010</code>, 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 [[Glossary#Compiler|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 [[Glossary#FreePascal|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 [[Glossary#Compiler|Compiler]] Programme übersetzen, die auf einer Vielzahl unterschiedlicher Prozessoren funktionieren.
+
Ein Assembler unterscheidet sich von einem [[Glossary/de#Compiler|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 [[Glossary/de#FreePascal|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 [[Glossary/de#Compiler|Compiler]] Programme übersetzen, die auf einer Vielzahl unterschiedlicher Prozessoren funktionieren.
  
 
=== API ===  
 
=== 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 Softwarepacket zu benutzen.
+
Application Program Interface (= dt. Schnittstelle zur Anwendungsprogrammierung, kurz: Programmierschnittstelle)
  
Ein Beispiel ist die API für das [http://www.mysql.com 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 [[Glossary#C Programming language|C]], aber die Entwickler von FreePascal haben einen Satz von entsprechenden Prozedur-/ Funktionsaufrufsdefinitionen in Pascal geschrieben, die es [[Glossary#FreePascal|FreePascal]] oder [[Glossary#Lazarus|Lazarus]]- Programmierern gestatten, auch die Bibliothe der MySQL - Funktionsaufrufe zu verwenden.
+
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 [http://www.mysql.com 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 [[Glossary/de#C (Programmiersprache)|C]], aber die Entwickler von FreePascal haben einen Satz von entsprechenden Prozedur-/ Funktionsaufrufsdefinitionen in Pascal geschrieben, die es [[Glossary/de#FreePascal|FreePascal]] oder [[Glossary/de#Lazarus|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.
 
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.
Line 42: Line 44:
 
=== BASIC ===
 
=== BASIC ===
 
<u>B</u>eginner's <u>A</u>ll-purpose <u>S</u>ymbolic <u>I</u>nstruction <u>C</u>ode
 
<u>B</u>eginner's <u>A</u>ll-purpose <u>S</u>ymbolic <u>I</u>nstruction <u>C</u>ode
 +
(= dt.: „symbolische Allzweck-Programmiersprache für Anfänger“)
  
(=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 [[Glossary#Interpreter|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 [[Glossary#Pascal|Pascal]] mit seiner strengen Betonung einer strukturierten Programmierung.
+
Eine Computersprache, die einst als Übungswerkzeug populär war oder auch als Experimentierwerkzeug für die Programmierung. Als eine [[Glossary/de#Interpreter|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 [[Glossary/de#Pascal|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 [[Glossary#Pascal|Pascal]] und [[Glossary#C programming language|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 [[Glossary#Command Line Interpreter|Kommandozeilen]]- oder Skript-Sprachen. Tatsächlich sehen einige Visual Basic Programme recht ähnlich zu [[Glossary#FreePascal|FreePascal]]- oder [[Glossary#Lazarus|Lazarus]]- Programmen aus.
+
BASIC hat jüngst etwas an Gunst verloren, teils wegen der ihm anhaftenden Defizite, teils wegen der Einführung von Sprachen wie [[Glossary/de#Pascal|Pascal]] und [[Glossary/de#C (Programmiersprache)|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 [[Glossary/de#Command Line Interpreter|Kommandozeilen]]- oder Skript-Sprachen. Tatsächlich sehen einige Visual Basic Programme recht ähnlich zu [[Glossary/de#FreePascal|FreePascal]]- oder [[Glossary/de#Lazarus|Lazarus]]- Programmen aus.
  
 
=== [[Boolean]] ===
 
=== [[Boolean]] ===
Ein logischer Datentyp in [[Glossary#Pascal|Pascal]] und anderen Programmiersprachen, der nur eine von zwei Werten annehmen kann, nämlich Wahr ([[True]]) oder Falsch ([[False]]).
+
Ein logischer Datentyp in [[Glossary/de#Pascal|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.
 
Benannt nach George Boole, einem Pionier der logischen (Boole'schen) Algebra.
Line 61: Line 64:
 
== C ==
 
== C ==
 
=== C (Programmiersprache) ===  
 
=== C (Programmiersprache) ===  
Eine weitverbreitete Computer-Programmiersprache, besonders hilfreich in der Systemprogrammierung. Sie bildet die Basis für den größten Teil des [[Glossary#Linux|Linux]]-Betriebssystems und - soweit wir feststellen können - auch für das [[Glossary#Windows|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 [[Glossary#Pascal|Pascal]] dem Programmierer viel strengere Disziplin auf und fördert die Entwicklung guter Programmiergewohnheiten und -praktiken.
+
Eine weitverbreitete Computer-Programmiersprache, besonders hilfreich in der Systemprogrammierung. Sie bildet die Basis für den größten Teil des [[Glossary/de#Linux|Linux]]-Betriebssystems und - soweit wir feststellen können - auch für das [[Glossary/de#Windows|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 [[Glossary/de#Pascal|Pascal]] dem Programmierer viel strengere Disziplin auf und fördert die Entwicklung guter Programmiergewohnheiten und -praktiken.
  
 
Siehe auch [[Pascal for C users]]
 
Siehe auch [[Pascal for C users]]
  
 
=== C++ ===
 
=== C++ ===
Eine Variante von [[Glossary#C programming language|C]], die auch Konstrukte der objektorientierten Programmierung enthält.
+
Eine Variante von [[Glossary/de#C_(Programmiersprache)|C]], die auch Konstrukte der objektorientierten Programmierung enthält.
  
 
=== C# ===
 
=== C# ===
Eine Sprache, die recht stark von Microsoft unterstützt wird und für ihre .NET -Plattformp entwickelt wurde. Sie hat eine Syntax basierend auf [[Glossary#C++|C++]], die auch Aspekte aus anderen Programmiersprachen beinhaltet, besonders von Object [[Glossary#Pascal|Pascal]] und [[Glossary#Java|Java]].
+
Eine Sprache, die recht stark von Microsoft unterstützt wird und für ihre .NET -Plattform entwickelt wurde. Sie hat eine Syntax basierend auf [[Glossary/de#C++|C++]], die auch Aspekte aus anderen Programmiersprachen beinhaltet, besonders von Object [[Glossary/de#Pascal|Pascal]] und [[Glossary/de#Java|Java]].
  
 
=== CCR ===  
 
=== CCR ===  
Code and Component Repository (= dt.: Code- und Komponenten-Lager)
+
Code and Component Repository (= dt.: Code- und Komponenten-Archiv)
  
 
Das [http://lazarus-ccr.sourceforge.net/ Lazarus Code & Component Repository] auf SourceForge ist der Speicherort für die Dokumentationsdateien von Lazarus und für einige Komponentenbibliotheken.
 
Das [http://lazarus-ccr.sourceforge.net/ Lazarus Code & Component Repository] auf SourceForge ist der Speicherort für die Dokumentationsdateien von Lazarus und für einige Komponentenbibliotheken.
  
 
=== Class (Klasse) ===
 
=== Class (Klasse) ===
Eine besondere Art von [[Glossary#Object|Objekten]] in der [[Glossary#OO|Objektorientierten]] Programmierung.
+
Eine besondere Art von [[Glossary/de#Object|Objekten]] in der [[Glossary/de#OO|Objektorientierten]] Programmierung.
  
 
Eine Klasse ist ein Zeiger auf ein Objekt; ihre Deklaration ähnelt der eines Objekts.
 
Eine Klasse ist ein Zeiger auf ein Objekt; ihre Deklaration ähnelt der eines Objekts.
  
 
=== COBOL ===
 
=== COBOL ===
<u>CO</u>mmercial and <u>B</u>usiness <u>O</u>riented <u>L</u>anguage
+
<u>CO</u>mmercial and <u>B</u>usiness <u>O</u>riented <u>L</u>anguage (= dt.: Kaufmännische und Geschäftsorientierte Sprache)
  
A language widely used in business in the 1960s and later. Despite its deficiencies, and the introduction of newer languages, it is still in widespread use, mainly as a legacy system. The most notable recent [http://www.theregister.co.uk/2008/08/14/cobol_california/]example is in the State of California, where the government payroll system still uses COBOL, and the governor's recent edict that state employees' salaries should be cut has run into difficulties because there aren't enough COBOL programmers around!
+
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 ([http://www.theregister.co.uk/2008/08/14/cobol_california/]), 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 ===
+
=== Command Line Interpreter (Befehlszeilen-Interpreter) ===
 
'''CLI'''
 
'''CLI'''
  
A program present in most computer operating systems which examines an input stream, either from the keyboard (Console Mode) or from a text file (Batch Mode), [[Glossary#Interpreter|interpreting]] or parsing the text to find instructions causing  execution of operating system commands or running prepared programs or other scripts of instructions.
+
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 [[Glossary/de#Interpreter|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.
  
The CLI environment, where the operator types commands on a keyboard at a console, exists in contrast to the [[Glossary#GUI | Graphical User Interface]] (GUI), where the operator makes more use of a mouse, and pictures rather than text convey information to the operator.
+
Die CLI-Umgebung, wo der Benutzer die Befehle an einer Konsole eingibt, steht im Gegensatz zur [[Glossary/de#GUI | Grafischen Benutzeroberfläche]] (GUI), wo der Benutzer mehr die Maus verwendet und eher Bilder als Text dem Benutzer die Informationen vermitteln.
  
 
=== Compiler ===  
 
=== Compiler ===  
A program that translates Human-readable source code, usually written in a high-level language such as Object [[Glossary#Pascal|Pascal]], [[Glossary#C++|C++]], Algol, [[Glossary#FORTRAN|FORTRAN]] or [[Glossary#Ada|Ada]], into machine instructions for execution by a computer.  
+
Ein Programm, das von Menschen lesbaren Quellcode - üblicherweise in einer höheren Programmiersprache wie Object [[Glossary/de#Pascal|Pascal]], [[Glossary/de#C++|C++]], Algol, [[Glossary/de#FORTRAN|FORTRAN]] oder [[Glossary/de#Ada|Ada]] - übersetzt in Maschinencode zur Ausführung durch einen Computer.  
  
Compilation usually involves several stages: Parsing the source code to check for syntax errors, translation of the source code to machine instructions, and [[Glossary#Linker | linking]] the resultant code with libraries in order to produce the final machine-executable application.
+
Eine Kompilierung umfasst normalerweise mehrere Schritte: Analyse des Quelltextes zum Aufspüren von Syntaxfehlern, Übersetzung des Quellcodes in Maschinenanweisungen, und Einbinden (= engl. [[Glossary/de#Linker | linking]]) des resultierenden Codes mit Bibliotheken, um daraus zuletzt eine von Maschinen ausführbare Anwendung zu erzeugen.
  
See also [[Compiler]] and [[Compilers]] entries in main Wiki.
+
Siehe auch die Einträge [[Compiler/de]] und [[Compilers]] im Lazarus-Wiki.
  
 
=== Component ===  
 
=== Component ===  
A small piece of code, typically consisting of a data definition or a small number of methods, which defines and describes a particular action or series of actions in a Pascal application. Components are typically grouped together functionally into libraries such as the [[Glossary#FCL|FreePascal Component Library (FCL)]], [[Glossary#LCL|Lazarus Component Library (LCL)]] or [[Glossary#RTL|Run Time Library (RTL)]], so that they can be re-used in many programming applications.
+
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 [[Glossary/de#FCL|FreePascal Component Library (FCL)]], [[Glossary/de#LCL|Lazarus Component Library (LCL)]] oder [[Glossary/de#RTL|Run Time Library (RTL)]], sodass sie in vielen Anwendungen wieder verwendet werden können.
  
 
=== Cross Compilation ===
 
=== Cross Compilation ===
The act of compiling a program on one type of computer for eventual use on another computer with a different processor a different operating system. For example [[Glossary#Pascal|Pascal]] programs can be cross-compiled on a PC running Linux and executed on a PC running [[Glossary#Windows|Windows]], or programs can be compiled on a PC to run on a [[Glossary#PDA|PDA]] like the Sharp [[Glossary#Zaurus|Zaurus]] or devices using [[Glossary#WinCE | WinCE]].  
+
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 [[Glossary/de#Pascal|Pascal]]-Programme mit einem Cross-Compiler auf einem PC unter Linux kompiliert und auf einem PC unter [[Glossary/de#Windows|Windows]] ausgeführt werden, oder Programme werden auf einem PC kompiliert und laufen auf einem [[Glossary/de#PDA|PDA]] wie dem Sharp [[Glossary/de#Zaurus|Zaurus]] oder Geräten, die [[Glossary/de#WinCE | WinCE]] verwenden.  
  
Another typical example is the Cross-compilation of the [[Glossary#FreePascal|FreePascal]] Compiler or the [[Glossary#Lazarus|Lazarus]] IDE on one platform such as [[Glossary#Linux|Linux]] for use on another platform such as [[Glossary#Windows|Windows]] or on the [[Glossary#MAC|Macintosh]] computer using a totally different processor.
+
Ein weiteres typisches Beispiel ist die Cross-Kompilierung des [[Glossary/de#FreePascal|FreePascal]]-Compilers oder der [[Glossary/de#Lazarus|Lazarus]]-IDE auf einer Plattform wie [[Glossary/de#Linux|Linux]] zur Verwendung auf einer anderen Plattform wie [[Glossary/de#Windows|Windows]] oder auf dem [[Glossary/de#MAC|Macintosh]]-Computer, der einen vollkommen anderen Prozessor benutzt.
  
 
=== CrossPlatform ===  
 
=== CrossPlatform ===  
Usually refers to a program that can be run on several different [[Glossary#OS|Operating Systems]] and Platforms such as [[Glossary#Windows|Windows]], [[Glossary#Linux|Linux]] and [[Glossary#OSX|OSX]]. Examples are the [[Glossary#FreePascal|FreePascal]] compiler and [[Glossary#Lazarus|Lazarus]], the [http://www.openoffice.org OpenOfficeOrg] suite of office programs, the [http://www.mozilla.org Mozilla] family of web browsers and e-mail servers.
+
Dieser Begriff beschreibt üblicherweise Programme, die unter mehreren unterschiedlichen [[Glossary/de#OS|Betriebssystemen]] und Plattformen wie [[Glossary/de#Windows|Windows]], [[Glossary/de#Linux|Linux]] und [[Glossary/de#OSX|OSX]] ausgeführt werden können. Beispiele sind der [[Glossary/de#FreePascal|FreePascal]]-Compiler und [[Glossary/de#Lazarus|Lazarus]], die [http://www.openoffice.org OpenOfficeOrg]-Suite von Büroprogrammen, die [http://www.mozilla.org Mozilla]-Familie von Webbrowsern und e-Mail-Server.
  
 
=== CVS ===  
 
=== CVS ===  
[http://www.cvshome.org/ Concurrent Version System] (see also [[Glossary#SVN|Subversion SVN]]). A system for producing orderly development of a software suite despite its use by multiple authors. A repository is set up, from which intending developers can check-out documents or files, and to which they can return edited material. Usually the posting of new or updated material is under the control of one or more moderators or administrators, and strict version control is maintained.
+
[http://www.cvshome.org/ Concurrent Version System] (siehe auch [[Glossary/de#SVN|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 ==
 
== D ==
  
=== DataBase ===
+
=== DataBase, Datenbank ===
A computer application designed for the structured storage of large amounts of data and for easy access to it. Many of the websites on the internet make extensive use of databases: for example, a vendor may keep his catalogue of items for sale on a database, and may also keep his customer transactions on another related database; a software development team (like the FreePascal team) might keep their library of programs and subprograms on a database; a medical research team might keep responses to their Case Report forms (CRFs) on a database.
+
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.
  
Some typical examples are [http://www.mysql.com MySQL], [http://www.postgresql.org/ PostgreSQL], [http://www.oracle.com/index.html Oracle], [http://www-306.ibm.com/software/data/db2/ DB2]. Many of these use a common standard [[Glossary#SQL|Structured Query Language]] to place data in the database and retrieve it. FreePascal/Lazarus has links to several of these databases.
+
Einige typische Beispiele sind [http://www.mysql.com MySQL], [http://www.postgresql.org/ PostgreSQL], [http://www.oracle.com/index.html Oracle], [http://www-306.ibm.com/software/data/db2/ 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.
  
A database system typically consists of the actual Data files, a Server which reads and writes to the files, and a Client which interprets the users instructions.
+
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.
  
See also [[Databases]] entry in main Wiki
+
Siehe auch den Eintrag [[Databases/de|Datenbanken]] im Haupt-Wiki
  
 
=== [[Delphi]] ===  
 
=== [[Delphi]] ===  
An excellent commercial [[Glossary#Pascal|Pascal-based]] [[Glossary#RAD|RAD]] [[Glossary#IDE|IDE]] for Windows made by [http://www.borland.com/ Borland].  
+
Eine exzellente, kommerzielle, auf [[Glossary/de#Pascal|Pascal]] basierende [[Glossary/de#RAD|RAD]] Entwickungsumgebung ([[Glossary/de#IDE|IDE]]) für Windows; ursprünglich entwickelt von der Firma [http://www.borland.com/ Borland], später Inprise, später CodeGear, heute Embarcadero.  
  
[[Glossary#FreePascal | FreePascal]] sets out to be broadly compatible with Delphi, so that applications written by Delphi developers can be readily ported to FreePascal/Lazarus, and the FreePascal compiler has a Delphi compatability mode (using the compiler directive {$MODE Delphi} or the command-line option -Sd).  
+
[[Glossary/de#FreePascal|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).  
 
   
 
   
However, slavish adherance to Delphi constructs and standards is no longer felt to be a requirement, and FreePascal developers have improved on many of the Delphi constructs, in many cases producing a more flexible and more useful programming environment. All the procedures, functions, classes and other programming elements have been written from scratch by FreePascal developers, quite independent of the Delphi code.
+
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 ===
 
=== Debugger ===
A computer program which can be used by developers to control the execution of a program in development, and show where a program is failing. Debuggers typically keep track of the location in the program (for example the line number in the source code), the contents of the variables in the program, and often produce a back-trace showing the instructions that were being executed immediately before the failure occurred in the program.
+
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.
  
The Gnu Debugger [http://sourceware.org/gdb/ GDB] is used in FreePascal/Lazarus systems; GDB must be present in the system. In Linux and other Unix-like systems the native Gnu/Linux version can easily be installed; in Windows systems a special Windows version of GDB has been included in the Lazarus release packages; alternatively GDB can be compiled from source for Windows and used in conjunction with the [http://cygwin.com/ CygWin] emulator.
+
Der Gnu Debugger [http://sourceware.org/gdb/ 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 [http://cygwin.com/ CygWin]-Emulator ausgeführt werden.
  
At present the documentation on debugging for FreePascal/Lazarus is not very complete, and users are advised to read the documentation on the GDB site carefully.
+
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.
  
 
=== [http://www.gnu.org/software/diffutils/diffutils.html diff] ===  
 
=== [http://www.gnu.org/software/diffutils/diffutils.html diff] ===  
A [[#GNU|GNU]] program used to show the differences between two files, or even two directories.
+
Ein [[#GNU|GNU]]- Programm zum Anzeigen der Unterschiede zwischen zwei Dateien oder auch zwei Verzeichnissen.
  
Used by software developers to check the changes in coding before committing an edited source file to a repository such as [[Glossary#SVN|SVN]]. The output from diff can also be used to generate a Patch which can be applied to a source code file without having to re-write or re-import the whole file.
+
Es wird von Software-Entwicklern verwendet, um Änderungen im Code zu überprüfen, bevor eine bearbeitete Quelltextdatei an ein Repositorium wie [[Glossary/de#SVN|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 ==
 
== E ==
  
 
== [[Editor]] ==
 
== [[Editor]] ==
 +
Texteditor - eines der wichtigsten Werkzeuge zur Programmentwicklung.
  
Text Editor - one of the essential tools of program development.
+
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.
  
The source code of most computer programs consists of lines of text with the program instructions arranged in a logical sequence. Some form of text editor is necessary for inputting the source code and editing or correcting it.
+
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.
  
All operating systems have available a numer of text editors, some very primitive (such as ED or EDLIN in DOS/Windows or ED, vi in Unix/Linux) and some quite sophisticated (such as NotePad and WordPad in Windows,  GEdit, KATE, KWrite and EMACS in Unix/Linux). It is even possible (though not recommended) to use Word Processor software for editing computer program source code.
+
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.
  
Many text editors offer Syntax Highlighting (using different colours to show keywords, types of data or levels of nesting in statements) or have automatic indentation to make the structure of a program more apparent. Most have Search and/or Replace facilities, and can often recognise the beginning of Subprograms (Procedures and Functions) or open 'include' files when required.
+
Sowohl die [[Glossary/de#FreePascal|FreePascal]]- als auch die [[Glossary/de#Lazarus|Lazarus]] -  [[Glossary/de#IDE|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.
  
Both the [[Glossary#FreePascal|FreePascal]] and [[Glossary#Lazarus|Lazarus]] [[Glossary#IDE|IDEs]] have integral text editors which are the ones recommended for developing programs using the FreePascal Compiler, but programs developed using any text editor can be passed to the compiler, provided they are syntactically and logically correct.
+
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!!
 
 
Each user will find his or her own favourite editor and come to recognise its advantages and limitations. And arguments between proponents of one or other editor are sometimes only slightly less heated than arguments about preferred Operating System!!
 
  
 
== F ==
 
== F ==
=== [[FCL]] ===  
+
=== [[FCL/de|FCL]] ===  
FreePascal Component Library
+
Free Component Library (dt.: Freie Komponenten-Bibliothek)
  
The main collection of components used by [[Glossary#FreePascal|FreePascal]]. See also [[Glossary#RTL|RTL (Run Time Library)]] and [[Glossary#LCL|LCL (Lazarus Component Library)]]
+
Die wichtigste Sammlung von Komponenten, die von [[Glossary/de#FreePascal|Free Pascal]] benutzt wird. Siehe auch: [[Glossary/de#RTL|RTL (Run Time Library)]] und [[Glossary/de#LCL|LCL (Lazarus Component Library)]]
  
 
=== FORTRAN ===
 
=== FORTRAN ===
Procedural language for <u>FOR</u>mula <u>TRAN</u>slation.  
+
Prozedurale Sprache für <u>FOR</u>mula <u>TRAN</u>slation (= dt.: Formelübersetzung).  
  
Once very popular for academic, scientific and engineering programs, its emphasis was on getting things done efficiently - very good for calculation-intense applications, but it made few concessions to ease of user interface.  
+
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 suffered from a rather rigid syntactic and formatting structure, though later versions have developed softer edges and make a few concessions to a windowed user environment with interactive input-output.
+
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.
  
It is still one of the best languages for doing really hard sums, but is much less popular than languages with a friendlier user interface.
+
Sie ist dennoch eine der besten Sprachen für wirklich anspruchsvolle Berechnungen, aber auch weniger populär als Sprachen mit einer freundlicheren Benutzerschnittstelle.
  
 
=== [http://www.freepascal.org FreePascal] ===  
 
=== [http://www.freepascal.org FreePascal] ===  
An [[Glossary#OpenSource|OpenSource]] [[Glossary#CrossPlatform|CrossPlatform]] [[Glossary#Pascal|Pascal]] [[Glossary#Compiler|Compiler]] which supports [[Glossary#TurboPascal|TurboPascal]]/BorlandPascal (TP/BP), [[Glossary#Delphi|Delphi]]/[[Glossary#Kylix|Kylix]] ([[Glossary#OO|OO]] or Object Pascal) and Apple syntax, also it has some extra addons like C-style macros and operators/symbols, Operator Overloading, auto function overloading and other nice features.
+
Ein [[Glossary/de#OpenSource|OpenSource]] [[Glossary/de#CrossPlatform|CrossPlatform]] [[Glossary/de#Pascal|Pascal]] [[Glossary/de#Compiler|Compiler]], der [[Glossary/de#TurboPascal|TurboPascal]]/BorlandPascal (TP/BP), [[Glossary/de#Delphi|Delphi]]/[[Glossary/de#Kylix|Kylix]] ([[Glossary/de#OO|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 initially set out to reproduce the features of Delphi in an open-source environment, and offered the advantage of working on a number of operating system platforms, but it has acquired a character and ethos of its own, and slavish adherance to Delphi compatibility is no longer the fundamental driver. FreePascal developers write code entirely independently from the Delphi sources.
+
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 consists of the [[Glossary#Compiler|compiler]] itself, a number of libraries including the Run-time library [[Glossary#RTL|RTL]], the FreePascal Component Library [[Glossary#FCL|FCL]] and a number of optional packages that can be installed by the user. There is also an Integrated Development Environment ([[Glossary#IDE|IDE]]) intended for use in a non-graphic text mode, and very similar to the TurboPascal IDE. Users who prefer to use a Graphical User Interface ([[Glossary#GUI|GUI]]) can use one of a number of products, [[Glossary#Lazarus|Lazarus]] being the best-known IDE which has been contributed to by over 120 programmers of whom some are closely involved with the FreePascal project.
+
FreePascal besteht aus dem [[Glossary/de#Compiler|Compiler]] selbst, einer Anzahl von Bibliotheken inklusive der Laufzeitbibliothek [[Glossary/de#RTL|RTL]], der FreePascal Komponenten-Bibliothek [[Glossary/de#FCL|FCL]] und einer Vielzahl von optionalen Packages, die durch den Benutzer installiert werden können. Es gibt auch eine integrierte Entwicklungsumgebung ([[Glossary/de#IDE|IDE]]) für den Textmodus - sehr ähnlich zur TurboPascal IDE. Benutzer, die eine grafische Benutzeroberfläche ([[Glossary/de#GUI|GUI]]) vorziehen, können aus mehreren Produkten auswählen. [[Glossary/de#Lazarus|Lazarus]] ist darunter die bekannteste IDE, zu der über 120 Programmierer beigetragen haben. Einige dieser Entwickler arbeiten eng mit dem FreePascal-Projekt zusammen.
  
 
== G ==
 
== G ==
 
=== [http://www.gnu.org/software/gdb/gdb.html GDB] ===  
 
=== [http://www.gnu.org/software/gdb/gdb.html GDB] ===  
[[Glossary#GNU|GNU]] [[Glossary#Debugger|Debugger]] used for debugging programs developed with the [[Glossary#FreePascal|FreePascal]] compiler, as well as programs in [[Glossary#C programming language|C]], [[Glossary#C++|C++]], [[Glossary#FORTRAN|FORTRAN]] and other languages.
+
Der [[Glossary/de#GNU|GNU]] [[Glossary/de#Debugger|Debugger]] wird zur Fehlersuche in Programmen eingesetzt, die mit dem [[Glossary/de#FreePascal|FreePascal]] - Compiler entwickelt werden, genau so wie auch für Programme in [[Glossary/de#C (Programmiersprache)|C]], [[Glossary/de#C++|C++]], [[Glossary/de#FORTRAN|FORTRAN]] und anderen Sprachen.
  
 
=== [http://www.gimp.org/ GIMP] ===  
 
=== [http://www.gimp.org/ GIMP] ===  
[[Glossary#GNU|GNU]] Image Manipulation Program  
+
[[Glossary/de#GNU|GNU]] Image Manipulation Program (= dt.: GNU Bildbearbeitungsprogramm)
  
One of the largest influences on Linux Graphics - it is a tool that some find hard to use at first, but it so infinitely configurable and intensively useful that most are eventually won over. The GIMP provides most of the [[Glossary#Widget | Widgets]] (small graphic objects) used in the Gimp ToolKit (GTK) libraries that form one of the major sets of tools in Lazarus.
+
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 [[Glossary/de#Widget | Widgets]] (=kleine grafische Objekte). Diese Bibliotheken bilden auch eines der wichtigsten Werkzeugsets in Lazarus.
  
 
=== [http://www.gnu.org/ GNU] ===  
 
=== [http://www.gnu.org/ GNU] ===  
GNU is a wrapper around the [[Glossary#Linux|Linux]] Kernel and Shell, providing a large number of user programs, user environments (both graphical and text-based), applications and development systems. It also contains a large number of libraries for use by various packages and systems. Its developers suggest that the [[Glossary#Linux|Linux]] operating system should actually be described as the GNU/Linux OS, as the Linux kernel requires the functionality provided by GNU in order to work for the end-user.  
+
GNU ist ein Bindeglied zwischen dem [[Glossary/de#Linux|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 [[Glossary/de#Linux|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.  
  
From GNU's Website: GNU is a recursive acronym for “GNU's Not UNIX”; it is pronounced “guh-noo.” GNU is like [[Glossary#UNIX|UNIX]], but is not the same!
+
Aus GNU's Webseite: GNU ist eine rekursive Abkürzung für “GNU's Not UNIX”, also: “GNU ist Nicht UNIX.” GNU ist wie [[Glossary/de#UNIX|UNIX]], aber es ist nicht dasselbe!
  
 
=== [http://www.gtk.org/ GTK] ===  
 
=== [http://www.gtk.org/ GTK] ===  
[[Glossary#Gimp|Gimp]] Tool Kit.  
+
[[Glossary/de#Gimp|Gimp]] Tool Kit.  
  
GTK+ is a multi-platform toolkit for creating graphical user interfaces, and [[Glossary#FreePascal|FreePascal]] and the [[Glossary#Lazarus|Lazarus]] [[Glossary#IDE|IDE]] make extensive use of GTK. It contains a set of [[Glossary#Widgets|Widgets]] or small graphical objects which can be incorporated into the forms or panels of applications.
+
GTK+ ist ein multi-plattform Werkzeugsatz zum Erzeugen von grafischen Benutzeroberflächen. [[Glossary/de#FreePascal|FreePascal]] und die [[Glossary/de#Lazarus|Lazarus]]-[[Glossary/de#IDE|IDE]] machen umfassenden Gebrauch vom GTK. Es enthält einen Satz von [[Glossary/de#Widgets|Widgets]] oder kleinen grafischen Objekten, die in die Formulare oder Panels von Anwendungen aufgenommen werden können.
  
 
=== GUI ===  
 
=== GUI ===  
Graphical User Interface
+
Graphical User Interface (= dt.: grafische Benutzeroberfläche, -schnittstelle)
  
A working environment in which a computer user is presented with a screen on which there are pictures or Icons representing programs, actions or files, and either uses a mouse cursor (or similar pointing device) to select the appropriate icon or uses a keyboard with directional buttons or keys to move around the screen and select the appropriate icon. There are often drop-down menus available when the mouse is placed over certain parts of the screen.  
+
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.  
  
A GUI typically makes use of [[Glossary#OO|Object-Oriented]] or event-driven programming; instead of following a pre-determined sequence of actions, the application waits for an event such as a mouse-click over a particular icon, to determine what action is required and execute the appropriate piece of code; the application then goes back into the 'Wait' state until another event occurs, such as a mouse click over a different icon.
+
Eine GUI geht typischerweise einher mit einer [[Glossary/de#OO|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 ==
 
== H ==
 
== I ==
 
== I ==
 
=== IDE ===  
 
=== IDE ===  
Integrated Development Environment
+
Integrated Development Environment (= dt.: integrierte Entwicklungsumgebung)
  
It typically consists of a [[Glossary#Editor|text editor]] for developing the program source, a [[Glossary#Compiler|Compiler]], perhaps an [[Glossary#Assembler, Assembly Language|Assembler]] and a [[Glossary#Linker|Linker]] to make construction and subsequent execution of the program quick and easy. It may also have access to a [[Glossary#Debugger|Debugger]] to help detect and correct logical or operational errors in the code.
+
Sie besteht im Normalfall aus einem [[Glossary/de#Editor|Texteditor]] für das Entwickeln des Quelltextes eines Programms, einem [[Glossary/de#Compiler|Compiler]], vielleicht auch einem [[Glossary/de#Assembler, Assembler-Sprache|Assembler]] und einem [[Glossary/de#Linker|Linker]], um die Konstruktion und nachfolgende Ausführung des Programmes zu ermöglichen. Sie kann auch einen [[Glossary/de#Debugger|Debugger]] enthalten, der hilft, logische und funktionale Fehler im Code zu entdecken und zu korrigieren.
  
 
=== Interpreter ===
 
=== Interpreter ===
A software tool that examines an input stream of computer-language instructions (from the console or from a text-file) and converts them into machine-code instructions which are then immediately executed. This differs from a [[Glossary#Compiler|compiler]] (which converts a whole file into machine instructions and then stores the code for subsequent execution) in that instructions are interpreted line-by-line, and the conversion process has to happen every time the program is run.  
+
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 [[Glossary/de#Compiler|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.
  
The [[Glossary#Command Line Interpreter|Command-Line interpreters]] in [[Glossary#Linux|Linux]], [[Glossary#Windows|Windows]], IBM systems and DEC PDP and VAX systems are good examples. Several popular programming languages are interpretive rather than compiled. The best examples are [[Glossary#BASIC|BASIC]] (in all its variants including Visual BASIC), PERL, Python and [[Glossary#Java|Java]]. Interpreted-language programs are generally several orders of magnitude slower than compiled-language programs because of the need to re-interpret the commands before execution every time, but they have the great advantage that changes are easily made, new code can be tested quickly, and often speed is not all that important compared with ease of development. Some languages (including various dialects of BASIC) offer the programmer an opportunity to try out a program first in interpreted mode, then when the program works correctly and no more changes are necessary, the whole program can be compiled to produce a much faster product.
+
Die [[Glossary/de#Command Line Interpreter|Befehlszeilen-Interpreter]] unter [[Glossary/de#Linux|Linux]], [[Glossary/de#Windows|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 [[Glossary/de#BASIC|BASIC]] (in all seinen Varianten, inklusive Visual BASIC), PERL, Python und [[Glossary/de#Java|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.
  
Some variants of Pascal (including [[UCSD Pascal]] from the <u>U</u>niversity of <u>C</u>alifornia at <u>S</u>an <u>D</u>iego) offered a peculiar combination of compiled and interpreted operation: the textual Pascal source code was first converted into an intermediate P-code, which was then passed on to a P-code Interpreter which translated and executed it.
+
Einige Varianten von Pascal (inklusive [[UCSD Pascal]] von der <u>U</u>niversität von <u>C</u>alifornia in <u>S</u>an <u>D</u>iego) 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 ==
 
== J ==
 
=== Java ===
 
=== Java ===
Computer language developed by Sun Microsystems for writing Web-based applications. It is an [[Glossary#Interpreter|interpreted language]] (which tends to produce rather slowly-running programs), but applications can be written rapidly and ported to a large number of different processors and machines. It has facilities for [[Glossary#OO|Object-Oriented Programming]].
+
Eine Computersprache, entwickelt von Sun Microsystems, zum Schreiben webbasierter Anwendungen. Sie ist eine [[Glossary/de#Interpreter|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 [[Glossary/de#OO|objekt-orientierten Programmierung]].
  
Read more: [[Pascal for Java users]]
+
Siehe auch: [[Pascal for Java users]]
  
 
== K ==
 
== K ==
 
=== Kylix ===  
 
=== Kylix ===  
[[#Delphi|Delphi]]-like [[#RAD|Rad]] Tool for Linux made by Borland. It is based on Delphi, and uses the [[Glossary#Qt interface|QT]] / CLX [[Glossary#Widget|widget]] set. It attempts to port Delphi's IDE to Linux by using [http://www.winehq.org/ WINE], a Windows Emulator program, rather than translating the code for the IDE into proper Linux-specific code, and hence operates rather slowly and patchily. Borland seem to have lost interest in developing or supporting Kylix further, and many former users of Kylix have migrated to FreePascal/Lazarus as the only viable alternative for Pascal development in Linux.
+
Ein zu [[#Delphi|Delphi]] ähnliches [[#RAD|RAD]]-Werkzeug für Linux von der Firma Borland. Es basiert auf Delphi, und benutzt das [[Glossary/de#Qt interface|QT]] / CLX [[Glossary/de#Widget|Widget]]set. Es versucht, Delphi's IDE nach Linux zu portieren mittels [http://www.winehq.org/ 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 ==
 
== L ==
 
=== [http://lazarus.freepascal.org Lazarus] ===  
 
=== [http://lazarus.freepascal.org Lazarus] ===  
A [[Glossary#CrossPlatform|CrossPlatform]] [[Glossary#RAD|RAD]] [[Glossary#IDE|IDE]] made with [[Glossary#FreePascal|FreePascal]] and designed to use FreePascal as its programming language and compilation tool. It has many of the features of the IDE found in Borland's [[Glossary#Delphi|Delphi]] and [[Glossary#Kylix|Kylix]] (although all the code has been written independently), and has some features which are missing from Delphi/Kylix, while lacking a few of the features found in the Borland products.
+
Eine [[Glossary/de#CrossPlatform|CrossPlatform]] [[Glossary/de#RAD|RAD]] [[Glossary/de#IDE|IDE]] mit [[Glossary/de#FreePascal|FreePascal]] gemacht und entworfen, um FreePascal als ihre Programmiersprache und Kompilierungstool zu verwenden. Sie hat viele der Merkmale der IDE von Borlands [[Glossary/de#Delphi|Delphi]] und [[Glossary/de#Kylix|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.
  
Its main user interface includes a Source Code [[Glossary#Editor|Editor]], a Main Menu bar containing the Component Palette, a Form Design Window and an Object Inspector. Other features include a Documentation editor, considerable Code Help, and access to extensive libraries of components and packages.
+
Ihre Benutzeroberfläche enthält einen Quelltext-[[Glossary/de#Editor|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.
  
Developers typically use the IDE's Form Designer to sketch out the physical structure of their applications, use the Source Code Editor to add programming instructions to respond to events occurring during program execution, and then use the built-in FreePascal compiler and linker to produce executable code. During execution of the code, the [[Glossary#Debugger|debugger]] is used to trap errors and find logical problems in the program.
+
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 [[Glossary/de#Debugger|Debugger]] Fehler auf und findet logische Probleme im Programm.
  
The IDE can even be used to rebuild Lazarus itself, when corrections or updates are received, for example, from the [[Glossary#SVN|SVN]] repositories.
+
Die IDE kann sogar dazu benutzt werden, Lazarus selbst neu zu kompilieren, wenn Sie Korrekturen oder Aktualisierungen erhalten, beispielsweise aus den [[Glossary/de#SVN|SVN]] - Repositorien.
  
 
=== LCL ===  
 
=== LCL ===  
[[Glossary#Lazarus|Lazarus]] Component Library, contains a large number of units defining classes, components and methods for creating applications using [[Glossary#FreePascal|FreePascal]]. The LCL consists mainly of visual components and objects, often called [[Glossary#Widgets|Widgets]]: some examples are Buttons, Labels, Edit Boxes, Drop-down Lists, Popup Menus, Images and Grids. The non-visual elements such as file handling and database management are found in the [[Glossary#FCL|FreePascal Component Library]] and [[Glossary#RTL|Run Time Library]]. Many of the components defined in the LCL and other libraries are used to build the Lazarus [[Glossary#IDE|IDE]].
+
Die [[Glossary/de#Lazarus|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 [[Glossary/de#FreePascal|FreePascal]]. Die LCL besteht hauptsächlich aus visuellen Komponenten und Objekten, die oft als [[Glossary/de#Widgets|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 [[Glossary/de#FCL|FreePascal Component Library]] und der [[Glossary/de#RTL|Run Time Library]]. Viele der Komponenten, die in der LCL und anderen Bibliotheken definiert sind, werden benutzt, um die Lazarus [[Glossary/de#IDE|IDE]] zu bauen.
  
See [[Lazarus Components]] for a list of components available, and their equivalent in TurboPascal and Delphi.
+
Siehe auch [[Lazarus Components]] für eine Liste der verfügbaren Komponenten (und ihr Äquivalent in TurboPascal und Delphi).
  
 
=== Linker ===
 
=== Linker ===
A computer program that takes the output from a [[Glossary#Compiler|Compiler]] and finds any pre-compiled library routines that are needed, and joins them all together to produce an executable program.
+
Ein Computerprogramm das die Ausgaben von einem [[Glossary/de#Compiler|Compiler]] nimmt, die von diesen benötigten, vorkompilierten Bibliotheksroutinen findet, und sie alle miteinander zu einem ausführbaren Programm verbindet.
  
 
=== [http://www.linux.org/ Linux] ===
 
=== [http://www.linux.org/ Linux] ===
An [[Glossary#Open Source|Open Source]] [[Glossary#OS|Operating System]] derived originally from [[Glossary#Unix|Unix]], but totally re-built using Open Source code, and receiving contributions from literally thousands of developers. Today it is one of the most popular Operating Systems. It is one of the platforms for which [[Glossary#FreePascal|FreePascal]] and [[Glossary#Lazarus|Lazarus]] are built, and one  of the platforms extensively used for their development.
+
Ein [[Glossary/de#Open Source|Open Source]] - [[Glossary/de#OS|Betriebssystem]], das ursprünglich von [[Glossary/de#Unix|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 [[Glossary/de#FreePascal|FreePascal]] und [[Glossary/de#Lazarus|Lazarus]], und wird als Plattform häufig zu deren Entwickung benutzt.
  
 
== M ==
 
== M ==
 
=== MAC ===
 
=== MAC ===
Usually refers to the Macintosh [[Glossary#OS|Operating System]] from Apple, it is famous for its high quality graphics and stability. The latest version [[Glossary#OSX|MAC OS X]] looks very like [[Glossary#Unix|Unix]] or [[Glossary#Linux|Linux]], and is a combination of Commercial and OpenSource libraries and applications. [[Glossary#OSX|OSX]] is currently capable of running [[Glossary#X11|X11]]. It is one of the most popular Operating Systems today and nowadays offers quality hardware at a reasonable price.
+
bezieht sich üblicherweise auf das Macintosh [[Glossary/de#OS|Betriebssystem]] von Apple; es ist berühmt für seine hohen grafischen Qualitäten und seine Stabilität. Die neueste Version von [[Glossary/de#OSX|MAC OS X]] sieht ähnlich aus wie [[Glossary/de#Unix|Unix]] oder [[Glossary/de#Linux|Linux]], und ist eine Kombination von kommerziellen und OpenSource Bibliotheken und Anwendungen. [[Glossary/de#OSX|OS X]] kann derzeit [[Glossary/de#X11|X11]] ausführen. Es ist heute eines der populärsten Betriebssysteme und bietet Qualitätshardware zu einem akzeptablen Preis.
  
MAC can also refer to the MAC workstation which is the hardware needed to run the Operating System.
+
MAC kann sich auch auf die MAC Workstation beziehen, die die Hardware zum Ausführen des oben erwähnten Betriebssystems ist.
  
In regards to a network MAC means Media Access Control or Medium Access Control
+
Im Zusammenhang mit Netzwerken bedeutet MAC auch Media Access Control oder Medium Access Control, eine für jede Netzwerkkarte weltweit einzige Identifikationsnummer.
  
 
== N ==
 
== N ==
 
== O ==
 
== O ==
 
=== Object ===
 
=== Object ===
A special type of [[Glossary#Record|Record]] used in [[Glossary#FreePascal|FreePascal]] and other high-level [[Glossary#OO|Object Oriented]] languages. As well as containing a group of data Fields (as in a conventional Record), an Object can define Methods (Procedures and Functions, either static, virtual or non-virtual) for processing the data in the fields. For example, an object could contain an array of real values, together with a Method for calculating the average.
+
Ein spezieller Typ eines [[Glossary/de#Record|Records]], der in [[Glossary/de#FreePascal|FreePascal]] und anderen, höheren, [[Glossary/de#OO|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
 
  Type
Line 270: Line 272:
 
     NumVal: Integer;
 
     NumVal: Integer;
 
     Values: Array [1..200] of Real;
 
     Values: Array [1..200] of Real;
     Function Mean  : Real; { calculates the average value of the array }
+
     Function Mean  : Real; { berechnet den Mittelwert des Arrays }
 
   End;
 
   End;
  
Or a Button placed on a Form in a graphical environment might have the following structure (highly simplified):
+
Oder eine Schaltfläche auf einem Formular in einem grafischen Programm könnte folgende Struktur besitzen (stark vereinfacht):
  
 
  Type
 
  Type
 
   Button = Object
 
   Button = Object
     Top, Left: Integer; { screen coordinates to define button's position }
+
     Top, Left: Integer; { Bildschirmkoordinaten für die Position der Schaltfläche }
     Height, width: Integer;
+
     Height, Width: Integer;
 
     Color: TColor;
 
     Color: TColor;
 
     Caption : String;
 
     Caption : String;
     Procedure OnClick; { method invoked when the mouse is clicked on the Button's image}
+
     Procedure OnClick; { diese Methode wird bei einem Mausklick auf die Schaltfläche ausgeführt}
 
   End;
 
   End;
  
The Procedure or Function in the above definition must, of course, be declared elsewhere in the program, typically in an '''Implementation''' section.
+
Die Prozedur oder Funktion in der obigen Definition muss natürlich noch an einer anderen Stelle im Programm implementiert sein, üblicherweise im '''Implementation'''-Bereich.
  
See also [[Glossary#Class|Classes]]
+
Siehe auch: [[Glossary/de#Class|Klassen]]
  
 
=== OO ===  
 
=== OO ===  
'''Object Oriented'''
+
'''Object Oriented''' (= dt.: objekt-orientiert)
  
Extension to a procedural language which enables the creation and manipulation of complicated [[Glossary#Object|Objects]].  
+
Eine Erweiterung zu einer prozeduralen Sprache, die das Erzeugen und Bearbeiten von komplexen [[Glossary/de#Object|Objekten]] ermöglicht.  
  
While Standard [[Glossary#Pascal|Pascal]] maintains a [[Glossary#Record|Record]] structure, in which various different data types such as [[Integer|integers]], reals, arrays, [[String|strings]] and [[Pointer|pointers]] can co-exist in a pre-defined way, an object-oriented language like [[Glossary#FreePascal|FreePascal]] allows the structure also to contain '''Methods''' (procedures and functions) for the manipulation of the data elements within the structure.
+
Im Gegensatz zu Standard-[[Glossary/de#Pascal|Pascal]], das eine [[Glossary/de#Record|Record]] - Struktur kennt, in der einzelne unterschiedliche Datentypen wie [[Integer|Integer]], Real, Arrays, [[String|Strings]] und [[Pointer|Zeiger]] enthalten sein können, erlaubt eine objekt-orientierte Sprache wie [[Glossary/de#FreePascal|FreePascal]] auch, dass diese Struktur '''Methoden''' enthält, also Prozeduren und Funktionen zur Manipulation der Datenelemente in dieser Struktur.
  
See also [[Object Oriented Programming with FreePascal and Lazarus]]
+
Siehe auch: [[Object Oriented Programming with FreePascal and Lazarus]]
  
 
=== Open Source ===
 
=== Open Source ===
A system of software development based on publishing all your source code where it is freely available for others to view, copy, compile and use, and also to correct, modify and improve. Users, developers or modifiers are simply required or expected to acknowledge where the source came from, how they have changed it, and make the source available to anyone to whom they give or sell their program. It exists in contrast to the usual commercial model of software development, where programs are shrouded in secrecy and patent/copyright legality, only a few members of the team have access to the code, and the end user has no idea of how the program works or how to fix it if it breaks.
+
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.
  
From the outset, [[Glossary#FreePascal|FreePascal]] and [[Glossary#Lazarus|Lazarus]] have been developed as open source programs, with all the source code freely available to anybody who wants to use it, and with encouragement to all to try it out, suggest bug-fixes, attempt to improve it or complete the parts that have not been implemented, and generally contribute to its development. This approach has led to an excellent cooperative effort, rapid development of the system and a development environment that is completely transparent for all its users.
+
Von Anfang an wurden [[Glossary/de#FreePascal|FreePascal]] und [[Glossary/de#Lazarus|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 ===  
 
=== OS ===  
The '''Operating System''' is a program that controls the basic performance of a computer. It deals with the input-output functions of the various parts (such as keyboard, mouse, video display, disk storage, memory and peripherals such as serial, parallel and USB interfaces);  it controls scheduling of tasks and allocation of processing time between processes and users; it traps system errors and performs a host of other functions. Most of these activities proceed without the user being aware of them.
+
'''Operating System''' (= dt.: Betriebssystem)
  
An operating system usually has a part called the '''Kernel''' (ie the most deeply embedded part of the program) which is started by the '''BIOS''' (basic input-output system of the computer) and it has various libraries which provide an interface with the computer hardware. The Kernel can also be considered an abstraction layer between the applications and the electronics part.  
+
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.
  
There is often another 'layer' called the '''Shell''', which represents an interface between the Kernel and the user who types commands on a keyboard or moves a mouse around the table to select commands displayed on the screen.  
+
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.  
  
An Operating Systems can operate in Console (Text)  or Graphical Mode. Most modern Operating Systems support threading and are multitasking, allowing multiple programs to run at the same time.
+
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 ===
 
=== OSX ===
The latest version of the Macintosh [[Glossary#OS|Operating System]], see [[Glossary#MAC|MAC]]
+
Die neueste Version des Macintosh [[Glossary/de#OS|Betriebssystems]], siehe auch: [[Glossary/de#MAC|MAC]]
  
 
== P ==
 
== P ==
 
=== [http://en.wikipedia.org/wiki/Pascal_programming_language Pascal] ===  
 
=== [http://en.wikipedia.org/wiki/Pascal_programming_language Pascal] ===  
Pascal is a procedural programming language invented by Niklaus Wirth (see [[Object Pascal History]], [[Why_use_Pascal]]).  
+
Pascal ist eine prozedurale Programmiersprache, die von Niklaus Wirth erfunden wurde (siehe [[Basic Pascal Tutorial/History/de|Pascal History]], [[Why_use_Pascal]]).  
  
There is an international standard definition of the language (ISO 7185, equivalent to ANSI/IEEE770X3.97), but apart from  [http://www.gnu-pascal.de/gpc/h-index.html Gnu Pascal] ([[Glossary#Open Source|Open Source]]) and Prospero Pascal (a commercial product available only for [[Glossary#Windows|Windows]] systems), not many of the modern implementations conform exactly to the Standard. However, they are all essentially similar in syntax and structure, and programs written for one variant are fairly interchangeable with others.
+
Es gibt einen internationalen Standard für diese Sprache (ISO 7185, äquivalent zu ANSI/IEEE770X3.97), aber abgesehen von [http://www.gnu-pascal.de/gpc/h-index.html Gnu Pascal] ([[Glossary/de#Open Source|Open Source]]) und Prospero Pascal (einem kommerziellen Produkt, nur für [[Glossary/de#Windows|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.
  
[[Glossary#FreePascal|FreePascal]], [[Glossary#Delphi|Delphi]] and other variants of Pascal have [[#OO|Object Oriented]] extensions.
+
[[Glossary/de#FreePascal|FreePascal]], [[Glossary/de#Delphi|Delphi]] und andere Varianten von Pascal haben [[#OO|objektorientierte]] Erweiterungen.
  
 
=== PDA ===  
 
=== PDA ===  
Personal Digital Assistant - a pocket-sized (or Palm-sized) device on which information such as address-books, calendars and other useful information can be stored. These devices (such as the Palm-Pilot and the Compaq Pocket-PC) are becoming increasing sophisticated, and the Sharp [[Glossary#Zaurus|Zaurus]] which has a [[Glossary#Linux|Linux]] operating system is a popular vehicle for experimenters and developers.  
+
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 [[Glossary/de#Zaurus|Zaurus]] mit seinem [[Glossary/de#Linux|Linux]] Betriebssystem ist ein beliebtes Gerät fürs Experimentieren und für Entwickler.  
  
There is a [[Glossary#FreePascal|FreePascal]] [[Glossary#Cross Compilation|cross-compiler]] available, which allows Pascal programs compiled on a PC to be run on the Zaurus, and there is also a WinCE [[Glossary#Cross Compilation|cross-compiler]] branch of FPC that allows applications to be developed in Windows for operation on the Pocket-PC.
+
Es gibt einen [[Glossary/de#FreePascal|FreePascal]] [[Glossary/de#Cross Compilation|Cross-Compiler]], durch den auf dem PC kompilierte Pascalprogramme auf dem Zaurus ausgeführt werden können, und es gibt auch einen WinCE [[Glossary/de#Cross Compilation|Cross-Compiler]]-Zweig des FPC, der es ermöglicht, Anwendungen für den Pocket-PC unter Windows zu entwickeln.
  
 
== Q ==
 
== Q ==
 
=== [http://wiki.lazarus.freepascal.org/index.php/Qt_Interface Qt interface] ===
 
=== [http://wiki.lazarus.freepascal.org/index.php/Qt_Interface Qt interface] ===
Qt is one of the major [[Glossary#Widget|widget]] sets used in Linux, and forms the basis for the KDE (K-desktop environment). It is one of the libraries of widgets actively supported by Lazarus-FPC, though it is not as well-established as the GTK libraries.
+
Qt ist eines der großen [[Glossary/de#Widget|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 ==
 
== R ==
 
=== RAD ===  
 
=== RAD ===  
Rapid Application Development (Examples: [[Glossary#Delphi|Delphi]], [[Glossary#Lazarus|Lazarus]], Visual Basic)
+
Rapid Application Development (= dt.: Schnelle Anwendungsentwicklung) (Beipiele: [[Glossary/de#Delphi|Delphi]], [[Glossary/de#Lazarus|Lazarus]], Visual Basic)
 +
 
 +
Eine Software für das schnelle und einfache Erstellen von Anwendungen (Programmen). Enthält typischerweise einen [[Glossary/de#Editor|Texteditor]], eine [[Glossary/de#GUI|graphische Benutzeroberfläche]] und Verknüpfungen zu verschiedenen Werkzeugen, wie einem [[Glossary/de#Compiler|Compiler]], [[Glossary/de#Linker|Linker]] und [[Glossary/de#Debugger|Debugger]]. Siehe auch: ([[Glossary/de#IDE|IDE]]).
 +
 
 +
=== [[Record/de|Record]] ===
 +
Ein hoch-strukturierter Datentyp in [[Glossary/de#Pascal|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.
  
A software package for the fast and easy creation of Applications (Programs). Typically includes a [[Glossary#Editor|text editor]], a [[Glossary#GUI|graphic user interface]], and easy links to various tools such as [[Glossary#Compiler|compilers]], [[Glossary#Linker|linkers]] and [[Glossary#Debugger|debuggers]]. Frequently offers an Integrated Development Environment ([[Glossary#IDE|IDE]]).
+
Records werden in Pascal häufig verwendet, um Datenelemente logisch zusammenzufassen. Sie bilden auch die Grundlage für kompliziertere, strukturierte Typen wie [[Glossary/de#Object|Objekte]] und [[Glossary/de#Class|Klassen]], die in der  [[Glossary/de#OO|objekt-orientierten]] Programmierung vorkommen. Mehr darüber unter: [[Record/de]]
  
=== [[Record]] ===
+
=== RGB ===
A highly structured data type in [[Glossary#Pascal|Pascal]] and other high-level languages.  
+
Bezeichnet ein Farbraum, bei dem alle [[Colors/de|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.
  
While simple data structures such as arrays or sets consist of elements all of the same type, a record can consist of a number of elements of different types, and can take on a huge complexity.  
+
Wird zu dem eigentlichen Farbwert zusätzlich die Transparenz (Alpha-Kanal) gespeichert, spricht man von ARGB oder RGBA.
  
Records are widely used in Pascal, to group data items together logically. They also form the basis for even more complicated structured types such as [[Glossary#Object|Objects]] and [[Glossary#Class|Classes]], used in [[Glossary#OO|Object Oriented]] programming. Read more: [[Record]]
+
Drucker arbeiten häufig mit dem [[#CMYK|CMYK-Farbraum]] verwendet, da dies den Druckfarben entspricht.
  
 
=== [[RTL]] ===  
 
=== [[RTL]] ===  
Runtime Library
+
Runtime Library (= dt.: Laufzeitbibliothek)
  
The library of components in [[Glossary#FreePascal|FreePascal]] which are used at run-time to translate instructions from programs according to the operating system and computer architecture of the current platform. See also [[Glossary#FCL|FreePascal Component Library FCL]]
+
Die Komponentenbibliothek von [[Glossary/de#FreePascal|FreePascal]], die benutzt wird, um zur Laufzeit Programmanweisungen im Einklang mit dem Betriebssystem und der aktuellen Computerarchitektur zu übersetzen. Siehe auch: [[Glossary/de#FCL|FreePascal Component Library (FCL)]]
  
=== [[RTTI]] ===
+
=== RTTI ===
Runtime Type Information
+
Runtime Type Information (= dt.: Typeninformation zur Laufzeit)
  
Keeping the data-types of obejcts available at runtime. Can be useful for streaming and typecasting objects.
+
Die Datentypen von Objekten werden dabei zur Laufzeit verfügbar gehalten. Das kann nützlich sein beim Streaming und Typecasting von Objekten.
  
 
== S ==
 
== S ==
 
=== SQL ===  
 
=== SQL ===  
Structured Query Language.  
+
Structured Query Language (= dt.: Strukturierte Abfragesprache)
  
An universal script language used in various types of [[Glossary#DataBase|DataBases]] with a defined syntax to be used for execution of queries.
+
Eine universelle Skriptsprache, die in einigen Arten von [[Glossary/de#DataBase|Datenbanken]] zum Einsatz kommt, mit einer festgelegten Syntax für die Durchführung von Datenbank-Abfragen.
  
 
=== SVN ===  
 
=== SVN ===  
 
[http://subversion.tigris.org/ Subversion]  
 
[http://subversion.tigris.org/ Subversion]  
  
A document version control system  designed to improve upon and ultimately to replace [[Glossary#CVS|CVS]].  
+
Ein System zur Versionskontrolle von Dokumenten, das entworfen wurde, um [[Glossary/de#CVS|CVS]] zu verbessern und zu ersetzen.  
  
SVN is the document management system currently used by both the [[Glossary#FreePascal|FreePascal]] and the [[Glossary#Lazarus|Lazarus]] projects.
+
SVN ist das Dokumentenverwaltungssystem, das derzeit sowohl von [[Glossary/de#FreePascal|FreePascal]] als auch vom [[Glossary/de#Lazarus|Lazarus]]-Projekt verwendet wird.
  
 
== T ==
 
== T ==
  
 
=== [[Turbo Pascal]] ===
 
=== [[Turbo Pascal]] ===
A Pascal compiler produced by Borland which revolutionised Pascal development on PCs and microcomputers.  
+
Ein Pascal-Compiler, der von der Firma Borland produziert wurde und der die Entwicklung von/mit Pascal auf PCs und Microcomputern revolutionierte.  
  
Previous Pascal compilers were huge and cumbersome, or slow, or expensive, or all three.  
+
Vorhergehende Pascal-Compiler waren riesig und umständlich, oder langsam, oder teuer, oder alles zusammen.  
  
Borland's TurboPascal was very fast, very economic in resources, and very cheap.  
+
Borlands TurboPascal war sehr schnell, sehr ökonomisch bei den Ressourcen, und sehr günstig.  
  
Unfortunately it did not comply in all respects with the ISO standard, notably in its handling of the get() and put() functions with textfiles.  
+
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.  
  
However it has been very popular, and with object oriented extensions it formed the basis of Delphi (which, though it has a stripped-down free no-cost version, is rather expensive if you want to do serious computing) and Kylix, the Linux version of Delphi.  
+
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.  
  
It also forms the foundation for FreePascal and Lazarus, but the main difference between Borland's compilers and FreePascal is that the source is not available for Borland, whereas all the sources for FreePascal are readily available. Borland compilers are commercial (even if offered at no-cost) but FreePascal and Lazarus are free ([[Glossary#Open Source|open-source]]).
+
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 ([[Glossary/de#Open Source|Open-Source]]).
  
 
== U ==
 
== U ==
 
=== Unix ===
 
=== Unix ===
One of the first [[Glossary#OS|Operating Systems]]. It was written in [[Glossary#C programing language|C]] and had threading and multi process capabilities; later Linus Torvalds and other programmers made an Open Source system resembling Unix called [[Glossary#Linux|Linux]] which is one of the most popular Operating Systems today. Others followed the example and other Operating Systems were born: FreeBSD, OpenBSD, NetBSD and many others; also Apple introduced Open Source parts of various Unix clones and made MAC OS X which is famous for its graphical features and stability.
+
Eines der ersten [[Glossary/de#OS|Betriebssysteme]]. Es war in [[Glossary/de#C programing language|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 [[Glossary/de#Linux|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]] ===  
 
=== [[Unit]] ===  
A Pascal source file is also called a unit and usually has .pas, .pp or .p extension.
+
Eine Pascal Quelltextdatei wird auch Unit genannt und hat üblicherweise eine Dateiendung wie .pas, .pp oder .p.
  
The Pascal unit has an internal name which is usually the first line of the unit "'''unit''' MyUnit;", where MyUnit is the internal name.  
+
Die Pascal-Unit hat einen internen Namen, der normalerweise in der ersten Zeile der Unit steht: "'''unit''' MyUnit;", hier ist MyUnit der interne Name.  
  
The unit also has 2 main sections '''interface''' and '''implementation''' which are similar in C/C++ terminology to the header (.h, .hpp, .hh) file and the body file (.c, .cpp, .cc).  
+
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.  
  
All the code in the interface section can be accessed by other units or '''program''' files that "use" this unit: this is done by the '''uses''' clause. The [[Glossary#Uses|uses]] clause can appear either in the interface or implementation section: the code in the implementation section is "private" and can only be accessed by the same unit unless it is redefined in the interface section which is the case for "global" procedures and functions.<br>
+
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 [[Glossary/de#Uses|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.<br>
The Pascal unit can also contain 2 more sections, '''initialization''' and '''finalization''': these are executed automatically when the main program starts and stops using this unit, as their names suggest.
+
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]] ===  
 
=== [[Uses]] ===  
Clause in an Object Pascal program: a line near the top of the file or [[Glossary#Unit|Unit]] (in either the interface or the implementation) which lists other units that need to be accessed to find [[Glossary#Component|components]] used in the program.
+
Klausel in einem Object-Pascal-Programm: eine Zeile fast am Anfang der Datei oder [[Glossary/de#Unit|Unit]] (entweder im Interface oder in der Implementierung), die andere Units auflistet, auf die zugegriffen werden muss, um im Programm verwendete [[Glossary/de#Component|Komponenten]] zu finden.
  
For Example:
+
Zum Beispiel:
<pascal>
+
<syntaxhighlight lang=pascal>
 
uses
 
uses
 
   Classes, SysUtils, MySpecialUnit;
 
   Classes, SysUtils, MySpecialUnit;
</pascal>
+
</syntaxhighlight>
  
 
== V ==
 
== V ==
 
=== VCL ===  
 
=== VCL ===  
Visual Component Library - Base of Delphi Components Classes.
+
Visual Component Library (= dt.: Visuelle Komponentenbibliothek) - Basis der Delphi Komponentenklassen.
  
 
=== V4L ===  
 
=== V4L ===  
Video For Linux
+
Video For Linux (= dt.: Video für Linux)
 +
 
 
=== VFW ===  
 
=== VFW ===  
Video For Windows
+
Video For Windows (= dt.: Video für Windows)
  
 
== W ==
 
== W ==
  
 
=== Widget ===
 
=== Widget ===
A small (or even large!) graphical object or image, often part of a larger image, form, screen or picture. [[Glossary#OO|Object Oriented]] programs often depend heavily on the use of Forms, which comprise a large number of widgets such as buttons, captions, edit boxes, scroll bars, titles, menu bars, panels, grids and pictorial images like photos or drawings.
+
Ein kleines (oder auch großes!) graphisches Objekt oder Bild, oftmals Teil eines größeren Bildes, Formulars oder Bildschirms. [[Glossary/de#OO|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.
  
[[Glossary#Lazarus|Lazarus]] has separate widget sets for each Window Manager system, such as Microsoft Windows (widget sets Win32/64, or WinCE for hand-held devices), Linux (widget sets GTK1 or GTK2 for Gnome-based sysems, QT for KDE systems), Apple (widget set Carbon) as well as some non-specific sets such as FpGUI.
+
[[Glossary/de#Lazarus|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).
  
Lazarus developers have had to design custom-built interfaces to each widget set: the aim is to provide an interface of which the user is unaware; he simply writes the code or designs the form, and the widgets of the relevant set for his operating system fit into place and work seamlessly.
+
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 ===  
 
=== Wiki ===  
A type of website that provides documentation for a software package or similar information, and that welcomes editorial activity, additions and comments from the community. Most Wiki sites require potential users to register, and then login in order to edit the site. Documentation can be developed very quickly and flexibly.
+
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.
  
The [http://wiki.lazarus.freepascal.org/ Lazarus and FreePascal Wiki] site that you are currently browsing  contains extensive documentation about the [[Glossary#FreePascal|FreePascal]] and [[Glossary#Lazarus|Lazarus]] projects. Users and developers are actively encouraged to [http://wiki.lazarus.freepascal.org/index.php?title=Special:Userlogin&returnto=Special:Userlogout register] and submit their contributions.
+
Das [http://wiki.lazarus.freepascal.org/ Lazarus und FreePascal Wiki], das Sie gerade ansehen, enthält eine umfangreiche Dokumentation über die Projekte [[Glossary/de#FreePascal|FreePascal]] und [[Glossary/de#Lazarus|Lazarus]]. Wir möchten Benutzer und Entwickler dazu ermutigen, sich zu [http://wiki.lazarus.freepascal.org/index.php?title=Special:Userlogin&returnto=Special:Userlogout registrieren] und ihre eigenen Beiträge zu übermitteln.
  
 
=== WinCE ===
 
=== WinCE ===
A Windows-like environment for portable hand-held devices, mobile phones, PDAs etc. Produced by MicroSoft, it has many features that resemble [[Glossary#Windows | Windows]] for Desktops, but represents a 'cut-down' version.  
+
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 [[Glossary/de#Windows | Windows]] für Desktop-Computer ähneln, stellt aber eine 'beschnittene' Version dar.  
  
Most hand-helds use the ARM processor, and a [http://wiki.lazarus.freepascal.org/WinCE_port port] of [[Glossary#FreePascal | FreePascal]] and [[Glossary#Lazarus | Lazarus]] has been constructed to allow applications for the ARM and WinCE to be [[Glossary#Cross Compilation | cross-compiled]] and loaded for running on the hand-held device.  
+
Die meisten Hand-held-Computer setzen den ARM-Prozessor ein, und eine [http://wiki.lazarus.freepascal.org/WinCE_port Portierung] von [[Glossary/de#FreePascal | FreePascal]] und [[Glossary/de#Lazarus | Lazarus]] wurde entwickelt, die es ermöglicht, dass Anwendungen für den ARM und WinCE [[Glossary/de#Cross Compilation | cross-kompiliert]] werden und auf diesen Hand-held-Geräten ausgeführt werden können.
 +
 
 +
Für weitere Details siehe auch: [http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes Windows_CE_Development_Notes] und [http://wiki.lazarus.freepascal.org/Windows_CE_Interface Windows_CE_Interface]
  
For more details see [http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes Windows_CE_Development_Notes] and [http://wiki.lazarus.freepascal.org/Windows_CE_Interface Windows_CE_Interface]
 
 
=== Windows ===  
 
=== Windows ===  
An [[Glossary#OS|Operating System]] from Microsoft, probably the most widely used Operating System today, famous for its user friendly interface but infamous for its vulnerability to malicious attackers.
+
Ein [[Glossary/de#OS|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" also refers to rectangular areas on a computer screen which contain the textual and graphical material associated with a particular process or application. A window may form part of a program or system other than Microsoft's offering, for example there can be X-windows (see [[Glossary#X11|X11]]) or simple text-windows used by inherently text-based systems.
+
"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 [[Glossary/de#X11|X11]]) oder einfache Textfenster, wie sie auf text-basierten Systemen vorkommen.
  
 
== X ==
 
== X ==
 
=== [http://www.x.org/wiki/ X11] ===  
 
=== [http://www.x.org/wiki/ X11] ===  
Also called XFree, Xorg or simply X is a graphical interface originally designed for [[Glossary#Unix|Unix]] and also widely used in [[Glossary#Linux|Linux]].  
+
auch XFree, Xorg oder einfach X genannt, ist eine grafische Oberfläche, die ursprünglich für [[Glossary/de#Unix|Unix]] entworfen wurde und auch häufig unter [[Glossary/de#Linux|Linux]] verwendet wird.  
  
The X11 concept is quite different from the Windows GDI mainly because XFree is a program, not just a set of libraries. Because X11 is more hardware oriented and doesn't have a full set of [[Glossary#Widget|widgets]] yet, some programmers developed more advanced widgets like [[Glossary#GTK|GTK]] and [[Glossary#Qt Interface|QT]] and various Window Managers and Desktop Environments like GNOME, KDE, XPde, XFCE, IceWM, WindowMaker and many others.  
+
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 [[Glossary/de#Widget|Widgets]] hat, entwickelten einige Programmierer raffiniertere Widget-Sets wie [[Glossary/de#GTK|GTK]] und [[Glossary/de#Qt Interface|QT]] und verschiedene Fenstermanager und Desktop-Umgebungen wie GNOME, KDE, XPde, XFCE, IceWM, WindowMaker und viele andere.  
  
For more information about X11 please visit the [http://www.x.org XFree website].
+
Für weitere Informationen über X11 besuchen Sie, bitte, die [http://www.x.org XFree Webseite].
  
 
== Y ==
 
== Y ==
 
== Z ==
 
== Z ==
 
=== Zaurus ===
 
=== Zaurus ===
[[Glossary#PDA|PDA]] made by Sharp which uses Linux as its operating system. Its processor is the ARM for which a port of the FreePascal compiler has been made, and it is possible to cross-compile applications in FreePascal which will run on the Zaurus
+
Ein [[Glossary/de#PDA|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.
 +
 
 +
 
 +
{{AutoCategory}}
 +
[[Category:Main/de]]
 +
[[Category:Glossary/de|!]]

Latest revision as of 16:32, 5 September 2022

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 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.