User:Ildrummer/sandbox

Delphi is a software product that uses the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies. Delphi evolved from Borland's "Turbo Pascal for Windows", itself an evolution with Windows support from Borland's Turbo Pascal and Borland Pascal with Objects, very fast 16-bit native-code MS-DOS compilers with their own sophisticated integrated development environment (IDE) and textual user interface toolkit for DOS (Turbo Vision). 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 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 in 1995, 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.

Early Borland years (1995–2003)
Delphi (later known as Delphi 1) was released in 1995 for the 16-bit Windows 3.1, and was an early example of what became known as Rapid Application Development (RAD) tools. Delphi 1 features included:
 * Borland Delphi
 * Visual two-way tools
 * Property Method Event (PME) model
 * TObject, records, component, and owner memory management
 * Visual Component Library (VCL)
 * Runtime Library (RTL)
 * Structured exception handling
 * Data-aware components live at design time
 * Database support via BDE and SQL Links

Delphi 2, released in 1996, supported 32-bit Windows environments and bundled with Delphi 1 to retain 16-bit Windows 3.1 application development. New Quickreport components replacing Borland ReportSmith. Delphi 2 also introduced:
 * Borland Delphi 2
 * Database Grid
 * OLE automation
 * Visual form inheritance
 * Long strings (beyond 255)

Delphi 3, released in 1997, added:
 * Borland Delphi 3
 * New VCL components encapsulating the 4.71 version of Windows Common Controls (such as Rebar and Toolbar)
 * TDataset architecture separated from BDE
 * DLL debugging
 * Code insight technology
 * Component packages, and templates, and integration with COM through interfaces.
 * DecisionCube and Teechart components for statistical graphing
 * WebBroker
 * ActiveForms
 * MIDAS three tier architecture

Inprise Delphi 4, released in 1998, completely overhauled the editor and became dockable. It was the last version shipped with Delphi 1 for 16-bit programming. New features included:
 * Inprise Delphi 4
 * VCL added support for ActionLists anchors and constraints.
 * Method overloading
 * Dynamic arrays
 * High performance database drivers
 * Windows 98 and Microsoft BackOffice support
 * Java interoperability
 * CORBA development

Borland Delphi 5 was released in 1999 and improved upon Delphi 4 by adding:
 * Borland Delphi 5
 * Frames
 * Parallel development
 * Translation capabilities
 * Enhanced integrated debugger
 * XML support
 * ADO database support
 * Reference counting interfaces

Shipped in 2001, Delphi 6 supported both Linux (using the name Kylix) and Windows for the first time and offered a cross-platform alternative to the VCL known as CLX. Delphi 6 also added:
 * Borland Delphi 6
 * The Structure window
 * SOAP web services
 * dbExpress
 * BizSnap, WebSnap, and DataSnap

Delphi 7, released in August 2002, added support for: Used by more Delphi developers than any other single version, Delphi 7 is one of the most successful IDEs created by Borland. Its stability, speed, and low hardware requirements led to active use through 2020.
 * Borland Delphi 7
 * Web application development
 * Windows XP Themes

Later Borland years (2003–2008)
Delphi 8 (Borland Developer Studio 2.0), released December 2003, was a .NET-only release that compiled Delphi Object Pascal code into .NET CIL. The IDE changed to a docked interface (called Galileo) similar to Microsoft's Visual Studio.NET. Delphi 8 was highly criticized for its low quality and its inability to create native applications (Win32 API/x86 code). The inability to generate native applications is only applicable to this release; the capability would be restored in the next release.
 * Borland Delphi 8

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 included:
 * Borland Delphi 2005
 * Regained ability to compile native windows applications (*.exe) after being removed in Delphi 8.
 * Design-time manipulation of live data from a database
 * Improved IDE with multiple themes
 * for ... in statement (like C#'s foreach) to the language.
 * Multi-unit namespaces
 * Error insight
 * History tab
 * Function inlining
 * Refactoring
 * Wild-card in uses statements
 * Data Explorer
 * Integrated unit testing

Delphi 2005 was widely criticized for its bugs; both Delphi 8 and Delphi 2005 had stability problems when shipped, which were only partially resolved in service packs. CLX support was dropped for new applications from this release onwards.

In late 2005 Delphi 2006 (Delphi 10, also Borland Developer Studio 4.0) was released combining development of C# and Delphi.NET, Delphi Win32 and C++ (Preview when it was shipped but stabilized in Update 1) into a single IDE. It was much more stable than Delphi 8 or Delphi 2005 when shipped, and improved further with the release of two updates and several hotfixes. Delphi 2006 included:
 * Borland Delphi 2006
 * Operator overloading
 * Static methods and properties
 * Designer Guidelines, Form positioner view
 * Live code templates, block completion
 * Line numbers, change bars, sync-edit
 * Code folding and method navigation
 * Debugging Tool-Tips
 * Searchable Tool Palette
 * FastMM memory manager
 * Support for MySQL
 * Unicode support in dbExpress


 * Turbo Delphi and Turbo Delphi for .NET

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 editions of Borland Developer Studio 2006, 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 flavor, and a Professional flavor, priced at US$899 for new users and US$399 for upgrades, which opened access to thousands of third-party components. Unlike earlier Personal editions of Delphi, Explorer editions could be used for commercial development.

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. Instead of selling it, Borland transferred the development tools group to an independent, wholly-owned subsidiary company named CodeGear on November 14, 2006.
 * Delphi Transfer

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 based on .NET Framework 2.0 was released as part of the CodeGear RAD Studio 2007 product. For the first time, Delphi could be downloaded from the internet and activated with a license key. New features included:
 * Codegear Delphi 2007
 * Support for MSBuild, build events, and build configurations
 * Enhancements to the VCL for Windows Vista
 * dbExpress 4 with connection pooling and delegate drivers
 * CPU viewer windows
 * FastCode enhancements
 * IntraWeb / AJAX support
 * Language support for French, German, and Japanese

Delphi 2007 also dropped a few features:
 * C#Builder due to low sales as a result of Visual Studio also offering C#.
 * The Windows Form designer for Delphi .NET because it was based on part of the .NET framework API changed so drastically in .NET 2.0 that updating the IDE would have been a major undertaking.

Internationalized versions of Delphi 2007 shipped simultaneously in English, French, German and Japanese. RAD Studio 2007 (code named Highlander), which included .NET and C++Builder development, was released on September 5, 2007.

The CodeGear era produced an IDE targeting PHP development despite the word "Delphi" in the product name. Delphi for PHP was a VCL-like PHP framework that enabled the same Rapid Application Development methodology for PHP as in ASP.NET Web Form. Versions 1.0 and 2.0 were released in March 2007 and April 2008 respectively. The IDE would later evolve into RadPHP after CodeGear's acquisition by Embarcadero.
 * Delphi for PHP

Embarcadero years (2008–2015)
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.

Delphi 2009 (Delphi 12, code named Tiburón), added many new features:
 * Codegear Delphi 2009
 * Full Unicode support in VCL and RTL components
 * Generics
 * Anonymous methods for Win32 native development
 * Ribbon controls
 * DataSnap library updates
 * Build configurations
 * Class Explorer
 * PNG support

Delphi 2009 dropped support for .NET development, replaced by the Delphi Prism developed by RemObjects Software.

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 included:
 * Codegear Delphi 2010
 * A new compiler run-time type information (RTTI) system
 * Support for Windows 7
 * Direct2D canvas
 * Touch screen and gestures
 * Source code formatter
 * Debugger visualizers
 * Thread-specific breakpoints
 * Background compilation
 * Source Code Audits and Metrics
 * The option to also have the old style component palette in the IDE.

Delphi XE (aka Delphi 2011, code named Fulcrum), was released on August 30, 2010 and improved upon the development environment and language with:
 * Embarcadero Delphi XE
 * Regular Expression library
 * Subversion integration
 * dbExpress filters, authentication, proxy generation, JavaScript framework, and REST support
 * Indy WebBroker
 * Support for Amazon EC2 and Microsoft Azure
 * Build groups
 * Named Threads in the debugger
 * Command line audits, metrics, and document generation

On January 27, 2011 Embarcadero announced the availability of a new Starter Edition that gives independent developers, students and micro businesses a slightly reduced feature set for a price less than a quarter of that of the next-cheapest version. This Starter edition is based upon Delphi XE with update 1.
 * Delphi Starter Edition

On September 1, 2011 Embarcadero released RAD Studio XE2 (code-named Pulsar,) which included Delphi XE2, C++Builder, Embarcadero Prism XE2 (Version 5.0 later upgraded to XE2.5 Version 5.1) which was rebranded from Delphi Prism and RadPHP XE2 (Version 4.0). Delphi XE2 included: Embarcadero said 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". Pre-2013 versions only supported iOS platform development with Xcode 4.2.1 and lower, OS X version 10.7 and lower, and iOS SDK 4.3 and earlier.
 * Embarcadero Delphi XE2
 * Native support for 64-bit Windows (except the starter edition) in addition to the long-supported 32-bit versions, with some backwards compatibility. Applications for 64-bit platforms could be compiled, but not tested or run, on the 32-bit platform. The XE2 IDE cannot debug 64-bit programs on Windows 8 and above.
 * A new library called FireMonkey that supports Windows, Mac OS X and the Apple iPhone, iPod Touch and iPad portable devices. 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.
 * Live Bindings for VCL and FireMonkey
 * VCL Styles
 * Unit scope names
 * Platform Assistant
 * DataSnap connectors for mobile devices, cloud API, HTTPS support, and TCP monitoring
 * dbExpress support for ODBC drivers
 * Deployment manager

On September 4, 2012 Embarcadero released RAD Studio XE3, which included Delphi XE3, C++Builder, Embarcadero Prism XE3 (Version 5.2) and HTML5 Builder XE3 (Version 5.0) which was upgraded and rebranded from RadPHP. Delphi XE3 added:
 * Embarcadero Delphi XE3
 * Native support for both 32-bit and 64-bit editions of Windows (including Windows 8), Mac OS X with the Firemonkey 2/FM² framework.
 * FMX (FireMonkey) actions, touch/gestures, layouts, and anchors
 * FMX support for bitmap styles
 * FMX audio/video
 * VCL/FMX support for sensor devices
 * FMX location sensor component
 * Virtual keyboard support
 * DirectX 10 support

On April 22, 2013 Embarcadero released RAD Studio XE4, which included Delphi XE4, and C++Builder but dropped Embarcadero Prism and HTML5 Builder. XE4 included the following changes:
 * Embarcadero Delphi XE4
 * Two new compilers for Delphi mobile applications - the Delphi Cross Compiler for the iOS Simulator and the Delphi Cross Compiler for the iOS Devices. These compilers significantly differ from the Win64 desktop compiler as they do not support COM, inline assembly of CPU instructions, and six older string types such as PChar. The new mobile compilers advance the notion of eliminating pointers. The new compilers require an explicit style of marshalling data to and from external APIs and libraries.
 * Delphi XE4 Run-Time Library (RTL) is optimized for 0-based, read-only (immutable) Unicode strings, that cannot be indexed for the purpose of changing their individual characters. The RTL also adds status-bit based exception routines for ARM CPUs that do not generate exception interrupts.
 * iOS styles, retina styles, virtual keyboards, app store deployment manager
 * Mobile form designer
 * Web browser component, motion and orientation sensor components
 * ListView component
 * Platform services and notifications
 * FireDAC universal data access components
 * Interbase IBLite and IBToGO

On September 12, 2013 Embarcadero released RAD Studio XE5, which included Delphi XE5 and C++Builder. It added:
 * Embarcadero Delphi XE5
 * Android support (specifically: ARM v7 devices running Gingerbread (2.3.3–2.3.7), Ice Cream Sandwich (4.0.3–4.0.4) and Jelly Bean (4.1.x, 4.2.x, 4.3.x))
 * Deployment manager for Android
 * iOS 7 style support
 * REST Services client access and authentication components

On April 15, 2014 Embarcadero released RAD Studio XE6, which included Delphi XE6 and C++Builder. It allows developers to create natively compiled apps for all platforms for, desktop, mobile, and wearable devices like Google Glass, with a single C++ or Object Pascal (Delphi) codebase. RAD Studio XE6 added:
 * Embarcadero Delphi XE6
 * Windows 7 and 8.1 styles
 * Access to Cloud based RESTful web services
 * FireDAC compatibility with more databases
 * Fully integrated InterBase support

On September 2, 2014 Embarcadero released RAD Studio XE7, which included Delphi XE7 and C++Builder. It's biggest development enabled Delphi/Object Pascal and C++ developers to extend existing Windows applications and build apps that connect desktop and mobile devices with gadgets, cloud services, and enterprise data and API by compiling FMX projects for both desktop and mobile devices. XE7 also included:
 * Embarcadero Delphi XE7
 * IBLite embeddable database for Windows, Mac, Android, and iOS
 * Multi-display support
 * Multi-touch support and gesture changes
 * Full-screen immersive mode for Android
 * Pull-to-refresh feature for TListView on iOS and Android
 * FMX save state feature.

On April 7, 2015 Embarcadero released RAD Studio XE8, which included Delphi XE8 and C++Builder. XE8 added the following tools:
 * Embarcadero Delphi XE8
 * GetIt Package Manager
 * Embarcadero Community toolbar
 * Native presentation of TListView, TSwitch, TMemo, TCalendar, TMultiView, and TEdit on iOS
 * Interactive maps
 * New options for Media Library
 * InputQuery support for masking input fields
 * FireDAC improvements

On August 31, 2015 Embarcadero released RAD Studio 10 Seattle, which included Delphi and C++Builder. Seattle included:
 * Embarcadero Delphi 10 Seattle
 * Android Background Services support
 * TBeaconDevice class for turning a supported platform device into a "beacon"
 * FireDAC support for NoSQL MongoDB database
 * FireMonky controls zOrder support for Windows
 * Support for calling WinRT APIs
 * StyleViewer for Windows 10 Style in Bitmap Style Designer
 * High-DPI awareness and 4k monitor support

Idera years (2015–present), under the Embarcadero brand
In October 2015, Embarcadero was purchased by Idera Software. Idera continues to run the developer tools division under the Embarcadero brand.

On April 20, 2016 Embarcadero released RAD Studio 10.1 Berlin, which included Delphi and C++Builder, both generating native code for the 32- and 64-bit Windows platforms, OSX, iOS and Android (ARM, MIPS and X86 processors). Delphi 10.1 Berlin introduced:
 * Embarcadero Delphi 10.1 Berlin
 * Windows Desktop Bridge support, Windows 10 App Store deployment
 * Windows 10 Styles for VCL and FMX
 * Android 6.0 support
 * EMS Apache Server support
 * ControlTyle toggle for Platform or Render
 * FMX Search filter
 * Hint property changes
 * Address book for iOS and Android
 * ListView Item Designer
 * CalendarView control
 * QuickEdits for VCL
 * 50+ Internet-of-Things packages

On March 22, 2017 Embarcadero released RAD Studio 10.2 Tokyo, adding:
 * Embarcadero Delphi 10.2 Tokyo
 * 64-bit Linux support, limited to console and non-visual applications.
 * FireDAC Linux support for Linux-capable DBMS
 * MariaDB, MySQL, and SQL Server support, InterBase 2017 included in main installation
 * Firebird support for Direct I/O
 * QuickEdits for FMX
 * New VCL controls for Windows 10
 * Updated IDE look/feel (dark mode)
 * BPL package loading for Windows Creators Update
 * RAD Server licensing

On July 18, 2018 Embarcadero released Community Edition for free download. You are not allowed to earn more than $5,000. Library source code and VCL/FMX components are more limited compared to Professional.
 * Embarcadero Delphi 10.2 Tokyo (Community Edition)

On November 21, 2018 Embarcadero released RAD Studio 10.3 Rio. This release had a lot of improvements, including:
 * Embarcadero Delphi 10.3 Rio
 * New Delphi language features - inline block-local variable declarations and type inference
 * FireMonkey Android zOrder, native controls, and API Level 26
 * Windows 10 VCL and High DPI improvements
 * Extensive IDE UI modernization
 * New VCL and FMX Multi-Device Styles
 * RAD Server architecture extension and Docker support
 * Improved FireDAC support for Firebird 3.0.4 and Firebird embedded
 * Expanded support for iOS 12/13, iPhone X, macOS Catalina
 * Support for macOS 64-bit, Android 64-bit
 * Android push notification
 * Improved iOS push notifications
 * Improved app tethering

On May 26, 2020 Embarcadero released RAD Studio 10.4 Sydney with new features such as:
 * Embarcadero Delphi 10.4 Sydney
 * Major Delphi Code Insight improvements
 * Unified Memory Management across all supported platforms
 * Enhanced Delphi multi-device platform support
 * Unified installer for online and offline installations
 * Windows Server 2019 support
 * Parallel programming component updates
 * Metal API support on OS X and IOS. See full list of changes