- Embarcadero Delphi
-
Embarcadero Delphi
Delphi XE2 IDE with cross-platform Firemonkey framework project loadedOriginal author(s) Borland (1995–2008) Developer(s) Embarcadero Technologies (2009–present) Stable release Delphi XE2 (v16.0) / August 31, 2011 Development status Active Operating system Microsoft Windows Available in English, French, German and Japanese Type Integrated Development Environment License Commercial Website embarcadero.com/products/delphi Embarcadero Delphi is an integrated development environment for console, desktop graphical, web, and mobile applications.[1]
Delphi's compilers use its own Object Pascal dialect of Pascal and generate native code for 32- and 64-bit Windows operating systems, as well as 32-bit Mac OS X and iOS. (iOS code generation is done with the Free Pascal compiler.[2]) As of late 2011[update] support for the Linux and Android operating system was planned by Embarcadero[3].
To create applications for managed code platforms, a similar (but not mutually compatible) alternative is Delphi Prism.
Delphi was originally developed by Borland as a rapid application development solution for Windows, and as the successor of Borland Pascal. Delphi and its C++ counterpart, C++Builder, shared many core components, notably the IDE and VCL, but remained separate until the release of RAD Studio 2007. RAD Studio is a shared host for Delphi, C++Builder, and others.
In 2006, Borland’s developer tools section were transferred to a wholly owned subsidiary known as CodeGear, which was sold to Embarcadero in 2008.
Contents
History
Delphi was originally one of many codenames of a pre-release development tool project at Borland. Borland developer Danny Thorpe suggested the Delphi codename in reference to the Oracle at Delphi. One of the design goals of the product 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 towards the first release, the Delphi codename gained popularity among the development team and beta testing group. However, the Borland marketing leadership preferred a functional product name over an iconic name and made preparations to release the product under the name "Borland AppBuilder".
Shortly before the release of the Borland product, Novell AppBuilder was released, leaving Borland in need of a new product name. After much debate and many market research surveys, the Delphi codename became the Delphi product name.[4]
The chief architect behind Delphi was Anders Hejlsberg, who had developed Turbo Pascal. He was persuaded to move to Microsoft in 1996.
Versions
- Borland Delphi
Delphi (later known as 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 evolved from Borland's "Turbo Pascal for Windows", itself an evolution with Windows support from Borland's Turbo Pascal and Borland Pascal, very fast 16-bit native-code MS-DOS compilers with their own sophisticated integrated development environment (IDE) and graphical user interface toolkit for DOS. Early Turbo Pascal (for MS-DOS) was written in a dialect of the Pascal programming language; in later versions support for objects was added, and it was named Object Pascal. Delphi has always used Object Pascal, which continued to be developed, as its underlying procedural language.
- Borland Delphi 2
Delphi 2, released in 1996, supported 32-bit Windows environments. Delphi 1 was bundled with it for creation of 16-bit Windows 3.1 applications.
- Borland Delphi 3
Delphi 3, released in 1997, added COM tooling, amongst other new features.
- Borland Delphi 4
Borland Delphi 4 was released in 1998.
- Borland Delphi 5
Borland Delphi 5 was released in 1999.
- Kylix
In 2001 Borland released a Linux version of Delphi, named Kylix. The IDE was dependent on the Wine libraries rather than Linux's native system libraries (glibc) in order to get a product out quickly and relatively cheaply. The expense of developing a native glibc version of Kylix, combined with the lack of Linux adoption among programmers at the time, caused sales to go soft, and Kylix was abandoned after version 3. This was the first attempt to add Linux support in the Delphi product family.[citation needed]
Kylix used the new CLX cross-platform framework, instead of Delphi's VCL.
- Borland Delphi 6
Attempts to support both Linux and Windows for cross-platform development were made, and a cross-platform alternative to the VCL known as CLX shipped in 2001 with the release of Delphi 6. This was the second attempt to add Linux support[clarification needed] to the Delphi product family (see Kylix above).[citation needed]
Delphi 6 included the same CLX version (CLX 1) as the first version of Kylix. CLX 1 had been created before Delphi 6; its feature set was based on VCL 5 and lacked some features added to the VCL 6 shipped with Delphi 6.[5]
- 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 successful IDEs created by Borland because of its stability, speed and low hardware requirements, and remained in active use as of 2011.[6] Delphi 7 added support for Windows XP Themes, and added more support for building Web applications. It was the last version of Delphi which could be used without software activation.
- Borland Delphi 8
Delphi 8, released December 2003, was a .NET-only release that compiled Delphi Object Pascal code into .NET CIL; the IDE was rewritten for this purpose. 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 its inability to create native applications (*.exe). The inability to generate native applications is only applicable to this release; the capability was restored in the next release (Delphi 2005).
- 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 widely criticized[7] for its bugs; both Delphi 8 and Delphi 2005 had stability problems when shipped, which were only partially resolved in service packs. The ability to compile native windows applications (*.exe) was added back into Delphi 2005 after being removed in Delphi 8.
- 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.
- Delphi offered for sale
On February 8, 2006 Borland announced that it was looking for a buyer for its IDE and database line of products, including Delphi, to concentrate on its ALM line.
- Turbo Delphi and C
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 components, bringing back the Turbo name. The Turbo product set included Turbo Delphi for Win32, Turbo Delphi for .NET, Turbo C++, and Turbo C#. There were two variants of each edition: Explorer, a free downloadable version, and the Professional version, priced at US$899 for new users and US$399 for updates, less than the full Borland Delphi, which opened access to thousands of third-party components. Unlike earlier Personal editions of Delphi, Explorer editions could be used for commercial development.
- Delphi transferred to Codegear
On November 14, 2006 Borland transferred the development tools group to an independent subsidiary company named CodeGear, instead of selling it.[8]
- Codegear Delphi 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. 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, a capability powered by the new InstallAware installation technology (itself authored in Delphi, and now shipping in a free, limited edition inside the box with Delphi). 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.
- Delphi Prism
Delphi Prism was developed by RemObjects Software and distributed by Embarcadero from 2008 to replace Delphi.NET. It is a combination of RemObjects's mostly Delphi-compatible .NET compiler (without RTL or VCL), a version of the Microsoft Visual Studio Shell without C# or VB support, and some Embarcadero technologies such as dbExpress. Prism is cross-platform capable insofar as it supports the Mono .NET libraries. Prism is a separate product line with new releases; Embarcadero Delphi Prism XE2 was released at about the same time as Delphi XE2[9].
- Sale to Embarcadero
Borland sold CodeGear to Embarcadero Technologies in 2008. Embarcadero retained the CodeGear division created by Borland to identify its tool and database offerings, but identified its own database tools under the DatabaseGear name.
- 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 mainstream Delphi IDE starting with this version, and was catered for by the new Delphi Prism. [10]
- Embarcadero Delphi 2010
Delphi 2010 (code-named Weaver, aka Delphi 14; there was no version 13), was released on August 25, 2009 and is the second Unicode release of Delphi. It includes a new compiler run-time type information (RTTI) system,[11] 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.[12]
- Embarcadero Delphi XE
Delphi XE (aka Delphi 2011,[13] code named Fulcrum), was released on August 30, 2010.
- Delphi Starter Edition
On January 27, 2011 Embarcadero announced the availability of a new Starter Edition which gives independent developers, students and micro businesses a slightly reduced feature set[14] for a price less than a quarter of that of the next-cheapest version.[15].
- Embarcadero Delphi XE2
On September 1, 2011 Embarcadero released RAD Studio XE2 which included Delphi XE2, C++Builder, Prism XE2 and RadPHP XE2.[16]
Delphi XE2 natively supports 64-bit Windows (except the starter edition), in addition to the long-supported 32-bit versions, with some backwards compatibility. 64-bit applications can be compiled, but not tested or run, on the 32-bit platform[3]. Delphi XE2 is supplied with both the VCL, and an alternative library called FireMonkey[3] that supports Windows, Apple Mac OS X and the Apple iPhone, iPod Touch and iPad portable devices.[17] FireMonkey and VCL are not compatible; one or the other must be used, and older VCL applications cannot use Firemonkey unless user interfaces are recreated with FireMonkey forms and controls. Third parties have published information on how to use Firemonkey forms in VCL software, to facilitate gradual migration, but even then VCL and Firemonkey controls cannot be used on the same form[18]. Embarcadero say that Linux operating system support "is being considered for the roadmap", as is Android, and that they are "committed to ... FireMonkey. ... expect regular and frequent updates to FireMonkey". [3]
Future plans
Embarcadero makes available a "roadmap" of future plans. As of November 2010[update] a roadmap for RAD Studio, Delphi and C++Builder, undated but with copyright date 2010, was available[19].
Editions and prices
Each version has been released in different editions which add functionality and price to the most basic one. As an indication of editions and prices, Delphi XE2 was sold directly by Embarcadero in 2011 in editions called Starter (US$199), Professional ($899), Enterprise ($1,999), Ultimate ($2,999), and Architect ($3,499)[20]. Prices vary from different suppliers, with different incentives, and in different regions, and Delphi is also included in the RAD Studio bundles. Embarcadero publishes feature matrices summarising the differences in functionality[21].
Distinguishing features
Delphi supported rapid application development by introducing features such as application framework and visual window layout designer that reduced application prototyping times.[citation needed]
Delphi supports rapid native cross-compilation.
Delphi uses the Pascal-based programming language called Object Pascal, and compiles 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.
Database connectivity is supported, and Delphi supplies several database components. The Visual Component Library (VCL) includes many database-aware and database access components.
Later versions have included upgraded and enhanced Runtime Library routines provided by the community group FastCode, established in 2003.
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. Pascal was originally developed as a teaching language, without low-level programming facilities or access to hardware and with no emphasis on efficiency; Turbo Pascal and its descendants, including Delphi, are designed for efficiency and support access to hardware and low level programming, with the facility to incorporate code written in assembly language and other languages. Delphi's object orientation features only class- and interface-based polymorphism. Metaclasses are first class objects. Objects are actually references to the objects (as in Java) which Delphi implicitly dereferences, so there is usually no need to manually allocate memory for pointers to objects or use similar techniques needed in some other languages. There are dedicated reference-counted string types and also null-terminated strings).
Strings can be concatenated by using the '+' operator, rather than using functions. For dedicated string types the programmer does not have to handle memory management as Delphi's memory manager handles this. The improved memory manager introduced with Borland Developer Studio 2006 provides functions to locate memory leaks.
The language is suitable for Rapid Application Development (RAD) and Delphi includes an integrated IDE. The Delphi products all ship with a large framework called the Visual Component Library, usually referred to by its initials VCL, including most of its source code. Third-party components (sometimes with full source code) and tools to enhance the IDE or for other Delphi related development tasks are available free of charge or for purchase. 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 third-party products with more functionality for this purpose. The VCL framework maintains a high level of source compatibility between versions which simplifies adapting existing source code to a newer Delphi version. Third-party libraries may need updates from the vendor but, if source code is supplied, recompilation with the newer version may be sufficient. The VCL was an early adopter of Dependency injection or Inversion of Control; it uses a sophisticated "re-usable" component model, extensible by the developer. With class helpers new functionality can be introduced 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, simplifying distribution and eliminating DLL version issues. Delphi can also generate standard DLLs, ActiveX DLLs, COM automation servers and Windows services.
The Delphi IDEs since Delphi 2005 increasingly support refactoring features such as method extraction[22] 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. Voluntary team TeamB also helps out.
Backward compatibility
Each new release of Delphi attempts to be as compatible as possible with earlier versions, so that already-developed software and libraries can be retained. Incompatibility necessarily arises as new functionality is added, e.g., with support by Firemonkey of other platforms than Windows[3].
Limitations
- Platform availability
Delphi XE2 can develop applications for 32- and 64-bit Microsoft Windows, Mac OS X and iOS. As of 2011[update] Embarcadero has said they plan to support Linux and Android.[23]
- Backward compatibility[24]
Each new release of Delphi attempts to keep as much backwards compatibility as possible to allow developers to continue to use existing code without incompatibility of interfaces or functionality. The design of the standard class libraries (VCL/RTL) had become somewhat dated and restrictive; Embarcadero released in 2011 as part of Delphi XE2 a new compiler and cross-platform VCL replacement called FireMonkey[3], based on Direct3D and OpenGL, which runs on other platforms in addition to Windows, supporting their features, but is not backwards-compatible with VCL applications.
Related software
RAD Studio
Embarcadero sells RAD Studio, a suite of development tools which consists of Delphi, Delphi Prism and C++Builder.[25] Like Delphi, there are different editions of RAD Studio: Professional edition, Enterprise edition and Architect edition.[26]
RadPHP (formerly Delphi for PHP)
Main article: Delphi for PHPRadPHP is an IDE for PHP that provides true RAD functionality. It has a form designer similar to that of Delphi or Visual Basic, and an integrated debugger based on the Apache web server. It also includes a VCL library ported to PHP. Unlike other IDEs it supports Web 2.0 features such as AJAX.
Delphi for PHP was announced on March 20, 2007, renamed on October 2010 to RadPHP, and is based on Qadram Q studio. Embarcadero acquired Qadram in January 2011.
Delphi Prism
Main article: Delphi PrismDelphi 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.[25]
Third-party software
- Free Pascal - an open-source Pascal compiler which partially supports Delphi code and works on many operating systems.
- Lazarus - an RAD IDE developed for and supported by the Free Pascal compiler that runs on Windows, Linux and Mac OS X. A free alternative which works very like Delphi, and is cross platform.
- Project Jedi (Joint Endeavor of Delphi Innovators) - A collaborative open-source effort by the Delphi developer community to provide translations of Windows API interfaces, additional components and controls, and algorithms and data structures.
- FastCode - Enhanced runtime libraries and memory manager.
- Teechart - Charting library.
- OpenWire (library)
See also
References
- ^ Delphi XE2 Feature Matrix
- ^ FireMonkey Platform Prerequisites: iOS Requirements on Mac
- ^ a b c d e f Embarcadero: Firemonkey Q & A, undated but copyright 1994-2010
- ^ David Intersimone. "Borland History: Why the name "Delphi?"". http://bdn.borland.com/article/20396. Retrieved 2006-11-28.
- ^ Brian Long. "VCL versus CLX". http://www.blong.com/Conferences/DCon2001/VCLvsCLX/VCLvsCLX.htm.
- ^ Nick Hodges. "Top ten reason to upgrade from Delphi 7". http://edn.embarcadero.com/article/39136.
- ^ Tim Anderson. "Borland's quality problems and Delphi 2005". http://www.itwriting.com/blog/?postid=123. Retrieved 2010-06-16.
- ^ David Intersimone. "Press Release: Borland forming CodeGear to focus exclusively on developer productivity". http://bdn.borland.com/article/33819. Retrieved 2006-11-28.
- ^ Embarcadero Prism XE2 downloads
- ^ "News Briefs: December 15, 2008". SDTimes (BZ Media LLC). December 15, 2008. http://www.sdtimes.com/p/33118. Retrieved 2011-08-24.
- ^ "Delphi 2010 What’s New". http://www.embarcadero.com/products/delphi/whats-new. Retrieved 2006-11-28.
- ^ Elling, Dee (September 25, 2009). "Release Notes for Embarcadero Delphi 2010 and C++Builder 2010". Embarcadero Technologies. http://edn.embarcadero.com/article/39758. Retrieved 2011-08-24.
- ^ "Delphi Insider: Sneak Preview: Delphi 2011 is Delphi XE". http://delphi-insider.blogspot.com/2010/08/sneak-preview-delphi-2011-is-delphi-xe.html. Retrieved 2010-09-02.
- ^ "Embarcadero Introduces Starter Editions of C++Builder and Delphi Rapid Application Development Environments". SD Times (BZ Media LLC). January 31, 2011. http://www.sdtimes.com/link/35223. Retrieved 2011-08-24.
- ^ Prices for Delphi XE2 versions
- ^ "RAD Studio XE2 Overview". Embarcadero Technologies, Inc. 2011. http://edn.embarcadero.com/article/41595. Retrieved 2011-09-06.
- ^ "Delphi XE2 Overview". Embarcadero Technologies, Inc. 2011. http://edn.embarcadero.com/article/41593. Retrieved 2011-09-06.
- ^ World, Meet MonkeyMixer – Use FireMonkey forms directly in VCL Projects
- ^ [2010 roadmap for RAD Studio, Delphi and C++Builder
- ^ Delphi XE2 price list
- ^ Delphi XE2 feature matrix
- ^ "A First Look at (Borland Developer Studio) Delphi 2006 - Refactoring in Delphi 2006". About.com. http://delphi.about.com/od/productreviews/ss/delphi2006first_6.htm. Retrieved 2007-12-19.
- ^ Anderson, Tim (10 July 2011). "Embarcadero promises Delphi everywhere: Mac, iOS this year, Android, Blackberry, Windows Phone to follow". Tim Anderson’s ITWriting. http://www.itwriting.com/blog/4636-embarcadero-promises-delphi-everywhere-mac-ios-this-year-android-blackberry-windows-phone-to-follow.html. Retrieved 7 September 2011.
- ^ http://edn.embarcadero.com/article/39934
- ^ a b "Embarcadero RAD Studio 2010". Embarcadero Technologies. http://www.embarcadero.com/products/rad-studio. Retrieved 9 December 2009. "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."
- ^ "Embarcadero RAD Studio - Product Editions". Embarcadero Technologies. http://www.embarcadero.com/products/rad-studio/product-editions. Retrieved 9 December 2009.
Further reading
- McConnell, Steve (1993). Code Complete. Microsoft Press. ISBN 1-55615-484-4.
- Polberger, David (29 January 2010). "Delphi". Component technology in an embedded system. http://www.polberger.se/components/read/delphi.html. Retrieved 24 August 2011.
External links
Dialects Compilers CurrentDelphi · Delphi Prism (Oxygene) · PocketStudio · HP Pascal · IP Pascal · Prospero Pascal · FrameworkPascal · C/AL · Free Pascal (Lazarus) · GNU Pascal · Turbo51 · Virtual Pascal · MIDletPascal · Pic Micro Pascal · ACKHistoricalComparison of Pascal and C · Comparison of Pascal and Delphi
Related to: Ada (2005) · ALGOL (1968)Categories:- Pascal
- Delphi programming language
- Integrated development environments
- CodeGear software
- User interface builders
Wikimedia Foundation. 2010.