Der Epina Delphi-Kurs bietet Ihnen eine allgemeine Einführung in das Programmieren mit Delphi/Pascal. Mit vielen ausgearbeiteten Beispielen können Sie direkt in die Delphi-Programmierung einsteigen. Mehr dazu finden Sie hier.... |
Home Grundlagen von Delphi Einordnung von Delphi | ||||||||||
See also: Was ist Delphi? | ||||||||||
Einordnung von Delphi
Da Delphi mehr ist als eine Programmiersprache, lässt sich Delphi auch nicht exakt einordnen. Die Basissprache (Pascal) zählt man zu den Sprachen der 3. Generation, andere Teile von Delphi (z.B. Object-Pascal, die visuellen Komponenten, oder die SQL-Anbindung) zählen zur 4. Generation.
Um Delphi besser einordnen zu können, sind im Folgenden die einzelnen Generationen von Programmiersprachen beschrieben. 1. Generation: MaschinensprachenUnter Maschinensprache versteht man die Bitkombinationen, die von der CPU (central processing unit = Mikroprozessor) als Befehle verstanden und ausgeführt werden. Die ersten Computer Ende der 1940er Jahre konnten nur in Maschinensprache programmiert werden. In Maschinensprache wird heute nicht mehr programmiert, da es für jeden CPU-Typ zumindest einen Assembler (siehe unten) gibt. Grundsätzlich ist jedes Programm, das direkt in Maschinensprache geschrieben wird extrem teuer (weil zeitaufwändig) und extrem schlecht zu warten.
2. Generation: AssemblersprachenUm die für den Menschen ziemlich schwierige Maschinensprache leichter zugänglich zu machen, hat man schon sehr früh die sogenannte Assemblersprache eingeführt. Dabei handelt es sich um eine 1:1 Entsprechung von sog. Mnemonics zu den Bits der Maschinensprache. Die Mnemonics können vom Menschen wesentlich leichter erlernt werden, zu mal Adressbezüge gesondert ausgewiesen werden. Für die Übersetzung der Assemblersprache in die Maschinensprache ist der sogenannte Assembler zuständig (den Vorgang nennt man "assemblieren"). Wichtig ist, dass die Assemblersprache immer exakt auf die jeweilige CPU zugeschnitten ist. Wenn man also eine Assemblersprache (zum Beispiel für die 68000er CPU-Familie) beherrscht, kann man keinesfalls Assembler für eine andere CPU-Familien (z.B. Intel Pentium). Um Assembler überhaupt sinnvoll einsetzen zu können, benötigt man sehr detailierte Kenntnisse des jeweiligen Mikroprozessors. Der Vorteil von Assemblersprachen liegt in der maximal möglichen Geschwindigkeit des erzeugten Codes. Daher wird Assembler auch nur an sehr zeitkritischen Stellen eingesetzt.
3. Generation: HochsprachenHochsprachen zeichnen sich dadurch aus, dass die Programmiersprache unabhängig vom verwendeten Computer ist. Das Programm wird entweder vor der Ausführung (Compiler) oder während der Ausführung (Interpreter) in die Maschinensprache übersetzt. Manchmal - bei ganz alten Sprachen, wie Basic, und bei ganz neuen Ansätzen, wie .NET (sprich "dotnet") - wird nicht direkt in die Maschinensprache sondern in eine maschinenunabhängige Zwischensprache übersetzt. Prozedurale AnsätzeProzedurale Ansätze stellen den Algorithmus, also die Abarbeitung des Programms nach bestimmten von der Aufgabe erzeugten Vorgaben. Zu den prozeduralen Sprachen gehören Basic, Fortran, C, Pascal, und viele andere.
Objektorientierte AnsätzeBei objektorientierten Ansätzen steht nicht der Algorithmus, sondern ein Datenobjekt im Mittelpunkt. Dieses Datenobjekt besitzt einerseits entsprechende Felder zur Speicherung der Daten und andererseits sog. Methoden zur Bearbeitung der Daten. Die Algorithmen (der Methoden) werden also zum Teil eines Objekts. Objektorientierte Ansätze haben viele Vorteile, da von Vorneherein bestimmte Fehler vermieden werden. Die enge Verbindung zwischen Daten und Algorithmen entspricht außerdem mehr der Realität. Zu den objektorientierten Sprachen gehören Object-Pascal (Delphi), Java, C++ oder Smalltalk. Deklarative AnsätzeDeklarative Ansätze werden manchmal auch als Sprachen zur künstlichen Intelligenz bezeichnet (was aber stark irreführend ist). Solche Sprachen, wie z.B. Lisp, Prolog, oder DataLog verfolgen jeweils eigene Ansätze, die ganz spezielle Merkmale aufweisen. So ist Lisp auf die Bearbeitung von Listen spezialisiert und erlaubt selbst-modifizierenden Code. Prolog dient zur Auflösung logischer Ausdrücke, und Datalog dient als Programmiersprache für relationale Datenbanken.
|
||||||||||
Home Grundlagen von Delphi Einordnung von Delphi |
Last Update: 2008-09-09