www.wikidata.de-de.nina.az
Object Pascal ist eine Sammelbezeichnung fur mehrere teilweise miteinander kompatible Programmiersprachen Derivate die Pascal um objektorientierte Programmierung erweitern Die bekannteste Variante ist die Programmiersprache der Entwicklungsumgebung Embarcadero Delphi die vom Unternehmen Borland entwickelt und zeitweise Delphi Language genannt wurde und mittlerweile auch von anderen Entwicklungsumgebungen implementiert wird Object PascalParadigmen prozedural objektorientiertErscheinungsjahr 1986Entwickler Apple Niklaus Wirth Anders HejlsbergTypisierung stark explizit auf Wunsch auch implizit statischWichtige Implementierungen Embarcadero Delphi x86 und CLI Free Pascal diverse Architekturen Oxygene CLI Java Virtual Pascal x86 TMT Pascal x86 Turbo51 Intel 8051 Dialekte Free Pascal Delphi NET OxygeneBeeinflusst von Turbo Pascal Simula SmalltalkBeeinflusste Net Framework C Genie Java Nim C AL Inhaltsverzeichnis 1 Entwicklung 1 1 Fruhe Entwicklung bei Apple 1 2 Weiterentwicklung bei Borland Inprise Codegear und Embarcadero 2 Eigenschaften 2 1 Programmbeispiel 3 Implementierungen 4 Klassenbibliotheken 5 Einfluss auf andere Programmiersprachen 6 Literatur 7 Weblinks 8 EinzelnachweiseEntwicklung BearbeitenFruhe Entwicklung bei Apple Bearbeiten Die erste Object Pascal Variante entstand Anfang 1985 bei Apple als ein Team um Larry Tesler in Zusammenarbeit mit dem Pascal Grunder Niklaus Wirth einen objektorientierten Pascal Dialekt entwickelte der fur die Entwicklung des Entwicklungs Frameworks MacApp fur Macintosh Computer notwendig war 1 Es handelte sich um eine Weiterentwicklung einer fruheren objektorientierten Pascal Variante namens Clascal die fur Lisa Computer verfugbar war Eine zur Apple Version ahnliche und weitgehend kompatible Object Pascal Version stand kurz darauf in der THINK Pascal Entwicklungsumgebung fur Macintosh Computer zur Verfugung Weiterentwicklung bei Borland Inprise Codegear und Embarcadero Bearbeiten 1986 erweiterte Borland seine Entwicklungsumgebung Turbo Pascal fur den Apple Macintosh um objektorientierte Sprachmerkmale die anfangs der Apple Implementierung stark ahnelten Mit Turbo Pascal 5 5 folgte 1989 eine Version fur DOS 1993 begann Borland mit der Entwicklung von Delphi als Nachfolger von Turbo Pascal fur Windows 1995 veroffentlichte Borland Delphi 1 0 und fuhrte damit neue Spracherweiterungen wie ein neues Objektmodell mit erweiterter Klassenunterstutzung und vielfaltigeren Sichtbarkeitsregeln ein Das alte Objektmodell von Apple und Turbo Pascal Old Style Object Types wurde und wird aber weiterhin unterstutzt 2 Mit der Zeit wurde die Sprache immer wieder weiterentwickelt und u a um Generics und anonyme Funktionen erweitert Neben dem verbreiteten Delphi gibt es viele andere Compiler fur Object Pascal wie u a die Open Source Projekte Free Pascal und GNU Pascal Sie streben teilweise Kompatibilitat zu Delphi an pflegen aber eine eigene Sprachdefinition mit eigenen Erweiterungen Die aktuelle Free Pascal Version 3 0 unterstutzt sowohl Old Style Objekte als auch die mit Delphi eingefuhrten moderneren Klassenkonzepte Eigenschaften BearbeitenDer Funktionsumfang von Object Pascal ist vergleichbar mit dem von C wobei sich die Syntax stark unterscheidet Variablen mussen deklariert und einem Datentyp zugeordnet werden Es gibt Klassen mit Konstruktoren und Destruktoren Methoden und Properties Methoden konnen virtuell sein Die Vererbung unterstutzt nur eine Basisklasse Interfaces ermoglichen Mehrfachvererbung Fur die Speicherverwaltung von Objekten ist der Programmierer selbst verantwortlich Strings sind davon nicht betroffen da sie als elementarer Datentyp unterstutzt werden Bis Delphi 2005 wurden Objekte grundsatzlich auf dem Heap angelegt Dies ermoglicht es in Delphi jedes Objekt als Ergebnis einer Funktion an den Aufrufenden zu ubergeben In anderen Programmiersprachen wie z B C konnen Objekte sowohl im Heap als auch im Stack angelegt werden Objekte im Stack konnen nicht als Ruckgabewert ubergeben werden da diese beim Verlassen der Funktion zusammen mit dem restlichen Stackframe der Funktion geloscht werden Somit wurde hier eine Designentscheidung getroffen die dem Delphi Programmierer die Entscheidung zwischen Heap Stack abnimmt und immer die flexiblere Losung wahlt Als Nachteil dieser Technik ergibt sich unmittelbar dass der Programmierer seine erzeugten Objekte selbst aus dem Speicher entfernen muss Bei Objekten im Stack ist dies nicht notwendig Seit Delphi 2006 werden auch Records mit Methoden unterstutzt womit sich Stackobjekte ahnlich wie in C erstellen lassen Programmbeispiel Bearbeiten Fur Delphi und Free Pascal program ObjectPascalExample type THelloWorld class public procedure Greet end procedure THelloWorld Greet begin Writeln Hello World end var HelloWorld THelloWorld impliziter Zeiger begin HelloWorld THelloWorld Create Konstruktor gibt einen Zeiger auf eine Instanz der Klasse THelloWorld zuruck try HelloWorld Greet finally HelloWorld Free Freigeben der Instanz end end Implementierungen BearbeitenCompiler bzw Interpreter die Object Pascal unterstutzen sind u a Turbo Pascal kommerziell Embarcadero Delphi ehemals Borland Delphi kommerziell Windows Borland Kylix kommerziell Linux Free Pascal Open Source multiplattform GNU Pascal Open Source Virtual Pascal Closed Source Freeware Oxygene DWScript Open Source Klassenbibliotheken BearbeitenFur Object Pascal existieren mehrere Klassenbibliotheken Unter Delphi bilden die Runtime Library RTL und die Visual Component Library VCL traditionell die Basis fur die Entwicklung Wahrend erstere grundlegende Funktionalitaten wie beispielsweise Verarbeitungsfunktionen fur Zeichenketten enthalt ist letztere eine Klassenbibliothek insbesondere fur visuelle Komponenten Buttons etc Zeitweise gab es neben der VCL noch die Component Library for Cross Platform CLX Diese wurde aber wieder eingestellt Mit Delphi XE2 wurde Firemonkey eine im Gegensatz zur VCL plattformunabhangige vektorbasierte Komponentenbibliothek eingefuhrt Der grosste Teil der Funktionalitat beruht auf Klassenbibliotheken andere sehr haufig benotigte Funktionen werden aber direkt vom Compiler umgesetzt so z B die nahtlose Integration der COM Technik unter Windows Der direkte Zugriff auf die Windows API ist moglich Von anderen Anbietern gibt es eine Vielzahl von Komponenten fur die unterschiedlichsten Anwendungen So haben sich auch einige Open Source Bibliotheken und Komponentensammlungen etabliert insbesondere die JEDI Class Library JCL JEDI Visual Component Library JVCL und Internet Direct Indy Fur Free Pascal Lazarus existieren aquivalente Bibliotheken zu RTL und VCL die sich in der Handhabung nur im Detail unterscheiden und dort Free Component Library FCL und Lazarus Component Library LCL heissen Einfluss auf andere Programmiersprachen BearbeitenEinige der Elemente und Ideen von Object Pascal wurden in die Programmiersprache C von Microsoft ubernommen Einer der Grunde ist dass zahlreiche Mitentwickler von Delphi bei Borland von Microsoft abgeworben wurden und massgeblich an der Entwicklung von C beteiligt waren Darunter waren unter anderem der Delphi Projektleiter Anders Hejlsberg welchem der Wechsel zu Microsoft mit einem Bonus in Millionenhohe schmackhaft gemacht wurde sowie Chuck Jazdzewski Delphi Chief Architect Corbin Dunn Entwickler der Delphi IDE Danny Thorpe Delphi Borland Chief Scientist Eddie Churchill und Ramin Halviatti 3 Hejlsberg wurde bei Microsoft Software Architekturchef Miterfinder von NET und Chefentwickler von C Literatur BearbeitenRichard Kaiser Objekt Pascal mit Delphi Eine Einfuhrung in die objektorientierte Windows Programmierung Springer Reprint v 1997 Berlin 2013 ISBN 3 540 60340 9 Martin Pyka DirectX 9 in Delphi BoD 2004 ISBN 3 8334 0835 9 Thomas Binzinger Jetzt lerne ich Delphi Der einfache Einstieg in Object Pascal fur alle Versionen bis einschliesslich Delphi 2006 Markt und Technik Munchen 2006 ISBN 3 8272 4108 1 Walter Doberenz Thomas Kowalski Delphi 7 Grundlagen Profiwissen Kochbuch Hanser Munchen 2007 ISBN 3 446 41216 6 Hans Georg Schumann Delphi fur Kids bhv Verlag 4 Auflage 2009 ISBN 3 8266 8662 4 Wolf Gert Matthaus Grundkurs Programmieren mit Delphi Vieweg 4 Auflage 2011 ISBN 3 8348 1668 X Chris Rolliston Delphi XE2 Foundations CreateSpace 2012 ISBN 978 1 4775 5089 2 Nick Hodges Coding in Delphi Nepeta Enterprises 2014 ISBN 978 1 941266 03 8Weblinks Bearbeiten nbsp Wikibooks Programmierkurs Delphi Lern und Lehrmaterialien Modern Object Pascal Introduction for Programmers Uberblick von Michalis Kamburelis englisch Einzelnachweise Bearbeiten Larry Tesler Object Pascal Report In Structured Language World 9 Jahrgang Nr 3 1985 S 10 7 Ray Lischner Delphi in a nutshell a desktop quick reference 1st Auflage O Reilly and Associates Sebastopol CA 2000 ISBN 1 56592 659 5 Borland Chef Microsoft raubt uns die Mitarbeiter Computerwoche Abgerufen von https de wikipedia org w index php title Object Pascal amp oldid 236565679