| advertise add site services publishers database health videos | ![]() | about toolbar stats live show health store more stuff JOIN/LOGIN |
KCC Staff Directory Page - John M. Pascal jci.tju.edu | Dr. Pascal M. Jabbour , MD - Free Doctor Profile - Neurosurgery, located... healthgrades.com | Dental Center: Mr. Pascal wockhardthospitals.net | Pascal Demaine manchesterorthopaedicgrou... |
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Delphi. Pascal compilers, including those for Object Pascal, generally run very fast while producing highly optimized code.
To sum up, the word Object Pascal nowadays is used collectively to refer to different dialects of the Pascal language with object-oriented programming extension, although these dialects are mostly compatible with CodeGear's implementation.
[edit] Early history at Apple
Object Pascal is an extension of the Pascal programming language that was developed at Apple Computer by a team led by Larry Tesler in consultation with Niklaus Wirth, the inventor of Pascal. It is descended from an earlier object-oriented version of Pascal called Clascal, which was available on the Lisa computer. Object Pascal was needed in order to support MacApp, an expandable Macintosh application framework that would now be called a class library. Object Pascal extensions and MacApp itself were developed by Barry Haynes, Ken Doyle, and Larry Rosenstein, and were tested by Dan Allen. Larry Tesler oversaw the project, which began very early in 1985 and became a product in 1986. Apple dropped support for Object Pascal when they moved from Motorola 68K chips to IBM's PowerPC architecture in 1994. An Object Pascal extension was also implemented in the Think Pascal IDE. The IDE includes the compiler and an editor with Syntax highlighting and checking, a powerful debugger and a class library. Many developers preferred Think Pascal instead of MacApp because it offered a tight integration of its tools. The development stopped after the 4.01 version because the company was bought by Symantec. The developers then left the project. [edit] The Borland and CodeGear yearsIn 1986, Borland introduced similar extensions, also called Object Pascal, to the Turbo Pascal product for the Macintosh, and in 1989 for Turbo Pascal 5.5 for DOS. When Borland refocused from MS-DOS to Windows in 1994, they created a successor to Turbo Pascal, called Delphi and introduced a new set of extensions to create what is now known as the Delphi language. The development of Delphi started in 1993 and Delphi 1.0 was officially released in the United States on 14 February 1995. While code using the Turbo Pascal object model could still be compiled, Delphi featured a new syntax using the keyword The Delphi language continued to evolve throughout the years to support new language concepts such as 64-bit integers and dynamic arrays. [edit] CompilersThere are many compilers that are mostly compatible with the Object Pascal language from Delphi. Many of these were created to enable Object Pascal compilation on different platforms and under various licenses.
[edit] InterpretersPascal Script (formerly known as InnerFuse) is an open source Object Pascal interpreter/scripting engine written in Delphi. Supports a limited subset of Object Pascal. [edit] Sample "Hello World" programs[edit] Apple's Object Pascalprogram ObjectPascalExample; type THelloWorld = object procedure Put; end; var HelloWorld: THelloWorld; procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld.Put; Dispose(HelloWorld); end. [edit] Turbo Pascal's Object PascalStill supported in Delphi and Free Pascal. FPC also packages its own substitutes for the libraries/units. Delphi doesn't. The Free Pascal 1.0 series and the FPC textmode IDE are the largest open codebases in this dialect. Free Pascal 2.0 was rewritten in a more Delphi-like dialect. program ObjectPascalExample; type PHelloWorld = ^THelloWorld; THelloWorld = object procedure Put; end; var HelloWorld: PHelloWorld; { this is a pointer to a THelloWorld } procedure THelloWorld.Put; begin WriteLn('Hello, World!'); end; begin New(HelloWorld); HelloWorld^.Put; Dispose(HelloWorld); end. [edit] Delphi and Free Pascal's Object Pascalprogram ObjectPascalExample; type THelloWorld = class procedure Put; end; procedure THelloWorld.Put; begin Writeln('Hello, World!'); end; var HelloWorld: THelloWorld; { this is an implicit pointer } begin HelloWorld := THelloWorld.Create; { constructor returns a pointer } HelloWorld.Put; HelloWorld.Free; { this line dereferences the pointer } end. Note that the object construct is still available in Delphi and Free Pascal (Delphi-compatible mode). [edit] Oxygene Object Pascalnamespace ObjectPascalExample; interface type ConsoleApp = class class method Main end; THelloWorld = class method Put; end; implementation method THelloWorld.Put; begin Console.WriteLine('Hello, World!'); end; class method ConsoleApp.Main; begin var HelloWorld := new THelloWorld; HelloWorld.Put; end; end. [edit] DevelopmentMany features have been introduced continuously to Object Pascal with extensions to Delphi, now also by Free Pascal. In reaction to criticisms, Free Pascal has adopted generics, and both Delphi and Free Pascal now support operator overloading (with different grammar, though). Delphi has also introduced many other features since version 7[2] including generics. [edit] See also[edit] References
[edit] External links[edit] Embarcadero
[edit] RemObjects Software
[edit] Introduction to Object Pascal
[edit] Delphi communities
[edit] Free Pascal Object Pascal reference guide
[edit] Tools For Object Pascal[edit] GNU Pascal[edit] paxCompiler[edit] WDSybil
| ||||||||||||||||||||||||||||||||||||||||
| ↑ top of page ↑ | about thumbshots |