Delphi (software)
![]() |
This article needs additional citations for verification. (November 2007) |
Delphi is a software development environment for Microsoft Windows applications. It has always supported development of native 32 bit Windows applications in the Delphi programming language, a further development of Object Pascal.
Delphi 2007, the eleventh version, also supports development in C++ for the 32 bit Microsoft Windows platform, and in Delphi and C# for the Microsoft .NET platform. Delphi 2009, the twelveth and latest version announced end of august 2008 adds support for Unicode to the VCL and IDE as well as new compiler features (Generics and Annonymous methods) and enhances the IDE with the first version of a resource manager and overhauled project manager as well as user definable build configurations.
Delphi is mainly used for the development of desktop and enterprise database applications, but it is a general-purpose software development tool suitable for most software projects. With several includes libraries web applications are possible as well.
Delphi is distributed in various versions with different features and prices: Personal (currently not available), Professional, Enterprise (formerly Client/Server) and Architect.
Borland Kylix is a now discontinued equivalent to Delphi for the Linux platform.
Distinguishing features
Delphi and Kylix use the Pascal-based Delphi programming language, and compile Delphi source code into native x86 code or managed .NET code. They include the VCL/CLX (Visual Component Library), support for COM independent interfaces with reference counted class implementations, and support for a large number[citation needed] of third-party components. Interface implementations can be delegated to fields or properties of classes. Message handlers are implemented by tagging a method of a class with the integer constant of the message to handle. A strong emphasis is placed on database connectivity, and this made it be often be mistaken for a database (only) front-end designer, given its rich database component set.
Advantages
Delphi is a strongly typed high-level originally based on the well designed language Pascal. Delphi in contrast to Pascal was not primarily designed for education purposes.
The language is suitable for Rapid Application Development (RAD) and comes with an integrated IDE.
- Based on a well-designed language, and strongly typed, but able to use low-level code for hardware access and performance(McConnell 1993:49)
- A large community on Usenet and the web (e.g. news://newsgroups.borland.com and Borland's web access to Delphi newsgroups)
- Can compile to a single executable, simplifying distribution and eliminating DLL version issues
- Many VCL (Visual Component Library) and third-party components (usually available with full source code) and tools (documentation, debug tools, etc.)
- Quick optimizing compiler also able to use assembler code
- Multiple platform native code from the same source code
- High level of source compatibility between versions
- Class helpers to bridge functionality available natively in the Delphi RTL
- The language's object orientation features only class- and interface-based polymorphism
- Delphi 2005, Delphi 2006 and Delphi 2007 all support advanced refactoring features such as Method Extraction, etc. [1]
- Metaclasses are first class objects
- There are dedicated string types (as well as null-terminated strings). Strings can be added by using the '+' sign, rather than using functions.
- Objects are actually references to the objects (like in Java), which Delphi implicitly dereferences
- Delphi is strongly type-based.
- Delphi's compiler is extremely efficient and fast.
- Early adopter of Dependency injection or Inversion of Control. The VCL is a sophisticated "re-usable" component model, extensible by the developer.
Disadvantages
- Not a cross-platform tool. Only produces code for machines running Microsoft Windows. Kylix, which allowed Delphi code to be ported to Linux relatively easily, was discontinued.
- A reluctance to break any code has led to some convoluted language design choices, and orthogonality and predictability have suffered.
- Lack of Win64 support (on the future version roadmap the 64-bit version is code-named 'Commodore')
History
Turbo Pascal, later Borland Pascal, was a low-cost compiler. It went through a number of revisions over the years, and was used mainly to produce programs to run on text displays. When the use of graphical user interfaces became viable with Microsoft Windows 3, Delphi, using augmented Borland Pascal as its underlying language, was introduced. Delphi was one of the first of what came to be known as Rapid Application Development (RAD) tools when released in 1995 for the 16-bit Windows 3.1.
Delphi 2, released a year later, supported 32-bit Windows environments, and a variant using C++ as the underlying language, C++ Builder, followed a few years later.
The chief architect behind Delphi was Anders Hejlsberg, who had developed Turbo Pascal. He moved to Microsoft in 1996.
In 2001 a Linux version named Kylix was released. It was criticised as being of low quality and did not sell well, and was abandoned after version 3.
Attempts to support both Linux and Windows for cross-platform development were made, and a cross-platform version of the VCL known as CLX shipped in 2002 with the release of Delphi 6. The CLX technology effort has faded, and with the failure of Kylix, the CLX was abandoned too.
Since version 1.0, database development remains one of Delphi's strongest points. The Visual Component Library (VCL) contains a large library of database aware controls, and database access components. The Borland Database Engine was the original database connection layer, and was the only choice in the early versions of Delphi, although it is now seldom used, the latest version still ships with the BDE as an installable option.
Delphi 7, released in August 2002, became the standard version used by more Delphi developers than any other single version, and remains still actively used to this date. It added support for Windows XP Themes, and added more support for building Web applications. It was also the last version of Delphi which can be used without Activation. It has an optional registration feature, that can be ignored. Delphi 7 is one of the most appreciated IDEs created by Borland because its stability, speed and low hardware requirements. However, as in all Delphi versions there are a huge number of known bugs that Borland never fixed. The task of fixing those bugs was left to Delphi community (see projects as Kylix Unofficial Patch and the Reviving Delphi project).
Delphi 8, released December 2003, was a .NET-only release that allowed developers to compile Delphi Object Pascal code into .NET CIL. It was also significant in that it changed its IDE for the first time, from the multiple-floating-window-on-desktop style IDE to a look and feel similar to Microsoft's Visual Studio.NET. The new IDEs still have the "Classic Undocked" windows layout available as an option.
The next version, Delphi 2005 (Delphi 9), included the Win32 and .NET development in a single IDE, reiterating Borland's commitment to Win32 developers. Delphi 2005 includes design-time manipulation of live data from a database. It also includes an improved IDE and added a for ... in statement (like C#'s foreach) to the language. However, it was criticized by some for its bugs; both Delphi 8 and Delphi 2005 had stability problems when shipped, which were only partially resolved in service packs.
In late 2005 Delphi 2006 was released and combined development of C# and Delphi.NET, Delphi Win32 and C++ into a single IDE. It was much more stable than Delphi 8 or Delphi 2005 when shipped, and improved even more with the release of service packs and several hotfixes.
On February 8, 2006 Borland announced that it was looking for a buyer for its IDE and database line of products, which include Delphi, to concentrate on its ALM line. The news met with voluble optimism from the remaining Delphi users.
On September 6, 2006 The Developer Tools Group (the working name of the not yet spun off company) of Borland Software Corporation released single-language versions of Borland Developer Studio, bringing back the popular Turbo name. The Turbo product set includes Turbo Delphi for Win32, Turbo Delphi for .NET, Turbo C++, and Turbo C#. Each version is available in two editions: Explorer—a free downloadable version—and Professional—a lower-priced (US$899 for new user, US$399 for update) version which opens access to thousands of third-party components. Unlike earlier Personal editions of Delphi, new Explorer editions can be used for commercial development.
On November 14, 2006 Borland announced that rather than selling the development tools group it would spin it off into an independent subsidiary company named CodeGear.[2]
Delphi 2007, the first version by CodeGear, was released on March 16, 2007. The Win32 personality was released first, before the .NET personality of Delphi 2007 was released, as part of the CodeGear RAD Studio 2007 product. New features included support for MS Build and enhancements to the Visual Component Library for Windows Vista. CodeGear also introduced DBX4 as the next version of dbExpress. For the first time Delphi could be downloaded from the Internet and activated with a license key. Internationalized versions of Delphi 2007 shipped simultaneously in English, French, German and Japanese. RAD Studio 2007, which includes .NET and C++Builder development, was released on September 5, 2007.
The latest version, Delphi 2009 (code named Tiburón), adds many new features such as completely reworking the VCL and RTL for full Unicode support, and adds generics and anonymous methods (for both Win32 native and .Net development).
Borland sold CodeGear to Embarcadero Technologies in 2008. Embarcadero is retaining the CodeGear division created by Borland to identify its tool and database offerings, and Embarcadero has decided to identify its own database tools under the DatabaseGear moniker.
Name
Delphi was originally a confidential research project at Borland which evolved into a product that was to be called AppBuilder.
Developer Danny Thorpe chose the Delphi codename in reference to the Oracle at Delphi. One of the original goals of Delphi was to provide database connectivity to programmers as a key feature and a popular database package at the time was Oracle database; hence, "If you want to talk to [the] Oracle, go to Delphi". As development continued, the name grew on them and there was growing support within Borland for the name Delphi.
Shortly before the first release of Borland's AppBuilder, Novell AppBuilder was released, leaving Borland in need of a new name. After much struggle, the name Delphi prevailed.[3]
Later career of the creators
Anders Hejlsberg, the main architect of Delphi and Turbo Pascal, was hired by Microsoft in 1996, where he was a key participant in the creation of the Microsoft .NET Framework and led the design of both the Java dialect J++ and C#. Chuck Jazdzewski, who was chief scientist and architect of Borland's Delphi technology, left Borland and joined Microsoft in 2004[4]. Danny Thorpe, Chief Scientist at that time, joined Google in 2005 and moved to Microsoft in 2006.[5]
Related software
Delphi for PHP
Delphi for PHP is an IDE for PHP. It provides true RAD functionality. It features Delphi or Visual Basic like form designer, integrated debugger (based on Apache web server). It also includes VCL library ported to PHP. Support for Web 2.0 features like AJAX, makes it a unique IDE.
This product was announced on March 20 2007, and is based on Qadram Qstudio, which Codegear is now whole and sole owner of.
Products developed with Delphi
![]() | This article may contain excessive or irrelevant examples. |
Among the many products developed with Delphi are:
- CodeGear products: CodeGear Delphi, CodeGear C++ Builder, Borland JBuilder versions 1 and 2
- Database management/development: MySQL Tools (Administrator, Query Browser), TOAD
- Engineering Software: Altium Designer/Protel (electronics design)
- Image viewers: FastStone Image Viewer, FuturixImager, Photofiltre
- Internet messaging: Skype (VoIP and IM), QIP and QIP Infium (IM's), The Bat! (e-mail client), PopTray (e-mail check tool), FeedDemon (RSS/Atom feed viewer), XanaNews (newsgroup reader), Xnews (newsgroup reader)
- Music production: FL Studio (formerly FruityLoops), Guitar Pro
- Software development: Dev-C++ (IDE), DUnit (unit testing), Game Maker (game creation) Help & Manual (help system authoring), Inno Setup (installer engine)
- Web authoring: Macromedia HomeSite (HTML editor), TopStyle Pro (CSS editor), Macromedia Captivate (screencast)
- Web browsers (MSIE shells): Avant Browser, Netcaptor
- Utilities: Spybot - Search & Destroy, Ad-Aware (anti-spyware), jv16 PowerTools, Total Commander (file manager), Copernic Desktop Search, PowerArchiver, MCubix (Data Mining), Beyond Compare(File comparing utility)]
- Accounting and Tax: Intuit's Lacerte Professional Tax Software, including all sub-components such as the QuickBooks/EasyACCT Trial Balance Utility, Document Management System, and Client Database Repair Utility.
- Remote Administration Tools , Sub7 and NetBus.
- Free raster graphics editor for digital painting: Artweaver.
- Cyber control for cybercafes: AvilaLink.
Clones and alternatives
There are several compilers of the Object Pascal originally developed by Borland, and also products that supply an entire development framework as Delphi does.
Some of these can do things that Delphi cannot, such as supporting different operating systems, and allowing examination of the compiler source code. They are sometimes used to get the server parts of Delphi applications running on operating systems other than Microsoft Windows. Most had Linux support years before Kylix.
- Bloodshed Dev-Pascal - A very polished graphical 32-bit Windows editor (though not RAD) as a frontend for both GNU Pascal and Free Pascal.
- Lazarus [1] is a RAD IDE which uses the Free Pascal Compiler.
Notes
- ^ "A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006". About.com. Retrieved 2007-12-19.
- ^ David Intersimone. "Press Release: Borland forming [[CodeGear]] to focus exclusively on developer productivity". Retrieved 2006-11-28.
{{cite web}}
: URL–wikilink conflict (help) - ^ David Intersimone. "Borland History: Why the name "Delphi?"". Retrieved 2006-11-28.
- ^ "Borland Brain Drain Continues". eWeek. 2004-02-02. Retrieved 2007-12-19.
- ^ "Into the Maelstrom". 2006-04-14. Retrieved 2007-12-19.
References
- McConnell, Steve (1993), Code Complete, Microsoft Press, ISBN 1-55615-484-4