Object Pascal: Difference between revisions

Content deleted Content added
Removing entries without references after waiting more than 3 years
Rescuing 6 sources and tagging 0 as dead.) #IABot (v2.0.9.5
Line 6:
| paradigms = [[Imperative programming|Imperative]], [[Structured programming|structured]], [[Object-oriented programming|object-oriented]], [[Functional programming|functional]] (Delphi dialect only), [[Component-based software engineering|component-based]], [[Event-driven programming|event-driven]], [[Generic programming|generic]]
| family = [[Niklaus Wirth|Wirth]] [[Pascal (programming language)|Pascal]]
| designers = [[Larry Tesler]] (Apple)<br/>[[Niklaus Wirth]] (for Apple)<br/>[[Anders Hejlsberg]] (Borland)<ref name="InfoworldTechTalk">{{cite magazine |last=Gibson |first=Steve |author-link=Steve Gibson (computer programmer) |date=May 8, 1989 |title=Borland and Microsoft Enter the Object-Oriented Pascal Ring |magazine=[[InfoWorld]] |page=28 |url={{https://books.google .com/books|?id=RzoEAAAAMBAJ |&pg=PT27 |plainurl=true}} | volume=11 |issue=19 |access-date=September 18, 2021 |archive-date=February 29, 2024 |archive-url=https://web.archive.org/web/20240229162502/https://books.google.com/books?id=RzoEAAAAMBAJ&pg=PT27#v=onepage&q&f=false |url-status=live }}</ref>
| developers = Apple Computer (initial)<br/>Borland International<ref name="InfoworldTechTalk"/>
| released = {{Start date and age|1986}}
Line 96:
==Versions==
* [[Borland]] used the name ''Object Pascal'' for the programming language in the first versions, but later renamed it to ''Delphi''. [[Compiler]]s that claim to be compatible with Object Pascal are often trying to be compatible with Delphi [[source code]].{{Citation needed|date=August 2009}} Because Delphi is a [[trademark]], compatible compilers continue using the name ''Object Pascal''.
* [[Embarcadero Technologies]], which purchased Delphi in 2008,<ref>[http://edn.embarcadero.com/article/38132 Community Letter: Embarcadero Technologies agrees to acquire CodeGear from Borland] {{Webarchive|url=https://web.archive.org/web/20180302044728/http://edn.embarcadero.com/article/38132 |date=2018-03-02 }}. Edn.embarcadero.com. Retrieved on 2013-07-21.</ref> sells the [[Delphi (software)|Delphi]] [[integrated development environment]] (IDE) that compiles the Delphi dialect of Object Pascal to [[Windows]] and [[macOS]], [[iOS]], [[Android (operating system)|Android]] and Web.
* [[.NET Framework|.NET]] support existed from Delphi 8 through Delphi 2005, 2006, and 2007, which now has been replaced by another language, ''Oxygene'' (see below), which is not fully backward-compatible.
* The [[Oxygene (programming language)|Oxygene]] language developed by [[RemObjects Software]] targets the [[Common Language Infrastructure]], the [[Java (software platform)|Java]] Runtime Environment and [[Apple Inc.|Apple]]'s [[Cocoa (API)|Cocoa]] frameworks for [[iOS]] and [[macOS]].
* The [[open source]] [[Free Pascal]] project allows the language to be compiled for a wide range of [[operating system]]s, including [[Linux]] ([[32-bit]], [[64-bit]]), [[FreeBSD]], [[Classic Mac OS]], [[macOS]], [[Solaris (operating system)|Solaris]], [[Windows API]] (32, 64, [[Windows CE|CE]]), the [[ARM architecture family|ARM]] [[instruction set architecture]] (ISA), and several other hardware architectures. The first version of Free Pascal for the [[iPhone]] [[software development kit]] (SDK) 2.''x'' was announced on January 17, 2009.<ref name="fpciphone">{{cite web |title=iPhone/iPod development |publisher=Free Pascal development team |url=http://wiki.freepascal.org/iPhone/iPod_development |access-date=2009-04-13 |archive-date=2009-04-28 |archive-url=https://web.archive.org/web/20090428024653/http://wiki.freepascal.org/iPhone/iPod_development |url-status=live }}</ref>
* The [[Smart Pascal]] language<ref name="asmartbook">{{cite book|title=A Smart Book|date=18 May 2012|publisher=Leanpub|url=https://leanpub.com/asmartbook|access-date=19 June 2013|archive-date=25 May 2013|archive-url=https://web.archive.org/web/20130525145612/https://leanpub.com/asmartbook|url-status=live}}</ref> targets [[ECMAScript]]–[[JavaScript]] and is used in Smart Mobile Studio, written by Jon Lennart Aasenden and published by Optimale Systemer (2012). The language greatly simplifies [[HTML5]] development through object-oriented, and [[rapid application development]] (RAD) methods. Smart Pascal integrates tightly with established technologies such as [[node.js]], Embarcadero [[DataSnap]], and [[Remobjects SDK]] to produce high-performance [[client–server model]] web applications. The language allows easy creation of visual components and reusable libraries. The Smart Pascal dialect stems from the DWScript language, extended to better integrate with the JavaScript environment and libraries, such as <code>asm</code> sections which are plain JavaScript but have access to Pascal symbols, or ''external'' classes which map directly to prototypal JavaScript classes. Smart Pascal introduces true inheritance, classes, partial classes, interfaces, a [[virtual method table]] and many other advanced constructs which are not a part of JavaScript by default.
* The [[Morfik]] Pascal language, developed by Morfik, targets [[Ajax (programming)|Ajax]]-enabled Web applications. The compiler is built into the company's AppsBuilder IDE and allows Object Pascal code to be used in implementing code to execute in a browser or server. It uses the [[Free Pascal]] compiler to generate native binaries from Object Pascal.
* The open source [[GNU Pascal]] compiler is available as a front-end to the [[GNU Compiler Collection]], which implements the [[International Organization for Standardization]] (ISO) 7185 Pascal standard, and most of the ISO 10206 Extended Pascal standard.
Line 120:
==Interpreters==
{{Main|Pascal Script}}
[http://www.remobjects.com/ps Pascal Script] (formerly ''InnerFuse'') and [http://code.google.com/p/dwscript/ DWScript] (Delphi Web Script) are open-source Object Pascal [[Interpreter (computing)|interpreters]] and scripting engines written in Delphi. They support subsets of Object Pascal. DWScript can also compile Object Pascal code into JavaScript code (Smart Pascal), and supports [[just-in-time compilation]] (JIT). Modern Pascal provides 3 different interpreters: a [[command-line interface]] (CLI), Apache Module (Celerity), and CodeRunner (node.js like solution able to handle different scripts per port), besides the ability to compile and protect a script's [[source code]].<ref>{{cite web |url=http://www.modernpascal.com/ |title=Modern Pascal |access-date=2018-10-22 |archive-date=2018-12-11 |archive-url=https://web.archive.org/web/20181211010242/http://modernpascal.com/ |url-status=live }}</ref>
 
==Sample "Hello World" programs==
Line 310:
 
==Development==
Many features have been introduced continuously to Object Pascal with extensions to Delphi and extensions to FreePascal. In reaction to criticism, Free Pascal has adopted generics with the same syntax as Delphi, provided Delphi compatibility mode is selected, and both Delphi (partial) and Free Pascal (more extensive) support [[operator overloading]]. Delphi has also introduced many other features since version 7,<ref name="newftrs">{{cite web|title=New Delphi language features since Delphi 7|publisher=CodeGear|url=http://dn.codegear.com/article/34324|access-date=2008-07-06|archive-date=2008-07-02|archive-url=https://web.archive.org/web/20080702184859/http://dn.codegear.com/article/34324|url-status=live}}</ref> including generics. Whereas FreePascal tries to be compatible to Delphi in Delphi compatibility mode, it also usually introduced many new features to the language that are not always available in Delphi.
 
==References==