Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs.... derivatives of Pascal
Pascal (programming language)
Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure.... , mostly known as the primary programming language
Programming language
A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer.... of CodeGear Delphi. Pascal compilers, including those for Object Pascal, generally run extremely fast while producing highly optimized code.
Borland Software Corporation is a Computer software company headquartered in Austin, Texas. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.... used the name "Object Pascal" for the programming language in the first versions of Delphi, but later renamed it to the "Delphi programming language".
Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs.... derivatives of Pascal
Pascal (programming language)
Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure.... , mostly known as the primary programming language
Programming language
A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer.... of CodeGear Delphi. Pascal compilers, including those for Object Pascal, generally run extremely fast while producing highly optimized code.
Borland Software Corporation is a Computer software company headquartered in Austin, Texas. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.... used the name "Object Pascal" for the programming language in the first versions of Delphi, but later renamed it to the "Delphi programming language". However, compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program.... s that claim to be Object Pascal compatible are often trying to be compatible with Delphi source code.
CodeGear is a wholly-owned division of Embarcadero Technologies. CodeGear develops software development tools such as the Borland Delphi Integrated development environment, the programming language Delphi, and the database server InterBase.... sells integrated development environment
Integrated development environment
An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development.... s (IDEs) that compile the Delphi programming language to Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces .... , the Microsoft .NET Framework
.NET Framework
The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework.... and Linux
Linux
Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license... . The open source
Open source
Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations.... Free Pascal
Free Pascal
Free Pascal is a free software, Portability , open source, Pascal programming language and Object Pascal compiler. The 32/64-bit multi-CPU architecture and cross-platform compiler implements the Borland Pascal programming language dialects as well as some MacPascal constructs, and is available for... project allows the language to be compiled for a range of operating systems including Linux
Linux
Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license... , Mac OS
Mac OS
Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems.... /Mac OS X
Mac OS X
Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems.... , Win32, Win64, Windows CE
Windows CE
Windows CE is Microsoft's operating system for minimalistic computers and embedded systems. Windows CE is a distinctly different operating system and Kernel , rather than a trimmed-down version of desktop Windows.... , and for several different hardware architectures. Also, a free compiler, , is available for producing code for Intel 8051
Intel 8051
The Intel 8051 is a Harvard architecture, single chip microcontroller which was developed by Intel in 1980 for use in embedded systems. Intel's original versions were popular in the 1980s and early 1990s, but has largely been superseded by a vast range of faster and/or functionally enhanced 8051-compatible devices manufactured by more th... chips.
Today, Object Pascal 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.
Early history at Apple
Object Pascal is an extension of the Pascal programming language that was developed at Apple Computer
Apple Computer
Apple Inc., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products.... by a team led by Larry Tesler
Larry Tesler
Larry Gordon Tesler is a computer scientist working in the field of human-computer interaction. Tesler has worked at Xerox PARC, Apple Computer, Amazon.com, and Yahoo!... in consultation with Niklaus Wirth
Niklaus Wirth
Niklaus Emil Wirth is a Switzerland computer science, best known for designing several programming languages, including Pascal , and for pioneering several classic topics in software engineering.... , the inventor of Pascal. It is descended from an earlier object-oriented version of Pascal called Clascal
Clascal
Clascal was an object-oriented programming language developed in 1983 by the Personal Office Systems division of Apple Computer.It was an extension of Apple Lisa Pascal , which in turn harked back to the UCSD Pascal model originally implemented on the Apple Pascal.... , which was available on the Lisa
Apple Lisa
The Apple Lisa was a personal computer designed at Apple Computer, Inc. during the early 1980s.The Lisa project was started at Apple in 1978 and evolved into a project to design a powerful personal computer with a graphical user interface that would be targeted toward business customers.... computer.
Object Pascal was needed in order to support MacApp
MacApp
MacApp was Apple Computer's primary object oriented application framework for the Mac OS for much of the 1990s. First released in 1985, it is arguably the first such system to be widely used, notably on a microcomputer platform.... , 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
Larry Tesler
Larry Gordon Tesler is a computer scientist working in the field of human-computer interaction. Tesler has worked at Xerox PARC, Apple Computer, Amazon.com, and Yahoo!... 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
Symantec
Symantec Corporation , founded in 1982, is an international corporation which sells computer software, particularly in the realms of Computer security and information management.... . The developers then left the project.
Borland Software Corporation is a Computer software company headquartered in Austin, Texas. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.... introduced similar extensions, also called Object Pascal, to the Turbo Pascal
Turbo Pascal
Turbo Pascal is a complete software development system that includes a compiler and an Integrated Development Environment for the Pascal programming language running under CP/M, CP/M-86, and MS-DOS, developed by Borland under Philippe Kahn's leadership.... product for the Macintosh, and in 1989 for Turbo Pascal 5.5 for DOS.
MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s.... to Windows
Microsoft Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces .... 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 class in preference to object, the Create constructor and a virtual Destroy destructor (and negating having to call the New and Dispose procedures), properties, method pointers, and some other things. These were inspired by the ISO working draft
Draft
Draft or draught may mean:* Draught beer, beer served from a keg or tap... for object-oriented extensions, but many of the differences to Turbo Pascal's dialect (such as the draft's requirement that all methods be virtual) were ignored.
The Delphi language continued to evolve throughout the years to support new language concepts such as 64-bit integers and dynamic array
Dynamic array
In computer science, a dynamic array, growable array, resizable array, dynamic table, or array list is an array data structure that can be resized and allows elements to be added or removed.... s.
A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program.... s 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.
CodeGear Delphi is probably the best known compiler. It targets Win16
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems.... , Win32
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems.... and the .NET 1.x, 2.0
.NET Framework
The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework.... .
Kylix is a compiler and integrated development environment formerly sold by Borland but later discontinued. It is a Linux version of the Borland Delphi programming language and C++ Builder, which run under Microsoft Windows.... is a Linux variant of Delphi which only targets Intel 32-bit Linux using Qt
Qt (toolkit)
Qt is a cross-platform application development framework, widely used for the development of graphical user interface programs , and also used for developing non-GUI programs such as console tools and servers.... . It is no longer updated. Modern distributions often do not work out-of-the box with it.
Free Pascal is a free software, Portability , open source, Pascal programming language and Object Pascal compiler. The 32/64-bit multi-CPU architecture and cross-platform compiler implements the Borland Pascal programming language dialects as well as some MacPascal constructs, and is available for... is a command-line compiler aimed at source compatibility with the core feature set of both the Turbo Pascal and the Delphi dialects. The current version, 2.2, is highly Delphi6/7 compatible. FPC generates code for x86, x86-64
X86-64
x86-64 is a superset of the x86. x86-64 Central processing units can run existing 32-bit or 16-bit x86 programs at full speed, but also support new programs written with a 64-bit address space and other additional capabilities.... , PowerPC
PowerPC
PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors.... , SPARC
SPARC
SPARC is a Reduced Instruction Set Computer microprocessor instruction set Computer architecture originally designed in 1985 by Sun Microsystems.... and ARM
Arm
In anatomy, an arm is one of the upper limbs of an animal. The term arm can also be used for analogous structures, such as one of the paired upper limbs of a four-legged animal, or the cephalopod arm.... processors under various operating systems, including Win32
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems.... , Win64
Windows API
The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems.... , Linux
Linux
Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license... , FreeBSD
FreeBSD
FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems.... , Mac OS
Mac OS
Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems.... and Mac OS X
Mac OS X
Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems.... (including an Xcode
Xcode
Xcode is a suite of tools for developing software on Mac OS X, developed by Apple Inc.. Xcode 3.0, the latest major version, is bundled free with Mac OS X v10.5, though it is not installed by default.... integration kit). Beyond command-line usage, several development environments are available for Free Pascal, in particular the Lazarus
Lazarus (software)
Lazarus is a cross platform Visual programming Integrated development environment which provides a Delphi programming language Clone for Pascal programming language and Object Pascal developers.... IDE.
GNU Pascal is a Pascal programming language compiler comprised of a frontend to GNU Compiler Collection, similar to the way Fortran and other languages were added to GCC.... (A separately-distributed part of the GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain.... ) While formally not aimed at the CodeGear dialects of Pascal, it does contain a Borland Pascal compatibility mode, and is very slowly incorporating a few Delphi language features. It is unsuitable for recompiling large bodies of Delphi code directly, but is noteworthy as having prolific support for operating systems and hardware architectures.
Virtual Pascal is a freeware 32-bit Pascal programming language compiler, IDE and debugger for OS/2 and Microsoft Windows, with some limited Linux support.... is a x86 32-bit Turbo Pascal and Delphi compatible compiler aimed mainly at OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers.... and Windows, although it also developed a DOS+ Extender and an experimental Linux cross-compiler. The compiler’s development stopped at about the level of Delphi V2; its site has been down since 2007, and development of Virtual Pascal has stopped.
Oxygene (formerly known as Chrome) is an Object Pascal compiler from RemObjects Software that integrates into Microsoft Visual Studio
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It can be used to develop Console application and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft W... . It is also available as free command-line compiler that runs native on CLI
Common Language Infrastructure
The Common Language Infrastructure is an open specification developed by Microsoft that describes the executable code and runtime environment that form the core of a number of runtimes including the .NET Framework, Mono , and Portable.NET.... . It targets the .NET and Mono platforms.
MIDletPascal is a Object Pascal compiler and IDE specifically designed to create software for mobiles. It generates Java bytecode that runs on any J2ME device.... is a mobile application development tool that generates J2ME bytecode.
PocketStudio is an Integrated development environment for Palm OS and Garnet OS by Winsoft. In some regard similar to Borland Delphi and Lazarus it has a visual form designer and a source code editor.... is a Pascal based IDE
Integrated development environment
An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development.... for Palm OS
Palm OS
Palm OS is an embedded operating system operating system initially developed by U.S. Robotics Corp.-owned Palm, Inc. for personal digital assistants in 1996.... .
Interpreters
(formerly known as InnerFuse) is an open source Object Pascal interpreter/scripting engine written in Delphi. Supports a limited subset of Object Pascal.
Sample "Hello World" programs
Apple's Object Pascal
program 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.
Turbo Pascal's Object Pascal
program ObjectPascalExample;
type
PHelloWorld = ^THelloWorld;
THelloWorld = object
procedure Put;
end;
var
HelloWorld: PHelloWorld;
procedure THelloWorld.Put;
begin
WriteLn('Hello, World!');
end;
begin
New(HelloWorld);
HelloWorld^.Put;
Dispose(HelloWorld);
end.
Delphi And Free Pascal's Object Pascal
program ObjectPascalExample;
type
THelloWorld = class
procedure Put;
end;
procedure THelloWorld.Put;
begin
Writeln('Hello, World!');
end;
var
HelloWorld: THelloWorld;
begin
HelloWorld := THelloWorld.Create;
HelloWorld.Put;
HelloWorld.Free;
end.
Note that the object construct is still available in Delphi and Free Pascal (Delphi-compatible mode).
Oxygene Object Pascal
namespace 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.
Development
Many 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 supports operator overloading (with different grammar, though). Delphi has also introduced many other features since version 7 including generics.
Programming languages are used for controlling the behavior of a machine . Like natural languages, programming languages conform to rules for syntax and semantics....
Free Pascal is a free software, Portability , open source, Pascal programming language and Object Pascal compiler. The 32/64-bit multi-CPU architecture and cross-platform compiler implements the Borland Pascal programming language dialects as well as some MacPascal constructs, and is available for...
A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
Genesis Device is the name for a recently-released game engine created by Luuk van Venrooij, based in the Netherlands. The Genesis Device engine was created in aspiration of games such as The Elder Scrolls IV: Oblivion, Crysis, Enemy Territory: Quake Wars, and S.T.A.L.K.E.R., with a purpose of allowing developers to use it in creating their f...
External links
CodeGear
RemObjects Software
Introduction to Object Pascal
Delphi communities
Delphi's Object Pascal Language guide
([ftp://ftpc.codegear.com/pub/delphi/techpubs/delphi5/oplg.zip PDF], [ftp://ftpc.codegear.com/pub/delphi/techpubs/delphi5/d5oplr.zip Windows Help])
[ftp://ftpc.codegear.com/pub/delphi/techpubs/delphi1/objlang.zip Delphi 1.0 Object Pascal Language Reference Guide]