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 support for Linux (through Kylix and the CLX component library) was added and in 2003 .NET became supported in Delphi.Net (Delphi 8).
Its proponents claim that having the Delphi Language, IDE and component library (VCL/CLX) supplied by a single vendor allows for a more internally consistent, and recognizable package.
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.
The main distinguishing features of Delphi and Kylix from other IDEs are the Delphi language, the VCL/CLX (Visual Component Library), strong emphasis on database connectivity, and large number of third party components.
Notable aspects of the Delphi language include:
- 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 to provide access to collections
- 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
- 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
- Personal
- Professional
- Enterprise
- Architect
- A large community on usenet and the WWW. e.g. 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
- many VCL and 3rd-party components (usually available with full sourcecode)
- Quick optimizing compiler
- Multiple platform native code from the same source code
- non-standard language
- Partial single vendor lock-in (Borland alone can set the language standard, the compatibles have to follow)
- limited cross-platform capability for Delphi itself. Compatibles provide more archtecture/OS combinations.
These can get Delphi code running in ways not possible with Delphi (think Operating Systems, free distribution and educational use, examining compiler source etc) and allow for some vendor independence. 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)
External links
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.
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