Borland Delphi
From Wikipedia, the free encyclopedia
To meet Wikipedia's quality standards, this article or section may require cleanup because it is in a list format that may be better presented using prose. You can help by converting this section to prose, if appropriate. Editing help is available. (September 2007) |
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (November 2007) |
Borland Delphi is a software development package created by Borland, and now owned by Borland's subsidiary, CodeGear. Delphi 2007, the eleventh and latest version, supports the Delphi programming language (Object Pascal fork) and C++ for the 32 bit Microsoft Windows platform, and Delphi and C# for the Microsoft .NET platform. Borland Kylix is a now discontinued equivalent to Delphi for the Linux platform.
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.
Delphi is distributed in various versions with different features and prices: Personal, Professional, Enterprise (formerly Client/Server) and Architect.
Contents |
[edit] Distinguishing features
Borland 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.
[edit] Advantages
- Suitable for Rapid Application Development (RAD)
- Based on a well-designed language, high-level 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
- CrossKylix - a now discontinued third-party toolkit which allows native Kylix/Linux applications to be compiled from the Windows Delphi IDE, enabling dual-platform development and deployment
- CrossFPC - a sister project to CrossKylix, not released and now inactive, which enables Windows Delphi applications to be cross-compiled from the Delphi IDE for platforms supported by the Free Pascal compiler.
- 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.
[edit] Disadvantages
- Produces code for machines running Microsoft Windows only. Kylix, which allowed Delphi code to be ported to Linux relatively easily, discontinued. CrossKylix discontinued and CrossFPC not released and inactive.
- A reluctance to break any code has led to some convoluted language design choices, and orthogonality and predictability have suffered.
[edit] History
Turbo Pascal, later Borland Pascal, was a low-cost, high-quality compiler, revolutionary when first introduced. 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.
Support for Linux and Windows cross-platform development (through Kylix and the CLX component library) was added in 2002 with the release of Delphi 6.
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. It was the first version of Delphi since version 7 that only allowed compilation of native 32-bit Windows applications. 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. International customers were served by releasing version 7 simultaneously in English, French, German and Japanese. RAD Studio 2007, which includes .NET development, was released on September 5, 2007.
[edit] 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]
[edit] 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]
[edit] Related software
[edit] 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.
[edit] Products developed with Delphi
Among the many products developed with Delphi are:
- Borland products: Borland Delphi, Borland 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), 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)
- 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)
- 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.
[edit] 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 an RAD IDE which uses the Free Pascal Compiler.
[edit] References
- ^ A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006. About.com. Retrieved on 2007-12-19.
- ^ David Intersimone. Press Release: Borland forming CodeGear to focus exclusively on developer productivity. Retrieved on 2006-11-28.
- ^ David Intersimone. Borland History: Why the name "Delphi?". Retrieved on 2006-11-28.
- ^ Borland Brain Drain Continues. eWeek (2004-02-02). Retrieved on 2007-12-19.
- ^ Into the Maelstrom (2006-04-14). Retrieved on 2007-12-19.
- Felix Colibri - Delphi, Borland, Rad Studio 2007 articles, Delphi, CodeGear and Embarcadero