Borland Delphi

From Wikipedia, the free encyclopedia

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.

Delphi 2006
Delphi 2006

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]

Photo of Delphi 2007 box as released by CodeGear in spring 2007.
Photo of Delphi 2007 box as released by CodeGear in spring 2007.

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:

[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.

[edit] References

  1. ^ A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006. About.com. Retrieved on 2007-12-19.
  2. ^ David Intersimone. Press Release: Borland forming CodeGear to focus exclusively on developer productivity. Retrieved on 2006-11-28.
  3. ^ David Intersimone. Borland History: Why the name "Delphi?". Retrieved on 2006-11-28.
  4. ^ Borland Brain Drain Continues. eWeek (2004-02-02). Retrieved on 2007-12-19.
  5. ^ Into the Maelstrom (2006-04-14). Retrieved on 2007-12-19.
  • Felix Colibri - Delphi, Borland, Rad Studio 2007 articles, Delphi, CodeGear and Embarcadero