Jump to content

Delphi (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
added to intro: Language which Delphi framework uses
Line 20: Line 20:
| website = [http://www.embarcadero.com/products/delphi www.embarcadero.com/products/delphi]
| website = [http://www.embarcadero.com/products/delphi www.embarcadero.com/products/delphi]
}}
}}
'''Embarcadero Delphi''', formerly '''CodeGear Delphi''', '''Inprise Delphi''' and '''Borland Delphi''', is a software development environment for [[Microsoft Windows]] applications originally developed by [[Borland]] and now owned and developed by [[Embarcadero Technologies]]. Delphi 2010 is the most recent version and is distributed in three different editions: Professional, Enterprise and Architect.
'''Embarcadero Delphi''', formerly '''CodeGear Delphi''', '''Inprise Delphi''' and '''Borland Delphi''', is a software development environment for [[Microsoft Windows]] applications originally developed by [[Borland]] and now owned and developed by [[Embarcadero Technologies]]. It is based on the Delphi Programming Language, which itself is a derivative of [[Object Pascal]].
<ref>{{cite web | url=http://delphi.about.com/od/beginners/l/aa031202a.htm | title =Introducing Borland Delphi| author=Zarko Gajic | publisher= [[About.com]] | accessdate= April 12,2010 }}
</ref> Delphi 2010 is the most recent version and is distributed in three different editions: Professional, Enterprise and Architect.


==History ==
==History ==

Revision as of 09:58, 12 April 2010

Embarcadero Delphi
Developer(s)Embarcadero Technologies
Stable release
Delphi 2010 (14) / August 25, 2009; 15 years ago (2009-08-25)
Operating systemMicrosoft Windows
Available inEnglish, French, German, Japanese
TypeIntegrated Development Environment
Licenseproprietary commercial software (Embarcadero EULA)
Websitewww.embarcadero.com/products/delphi

Embarcadero Delphi, formerly CodeGear Delphi, Inprise Delphi and Borland Delphi, is a software development environment for Microsoft Windows applications originally developed by Borland and now owned and developed by Embarcadero Technologies. It is based on the Delphi Programming Language, which itself is a derivative of Object Pascal. [1] Delphi 2010 is the most recent version and is distributed in three different editions: Professional, Enterprise and Architect.

History

Delphi was originally a confidential research project at Borland which evolved into a product that was to be called AppBuilder. Shortly before the first release of Borland's AppBuilder, Novell AppBuilder was released, leaving Borland in need of a new name.

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

The chief architect behind Delphi was Anders Hejlsberg, who had developed Turbo Pascal. He moved to Microsoft in 1996 to work on C#.

Version History

File:Borland Delphi 4 screenshot.png
Inprise Delphi 4.0.
Borland Delphi 1

Delphi 1 was released in 1995 for the 16-bit Windows 3.1 and was an early example of what came to be known as Rapid Application Development (RAD) tools. Delphi 1 was the successor of Turbo Pascal and Borland Pascal, low-cost 16-bit native code compilers. Like Turbo Pascal, Delphi code was written in a dialect of Pascal programming language which is known as Object Pascal.

Borland Delphi 2

Delphi 2, released in 1996, supported 32-bit Windows environments. It included Delphi 1 bundled together for creation of 16-bit Windows 3.1 applications.

Borland Delphi 5

Borland Delphi 5 was released in 1999.

Kylix

In 2001 a Linux version of Delphi, named Kylix, was released. It was criticized as being of low quality[by whom?] and did not sell well, and was abandoned after version 3.

Borland Delphi 6

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.

Borland Delphi 7

Delphi 7, released in August 2002, became the standard version used by more Delphi developers than any other single version. It is one of the most appreciated[weasel words] IDEs created by Borland because of its stability, speed and low hardware requirements and remains actively used to this date. Delphi 7 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.

Borland Delphi 8

Delphi 8, released December 2003, was a .NET-only release that allowed developers to compile Delphi Object Pascal code into .NET CIL. The IDE was rewritten to accommodate for .NET development. The IDE changed to a docked interface similar to Microsoft's Visual Studio.NET. Delphi 8 was highly criticized[by whom?] for its low quality and the fact that is was no longer possible to create native applications.

Borland Delphi 2005

The next version, Delphi 2005 (Delphi 9, also Borland Developer Studio 3.0), 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[by whom?] for its bugs; both Delphi 8 and Delphi 2005 had stability problems when shipped, which were only partially resolved in service packs.

Borland Delphi 2006

In late 2005 Delphi 2006 (Delphi 10, Borland Developer Studio 4.0) was released and combined development of C# and Delphi.NET, Delphi Win32 and C++ (Preview when it was shipped but got stable in Service Pack 1) 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. CLX support was dropped for new applications from this release onwards.

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[weasel words] from the remaining Delphi users.[citation needed]

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

Codegear Delphi 2007
File:D inside.jpg
Photo of Delphi 2007 box as released by CodeGear in spring 2007.

Delphi 2007 (Delphi 11), the first version by CodeGear, was released on March 16, 2007. The Win32 personality was released first, before the .NET personality of Delphi 2007 which is based on .NET Framework 2.0 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, but the C#Builder feature was dropped in this release as sales where not as high as expected due to Visual Studio also offering C#. The Windows Form designer for Delphi .NET was also dropped in D2007 because it is based upon part of the .NET framework API which had been changed so drastically by Microsoft in .NET 2.0 that updating the IDE would have been a major undertaking. Later on Delphi.NET was been replaced by Delphi Prism, a combination of RemObjects mostly Delphi compatible .NET compiler, Microsofts Visual Studio Shell (a version without C# and VB support) and some Embarcadero technologies like dbExpress. Prism is in so far cross platform capable as it supports the Mono .NET libraries. Delphi 2007 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 (code named Highlander), which includes .NET and C++Builder development, was released on September 5, 2007.

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.

Embarcadero Delphi 2009

Delphi 2009 (Delphi 12, code named Tiburón), added many new features such as completely reworking the VCL and RTL for full Unicode support, and added generics and anonymous methods for Win32 native development. Support for .NET development was dropped from the Delphi IDE. A new product, Delphi Prism, was offered for .NET development in its place. Delphi Prism is a Visual Studio language plug-in, and does not include a RTL or VCL for porting code.

Embarcadero Delphi 2010

The latest version, Delphi 2010 (Delphi 14, number 13 was skipped, code named Weaver), was released on August 25, 2009 is the second Unicode release of Delphi. It includes a new compiler RTTI system[4], support for Windows 7 direct 2D, touch screen and gestures, a source code formatter, debugger visualizers and the option to also have the old style component palette in the IDE. The new RTTI system makes larger executables than previous versions.[5]

Embarcadero Delphi 2011 (Fulcrum)

Delphi 2011 is currently under development. Little is known about this future release other than that it will offer cross-compiling abilities. It's codename is Fulcrum, originally "Project X". The cross-platform support will be provided by having the windows-based compiler generate binaries for Linux and Mac OS X. The compiler and IDE will not be ported to these platforms to ensure a stable working environment.

Distinguishing features

Delphi uses the Pascal-based programming language called Object Pascal, and compile Delphi source code into native x86 code. They include the VCL (Visual Component Library), support for COM independent interfaces with reference counted class implementations, and support for a large number 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 Delphi offers a rich database component set. The Visual Component Library (VCL) contains a large library of database aware controls, and database access components.

Advantages

Delphi is a strongly typed high-level programming language, intended to be easy to use and originally based on the earlier Object Pascal language. Delphi, in contrast to traditional Pascal, was not primarily designed for education purposes. In addition to high-level language features Delphi also supports low level programming by allowing assembler parts and the notation of direct CPU opcodes is also possible. The language's object orientation features only class- and interface-based polymorphism, making programs written in Delphi more clearly laid out than programs written in some other languages that allow and use multiple inheritance[opinion]. Metaclasses are first class objects. Objects are actually references to the objects (as in Java) which Delphi implicitly dereferences, so there's usually no need to manually allocate memory for pointers to objects or similar techniques needed in some other languages. There are dedicated reference counted string types (as well as null-terminated strings).

Strings can be concatenated by using the '+' sign, rather than using functions. For those dedicated string types, no manual memory management is necessary as the memory manager handles this. The improved memory manager introduced with Borland Developer Studio 2006 now provides functions to track down memory leaks.

The language is suitable for Rapid Application Development (RAD) and comes with an integrated IDE. The Delphi products all ship with a large framework called VCL (Visual Component Library) including most of its source code. Third-party components (usually available with full source code) are available on the market as well as tools to enhance the IDE or for other Delphi related development tasks. The IDE includes a GUI for localization and translation of created programs which may be deployed to a translator at no additional cost. (Some developers prefer to use 3rd party products for this purpose as they often have more functionality.) The VCL framework maintains a high level of source compatibility between versions which means one can upgrade existing source code easily in most cases to a newer Delphi version. 3rd party libraries either need updates from the vendor or if source code is available a simple recompilation with the newer version may be sufficient. The VCL was an early adopter of Dependency injection or Inversion of Control. The VCL is a sophisticated "re-usable" component model, extensible by the developer. With class helpers one can introduce new functionality to core RTL and VCL classes without changing the original source code of the RTL or VCL.

The quick optimizing single pass compiler can compile to a single executable, thus simplifying distribution and eliminating DLL version issues. The creation of DLLs and ActiveX DLLs or COM Automation servers is also possible, and developers can even create Windows services using Delphi.

The Delphi IDEs since Delphi 2005 increasingly support advanced refactoring features such as Method Extraction, etc.[6] and the possibility to create UML models from the source code or to modify the source through changes made in the model.

Delphi has large communities on Usenet and the web (e.g. news://newsgroups.codegear.com) which help solving problems of individual developers. Many Codegear employees actively participate in those communities. A voluntary team (TeamB) also helps out.

Disadvantages

No native 64-bit support

Delphi creates 32-bit native applications only. It is not possible to write 64-bit native Windows applications, which is required to use more than 4 GB of memory. In addition, you can not write plug-ins for 64-bit 3rd party applications and services, like the Windows Explorer. Support for 64-bit applications has been on the Delphi roadmap for some years, but has been postponed several times. The current roadmap [7] shows the Commodore project, bringing 64-bit support, but does not state an arrival date.

Not cross platform

Delphi is, in itself, not a cross-platform tool. The latest Delphi release contains Delphi Prism which can be used to develop .NET applications. A cross platform, codenamed Project X, is shown on the latest roadmap [8]. Also Lazarus (a freeware Delphi Clone) which contains the most used VCL Components of Delphi is cross-platform between Linux, Mac OS and Windows.

Backward compatibility

Each new release of Delphi attempts to keep as much backwards compatibility as possible. This allows users to build legacy code without worrying about any broken interfaces or functionality. However, some developers feel that the attention to backwards compatibility has held back the evolution of the Delphi language, and has led to a somewhat dated design in the standard class libraries (VCL/RTL).

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 a 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 Q studio, which is now wholly owned by CodeGear.

Delphi Prism

Delphi Prism is a product from Embarcadero based on the Oxygene programming language (previously known as Chrome). Delphi Prism is the replacement for Delphi.NET, which was discontinued. The Prism product runs inside the Visual Studio IDE and is part of the "RAD Studio" IDE environment.[9]

RAD Studio

Embarcadero sells RAD Studio, a suite of development tools which consists of Delphi, Delphi Prism and C++Builder.[9] Like Delphi, RAD Studio also has three different edition: Professional edition, Enterprise edition and Architect edition.[10]

Third-party software

  • Free Pascal is an open source Pascal compiler which supports Delphi code and works on many operating systems.
  • Lazarus is a RAD IDE which uses the Free Pascal Compiler. It is developed for and supported by the Free Pascal compiler and runs among others on Windows, Linux and OS-X.
  • The open source OpenWire library adds Dataflow programming functionality to Delphi.

See also

References

  1. ^ Zarko Gajic. "Introducing Borland Delphi". About.com. Retrieved April 12,2010. {{cite web}}: Check date values in: |accessdate= (help)
  2. ^ David Intersimone. "Borland History: Why the name "Delphi?"". Retrieved 2006-11-28.
  3. ^ David Intersimone. "Press Release: Borland forming [[CodeGear]] to focus exclusively on developer productivity". Retrieved 2006-11-28. {{cite web}}: URL–wikilink conflict (help)
  4. ^ "Delphi 2010 What's New". Retrieved 2006-11-28.
  5. ^ Release Notes for Embarcadero Delphi 2010 and C++Builder 2010
  6. ^ "A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006". About.com. Retrieved 2007-12-19.
  7. ^ "Delphi and C++Builder Roadmap". embarcadero.com. Retrieved 2008-09-29.
  8. ^ "Delphi and C++Builder Roadmap". embarcadero.com. Retrieved 2008-09-29.
  9. ^ a b "Embarcadero RAD Studio 2010". Embarcadero Technologies. Retrieved 9 December 2009 quote=Embarcadero® RAD Studio 2010 is the industry’s most powerful rapid application development suite for visually building GUI-intensive, data-driven end-user applications for both native Windows® and .NET. RAD Studio includes Delphi®, C++Builder® and Delphi Prism™, enabling you to deliver applications up to 5x faster across multiple Windows and database platforms.. {{cite web}}: Check date values in: |accessdate= (help); Missing pipe in: |accessdate= (help)
  10. ^ "Embarcadero RAD Studio - Product Editions". Embarcadero Technologies. Retrieved 9 December 2009.