Object Pascal: verschil tussen versies

Naar navigatie springen Naar zoeken springen
18 bytes verwijderd ,  3 maanden geleden
Geen trema
(1 (onbereikbare) link(s) aangepast en 0 gemarkeerd als onbereikbaar) #IABot (v2.0)
(Geen trema)
| versie =
| typesystem = statisch/dynamisch, sterk
| implementaties = [[Delphi (ontwikkelomgevingsoftware)|Delphi]], [[Free Pascal]]
| dialecten = [[Turbo Pascal]]
| beinvloed = [[Pascal (programmeertaal)|Pascal]], [[Smalltalk (programmeertaal)|Smalltalk]]
| website =
}}
'''Object Pascal''' verwijst naar een tak van [[objectgeoriënteerd]]e [[Pascal (programmeertaal)|Pascalvarianten]], en is vooral bekend als de belangrijkste [[programmeertaal]] van [[Delphi (ontwikkelomgevingsoftware)|Delphi]]. Pascalcompilers, waaronder die voor Object Pascal, zijn doorgaans erg snel en produceren sterk [[Optimalisatie (compiler)|geoptimaliseerde]] code.
 
== Varianten ==
* De opensource [[GNU Pascal]]compiler is beschikbaar als een front-end voor de [[GNU Compiler Collection]], en implementeert de [[Internationale Organisatie voor Standaardisatie|ISO]] 7185 Pascalstandaard, en een groot deel van de ISO 10206 Extended Pascalstandaard.
* Er is ook een gratis compiler beschikbaar, genaamd [https://web.archive.org/web/20180925023509/http://turbo51.com/ Turbo51], voor het produceren van code voor [[Intel 8051]]-chips.
* [[WDSybil]], een opensource Delphi-achtige IDE en compiler voor [[Microsoft Windows]] en [[OS/2]], was oorspronkelijk een commerciële [[Borland Pascal]]compatibele omgeving ontwikkeld door een bedrijf genaamd Speedsoft. Later werd de compiler doorontwikkeld tot een Delphi-achtige [[Rapid Applicationapplication Developmentdevelopment|RAD]] genoemd Sybil, en uiteindelijk vrijgegeven onder de GPL toen het bedrijf zijn activiteiten staakte.
Kortom, het begrip '''Object Pascal''' verwijst tegenwoordig naar de verschillende Pascaldialecten met extensies voor objectgeörienteerdobjectgeoriënteerd programmeren, hoewel deze dialecten doorgaans vrijwel compatibel zijn met CodeGears implementatie.
 
== Geschiedenis ==
=== Vroege geschiedenis bij Apple ===
Object Pascal is een uitbreiding op de programmeertaal [[Pascal (programmeertaal)|Pascal]] en werd ontwikkeld door [[Apple Computer]] door een team onder leiding van [[Larry Tesler]] in overleg met [[Niklaus Wirth]], de uitvinder van Pascal. Het stamt af van een eerdere objectgeörienteerdeobjectgeoriënteerde versie van Pascal genaamd [[Clascal]], die beschikbaar was voor de [[Apple Lisa|Lisacomputer]].
Object Pascal was nodig voor de ondersteuning van [[MacApp]], een uitbreidbaar Macintosh-applicatieframework dat tegenwoordig een klassenbibliotheek genoemd zou worden. Object Pascal-extensies en MacApp zelf werden ontwikkeld door Barry Haynes, Ken Doyle, en Larry Rosenstein, en werden getest door Dan Allen. [[Larry Tesler]] overzag het project, dat begon in begin 1985 en een product werd in 1986.
 
In 1994 is Borland zich na [[MS-DOS]] op [[Microsoft Windows|Windows]] gaan richten met de creatie van Delphi, een opvolger voor Turbo Pascal. Daarnaast introduceerden ze een set extensies die nu bekendstaat onder de naam Delphi.
 
De ontwikkeling van Delphi begon in 1994 en Delphi 1.0 werd officieel uitgebracht in de Verenigde Staten op 14 februari 1995. Hoewel code die gebruikmaakte van het objectmodel van Turbo Pascal nog steeds gecompileerd kon worden, ging met de nieuwe syntaxis van Delphi de voorkeur uit naar het gebruik van <code>class</code> in plaats van <code>object</code>, de Create-constructor en een virtuele Destroy-destructor in plaats van de procedures <code>New</code> en <code>Dispose</code>, properties, method pointers en een aantal andere zaken. Deze waren geïnspireerd door het [[Internationale Organisatie voor Standaardisatie|ISO]]-ontwerp voor objectgeörienteerdeobjectgeoriënteerde extensies, maar veel verschillen met het Turbo Pascal-dialect (zoals de eis in het ontwerp dat alle methodes virtueel zouden worden) werden genegeerd.
Het Delphidialect is door de jaren heen verder geëvolueerd, en ondersteunt nieuwe taalconcepten zoals [[64-bits integer]]s en [[dynamische array]]s.
 
21.509

bewerkingen

Navigatiemenu