Borland Delphi
From Wikipedia, the free encyclopedia
Borland Delphi (now a product of Borland's subsidiary, CodeGear) is a software development package created by Borland. The 10th and latest version, Delphi 2006 supports the Delphi programming language (Object Pascal) and C++ for the 32 bit Microsoft Windows platform, and Delphi and C# for the Microsoft .NET platform.
Delphi's most popular use is the development of desktop and enterprise database applications, but as a general-purpose development tool it is capable of, and is used for, most types of development projects.
The Delphi product is distributed as various suites: Personal, Professional, Enterprise (formerly Client/Server) and Architect.
Contents |
[edit] Distinguishing features
The main features that distinguish Delphi and Kylix from other IDEs are:
- The Pascal-based programming language
- The VCL/CLX (Visual Component Library)
- A strong emphasis on database connectivity
- A large number of third party components.
- Delegation of interface implementation to a field or property of the class
- Implementation of message handlers by tagging a method of a class with the integer constant of the message to handle
- COM independent interfaces with reference counted class implementations
- Can be compiled into native x86 code or managed .NET code
[edit] Advantages
Delphi exhibits the following advantages:
- Rapid Application Development (RAD)
- Based on a well-designed language - high-level and strongly typed, with low-level escapes for experts
- 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 reducing DLL versioning issues
- Many VCL and third-party components (usually available with full source code) and tools (documentation, debug tools, etc.)
- Quick optimizing compiler and ability to use assembler code
- Multiple platform native code from the same source code
- High level of source compatibility between versions
- CrossKylix - a third-party toolkit which allows you to compile native Kylix/Linux applications from inside the Windows Delphi IDE, hence easily enabling dual-platform development and deployment
- CrossFPC - a sister project to CrossKylix, which enables you to cross-compile your Windows Delphi applications to multi-platform targets - supported by the Free Pascal compiler - without ever leaving the Delphi IDE
- Class helpers to bridge functionality available natively in the Delphi RTL, but not available in a new platform supported by Delphi
- The language's object orientation features only class- and interface-based polymorphism
[edit] Disadvantages
- Limited cross-platform capability for Delphi itself. Compatibles provide more architecture/OS combinations
- Access to platform and third party libraries require header files to be translated to Pascal. This creates delays and introduces the possibilities of errors in translation.
- There are fewer published books on Delphi than on other popular programming languages such as C++ and C#
- A reluctance to break any code has lead to some convoluted language design choices, and orthogonality and predictability have suffered
[edit] History
Delphi was one of the first of what came to be known as RAD tools, for Rapid Application Development, when released in 1995 for the 16-bit Windows 3.1. Delphi 2, released a year later, supported 32-bit Windows environments, and a C++ variant, C++ Builder, followed a few years after.
The chief architect behind Delphi, and its predecessor Turbo Pascal, was Anders Hejlsberg until he moved to Microsoft in 1996, where he worked on Visual J++ and subsequently became the chief designer of C# and a key participant in the creation of the Microsoft .NET Framework.
In 2001 a Linux version known as Kylix became available. However, due to low quality and subsequent lack of interest, Kylix 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 MSIL. 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.
Although Borland fulfilled one of the biggest requests from developers (.NET support), it was criticized both for making it available too late, when a lot of former Delphi developers had already moved to C#, and for focusing so much on backward compatibility that it was not very easy to write new code in Delphi. Delphi 8 also lacked significant high-level features of the C# language, as well as many of the more appealing features of Microsoft's Visual Studio IDE. (There were also concerns about the future of Delphi Win32 development. Because Delphi 8 did not support Win32, Delphi 7.1 was included in the Delphi 8 package.)
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 federated 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 after the 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 moniker. 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 relatively cheap (US$399) 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 the cancellation of the sale of its Development tools; instead of that it would spin them off into an independent company named CodeGear.[1]
[edit] The 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; 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.[2]
[edit] Microsoft hirings
Anders Hejlsberg, the main architect of Delphi and Turbo Pascal, was hired by Microsoft in 1996, where he has since led the design of both the Java dialect J++ and C#, the most popular language for Windows' .NET platform. Chuck Jazdzewski, who was chief scientist and architect of Borland's Delphi technology, left Borland and joined Microsoft in 2004[1]. Danny Thorpe, the chief scientist at Borland Software Developer Tools Group, likewise left Borland and joined Google in 2005 only to later join in Microsoft In 2006. [2].
[edit] Related software
[edit] Products developed with Delphi
There are many products developed with Delphi. The most well-known ones are (grouped by areas):
- Borland products: Borland Delphi, Borland C++ Builder, Borland JBuilder versions 1 & 2
- Database management: MySQL Tools (Administrator, Query Browser, Migration Toolkit)
- Image viewers: FastStone Image Viewer, FuturixImager
- 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, 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), Total Commander (file manager), Copernic Desktop Search, PowerArchiver
[edit] Clones and alternatives
There are several Object Pascal compilers out there, but there are also products that try to clone the whole framework provided by Borland Delphi.
Some of these can get Delphi code running in ways not possible with Delphi (such as supporting different operating systems, free distribution and educational use, and allowing examination of the compiler source) and allow for some vendor independence. These are generally used educationally and to get the server parts of Delphi apps running on non-mainstream operating systems; 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 [3] 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 and Windows CE have already come a long way. Qt is also partially supported. Occasionally people want .NET and wxWidgets, but an apparent lack of interest prevents the implementation of these toolkits.
- CrossFPC - a free toolkit to integrate the Free Pascal compiler, targeting various OS and hardware platforms, into the Windows Delphi IDE. See more about it from this mailing list discussion.
- 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, and development of Virtual Pascal has stopped.
[edit] References
- ^ 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.
[edit] Documentation
Delphi developer documentation from Borland:
- Delphi Developer's Guide
- Object Pascal Language Guide
More from Delphi Developer Support section (FTP archives).
[edit] External links
- Delphi 2006 Official Webpage
- Delphi 2007 for Win32 Official Webpage
- Delphi Wiki
- Torry's Delphi Pages
Categories: Articles lacking sources from November 2006 | All articles lacking sources | Pascal programming language family | Imperative programming languages | Procedural programming languages | Algol programming language family | .NET programming languages | Object-oriented programming languages | Borland | Integrated development environments | Borland software | Pascal compilers | Debuggers