Delphi programming language
Delphi is a programming language and software development environment. It is produced by Borland (known for a time as Inprise). The Delphi language, formerly known as Object Pascal (Pascal with object-oriented extensions) originally targeted only Microsoft Windows, but now builds native applications for Linux and the Microsoft .NET framework as well (see below).Its most popular use is the development of desktop and enterprise database applications, but as a general purpose development tool it is capable of and used for most types of development projects. It was one of the first of what came to be known as RAD tools, for Rapid Application Development, when released in 1995 for 16-bit Windows. Delphi 2, released a year later, supported 32-bit Windows environments, and a C++ version, C++Builder, followed a few years after. In 2001 a Linux version known as Kylix became available. With one new major release every year, in 2002, the product became known as Delphi 7 Studio, the language and the product are known as Delphi instead of Object Pascal (or its original name: AppBuilder), and support for Linux (through Kylix) and .NET (through a preview compiler) were added.
Delphi's language (Object Pascal), IDE, and component library (VCL/VCX) leverage each other: to allow users to create object oriented applications without knowing anything about OOP; to allow component authors to encapsulate their knowledge about an API, COM server, Web Service, etc. in a very discrete, internally consistent, and recognizable package; and to allow pure OOP as powerful as C++, C#, etc.
The chief architect behind Delphi, and its predecessor Turbo Pascal, was Anders Hejlsberg until he left for Microsoft in 1996 where he is the chief designer of C# and a key participant in the creation of the Microsoft .NET Framework. Full support for .NET was added in Delphi 8 (released Dec 2003). Delphi 8 changed its IDE for the first time since its conception to a look an feel similar to Microsoft's Visual Studio for .NET. Delphi is a natural fit in the .NET arena as the various features in the language are also found in .NET framework.
The main components of Delphi and Kylix are the Delphi language (formally known as the Object Pascal language), the VCL/CLX (Visual Component Library), and strong database connectivity, combined with a powerful IDE (Integrated Development Environment) and additional support tools.
Notable features of the Delphi language include:
- Transparent reference counted string and dynamic array data types
- Transparent handling of objects as references/pointers
- Properties as part of the language; that is, member getters and setters (aka accessors and mutators) which transparently encapsulate the access to member fields
- Index Properties and Default Properties which provide access to collections in a comfortable and transparent way
- Delegates aka type safe method pointers which are used to wire the events triggered by the components
- Delegation of interface implementation to a field or property of the class
- Easy implementation of Windows message handlers by tagging a method of a class with the number/name of the windows message to handle
- COM independent interfaces with reference counted class implementations
The Delphi product is distributed as various suites, each offering more functionality over the other:
- Personal
- Professional
- Enterprise
- Architect
- A very informative and helpful community with an excellent noise/information ratio at news://forums.borland.com or http://info.borland.com/newsgroups/ng_delphi.html
- Can compile to a single executable, simplifying distribution and reducing dll versioning issues
- VCL and 3rd-party components are usually available with full sourcecode
- Powerful and quick optimizing compiler
- Multiple platform native code from the same source code
External links
- delphi3000.com
- Delphi Basics Tutorial and Reference information on the basics of Delphi.
- Delphi Developers' Asia and Singapore Fortress of Solitude
- The Delphi Object Model
- Delphi Pages
- Delphi Super Page
- Dr. Bob's Delphi, C++Builder and JBuilder Programming Clinic
- Google Directory: Delphi
- Official Delphi pages on Borland site
- Project JEDI
- Torry's Delphi Pages
Clones and alternatives
While not being a direct substitute for the entire product Delphi itself, there are a number of efforts that strive to be more or less language compatible and take Delphi code to places where Delphi and Kylix itself can't reach.These can get you the extra mile to get your costly Delphi code running in ways not possible with Delphi (think Operating Systems, free distribution and educational use, examining compiler source etc). These seem to be used the most educationally and to get the server parts of Delphi apps running on non mainstream operating systems (with most having Linux support predating Kylix for years)
- Bloodshed Dev-Pascal A very polished graphical Win32 editor (though not RAD) as a frontend for both GNU Pascal and Free Pascal.
- FPC on Mac Status page for FPC to Classic Mac OS ports. (Mac OS X port is done by the FPC Unix crew)
- Free Pascal A commandline compiler substitute that aims source compatibility with the core feature set of both the Turbo Pascal and Delphi dialects. Features of Delphi versions beyond 4 are implemented only in the 1.9.x beta series (which will become the 2.0.x series in time). The betas are very usable though. Operates on most x86 operating systems including Win32, Dos (with extender), Linux, FreeBSD, NetBSD and OS/2 and Novell Netware. Supports some other OSes on m68k and PowerPC family, the status of which is still changing fast so not reproduced here. Work on SPARC and Acorn RISC Machine (ARM) has started.
- GNU Pascal (Separately distributed part of the GNU Compiler Collection) While formally not aimed at the Borland dialects of Pascal, it does contain a Borland Pascal compatibility mode, and is slowly absorbing Delphi language features, though not yet directly suitable for recompiling large bodies of Delphi code. It is the most prolific compiler in terms of operating systems and processors though, and therefore deserves mentioning as a last resort.
- InnerFuse is a Delphi interpreter for embedding in applications. It is rumoured to work with several of the alternatives too.
- Lazarus is an effort to build a RAD on top of Free Pascal. The internal classes hierarchy can base itself on several graphical toolkits. The main toolkits are GTK1 and Win32, and GTK2 has already come a long way. Occasionally people want QT and wxWindows, but nobody seems interested enough to implement it.
- OpenSibyl is another effort to build a RAD on top of Free Pascal. However it is geared towards OS/2, and still in initial stages.
- Virtual Pascal is a x86 32-bit Turbo Pascal and Delphi compatible compiler mainly aimed at OS/2 and Windows, though it developed a DOS+Extender and an experimental Linux cross-compiler too. The compiler is stuck on the level of about Delphi V2, and the site hasn't changed significantly in two years though, but of the free alternatives, it is still the one with the best polished IDE and debugger though Free Pascal is getting nearer and nearer.
- WDOSX is a Win32 API emulating DOS extender that can be used to get Delphi console applications running on plain DOS.
- Winsoft Pocket Studio aims to compile stripped down Delphi code to PDA's.
| Programming languages |
|---|
| Ada | AWK | BASIC| C | C++ | C# | COBOL | ColdFusion | Common Lisp | Delphi | Fortran | IDL | Java | JavaScript | Lisp | Perl | PHP | Prolog | Pascal | Python | SAS | SQL | Visual Basic | More programming languages |
| Edit this template |