C++Builder is the sibling product of Delphi, an IDE that uses the Object Pascal programming language. C++Builder combines the Visual Component Library (VCL) and IDE written in Object Pascal with multiple C++ compilers. C++Builder and Delphi can generate mutually compatible binaries. C++ methods can call Object Pascal methods and vice versa. Since both Delphi and C++ use the same back-end linker, the debugger can step from Delphi code into C++ transparently. In addition, C++Builder projects can include Delphi code. (The reverse is not possible.)
Technology
C++Builder uses the same IDE as Delphi, and shares many core libraries. Notable shared Delphi (Object Pascal code) and C++ Builder routines include the FastMM4 memory manager, which was developed as a community effort within the FastCode project, the entire UI framework known as the VCL, which is written in Object Pascal, as well as base system routines, many of which have been optimised for both Delphi and C++Builder through the FastCode project.
C++Builder projects can include Delphi code. The Delphi compiler emits C++ headers, allowing C++ code to link to Delphi classes and methods as though they were written in C++. The reverse (C++ code being used by Delphi) is not as straightforward but possible.
C++Builder originally targeted only the Microsoft Windows platform. Later versions incorporated Borland CLX, a cross-platform development visual component library based on Qt, that supports Windows and Linux, however CLX is now abandoned. The current version by Embarcadero supports cross-platform development using the new Firemonkey (FMX) library.
Editions
C++ Builder is available in four editions with increasing features and price:
Community: Available for free for one year but has a limited commercial-use license. Includes local database connectivity and some library source code.
Professional: Adds cross-platform compilation for macOS, (until version 10.2.2: iOS and Android requiring the purchase of the additional Mobile Add-On pack), more library source code, code formatting, and a full commercial license.
Enterprise: Includes the mobile target platforms and adds client/server database connectivity, Enterprise Mobility Services, and DataSnap multi-tier SDK.
Architect: Adds data modeling tools.
History
C++Builder was released in 1997, replacing Borland C++ and the Object Windows Library (OWL) to considerable user consternation, since maintenance of the latter products was abruptly abandoned. While Borland advised OWL users to migrate to C++Builder, no automatic migration tools were provided, and for many the cost of migration was too high. Some users continued to use Borland C++ to maintain their OWL applications, while others migrated to OWLNext (a patched version of OWL, maintained by the user community), Microsoft Foundation Classes or similar portable GUI library alternative, such as wxWidgets.
Still, despite the disruption caused to existing Borland C++ and OWL users by Borland's new focus on C++Builder and VCL, C++Builder was well received. In the press release announcing shipment, Borland included a glowing quote by renowned C++ expert and book author Bruce Eckel: "I love Borland C++Builder! For the first time, I can whip together an efficient C++ Windows program without thinking about Windows programming. [...] This is clearly the next major step forward in the evolution of C++ visual programming."[2]
Release cycle
Originally, the C++Builder release cycle was such that Delphi got major enhancements first, with C++Builder following,[3] though recent versions have been released at the same time as their Delphi equivalents.[4]
1.0
Borland announced the preview version of C++Builder 1.0 on January 7, 1997.[5] The company released a retail version on February 26, 1997,[2] in three editions: "Standard," "Professional," and "Client/Server Suite."[6]
3.0
Borland skipped the 2.0 version number to align C++Builder with its Delphi version numbering.
Integrated Inprise Corporation's VisiBroker 3.3 with event and naming services
New multi-standard flexible C++ compiler
Support for the latest ANSI/ISO C++ language specifications, including a host of compiler enhancements including Dynamic Compilation and Adaptive Compiler Technology (ACT), which radically speed compiler build processes; full ANSI/ISO template implementation; full ANSI/ISO STL (standard template library) support; and a high-performance 32-bit ANSI C++ native code compiler.
Fully customizable AppBrowser IDE
Latest support for Windows 98, 95, and NT including multiple monitors, common controls, docking forms and toolbars, and more.
New Code and Parameter completion, and the new ClassExplorer live structured class view and member creation wizards.
Exclusive C++ debugging tools, including remote debugging for distributed development (COM and CORBA); multi-process and cross-process debugging with debug inspectors, dynamic watch windows, and debug tooltips.
Internet tools, including ActiveForms for building Web browser C++ applications and WebBroker for building CGI, WinCGI, ISAPI, and NSAPI C++ applications and over 25 Internet protocol components for instantly adding HTTP, FTP, SMTP, POP, NNTP, HTML, and TCP/IP support to any C++ application.
Multi-Tier Database Development Services (MIDAS) Development Kit, including MIDAS 2.
Support for industry standards, including Oracle Corporation's Oracle8i database server; Microsoft Corporation's Microsoft Foundation Classes (MFC), Microsoft Active Template Library (ATL), Microsoft SQL Server 7 and MTS (Microsoft Transaction Server); and Inprise Corporation's Object Windows Library (OWL) and Visual Component Library (VCL).
EZ-COM, which simplifies C++ COM client development and One-Step ActiveX Control creation with new Data Binding support.
5.0
On March 22, 2000, Inprise Corporation announced the release of Borland C++Builder 5, available in Enterprise, Professional, Standard editions.[8] New features include:[9]
Support of Windows 2000.
Internet Express
XML and HTML4 Support for Full-featured Dynamic Clients
Active Server Objects for the Microsoft Internet Platform
TeamSource
Interbase 6.5
6.0
On February 5, 2002, Borland announced the release of C++Builder 6 on February 8, 2002, in three editions: "Enterprise," "Professional," and "Personal."[10] 60-day free trial download of C++Builder 6 Enterprise was also planned. New features include:[11]
Support of Windows XP
BizSnap e-business development platform with Web Services
Minimum supported operating system was changed to Windows 98.
C++BuilderX
On Sep 15, 2003, Borland Software Corporation announced the release of Borland C++BuilderX (CBX), which was also included as part of the latest Borland Enterprise Studio for Mobile.[12] CBX was written using the same framework as JBuilder and bore little resemblance to either C++Builder or Delphi. This product was aimed at developing large programs for enterprises, but did not sell well.
On Sep 22, 2003, Borland Software Corporation and PalmSource, Inc. announced Borland has licensed the PalmSource software development kits (SDKs) and will support Palm OS development in the Borland C++BuilderX Integrated Development Environment (IDE) and latest Borland Application Lifecycle Management (ALM) solutions for C++.[13]
At the end of 2004 Borland announced that it would continue to develop the earlier C++Builder and bundle it with the Delphi development suite, abandoning C++BuilderX.
2006
On Oct 10, 2005, Borland announced the release of C++Builder 2006 (previously codenamed "DeXter").[6] Minimum supported operating system was changed to Windows 2000.
About a year after the announcement, the company released Borland Developer Studio 2006, which includes Borland C++Builder 2006, with improved configuration management and bug fixes. Borland Developer Studio 2006 is a single package containing Delphi, C++Builder, and C#Builder.
2007
In 2006 Borland's Developer Tools Group, developers of C++Builder, was transferred to a wholly owned subsidiary, CodeGear.
June 5, 2007, CodeGear released C++Builder 2007,[14] providing:
Full API support for Microsoft Windows Vista including themed applications and seamless VCL support for Aero and Vista Desktop
Increased ANSI C++ conformance
Up to 500% faster in-IDE build performance
Support for MSBuild, DBX4 database architecture, and "VCL for the Web" which supports Ajax
IDE, debugger, dbExpress, and VCL component improvements
CodeGear RAD Studio 2007 incorporates C++Builder 2007 and Delphi. Also in 2007 Borland revived the "Turbo" brand and released two "Turbo" editions of C++Builder: Turbo C++ Professional, and Turbo C++ Explorer (no longer available from CodeGear), based on Borland C++Builder 2006.
In 2008 CodeGear was purchased by Embarcadero Technologies, who continued development.
2009 and 2010
After purchasing CodeGear, Embarcadero Technologies bundled C++Builder with Delphi and other tools and released them as RAD Studio.[15]
C++Builder 2009 was released on August 25, 2008, featuring:[16]
C++Builder 2010 followed August 24, 2009, adding:[17]
Touch and gesture support for VCL components
C++ specific class explorer
Code completion improvements
IDE updates
XE releases
Embarcadero changed the versioning scheme. Each new version of C++Builder was called XE#, where # is a sequential integer.
XE
C++Builder XE was released August 30, 2010 and included:[18]
Multiple C++ language updates
New C++ compiler options
Multiple user-requested fixes
XE2
C++Builder XE2 was released August 31, 2011 and included:[19][20]
New 'FireMonkey' library for creating cross-platform GUIs (Windows, macOS, iOS)
dbExpress to deliver new connectivity options with support for InterBase XE, FireBird 2.5, SQL Anywhere 12 and ODBC
DataSnap mobile support for iOS, Android, Blackberry, and Windows Phone
Expanded cloud computing integration with new data and deployment options to Amazon EC2 and Microsoft Windows Azure
LiveBindings for VCL and FireMonkey components
Multiple new reporting tools
XE3
C++Builder XE3 was released September 4, 2012 and added:[21][22]
Windows 8 Style UI
Enhanced native UI control styling
3rd party Pro-Designer UI Styles
Support for Mac OS X Mountain Lion & Retina
Project templates
Touch and Live Tile support
1-click conversion for existing apps
Audio/Video Multimedia controls
Simple “Draw to bind” data and properties between objects
Quick app prototyping
Organize bindings with Layers
XE4
C++Builder XE4 was released April 22, 2013, and included:[23][24]
64-bit Windows compiler based on Clang 3.1. The 32-bit compiler was still based on Embarcadero's older technology.
FireDAC library for database access
Many new FireMonkey components and updates
Mobile Form Designer
XE5
C++Builder XE5 was released September 11, 2013, and included:[25]
Time Picker control for Windows and OS X
Built-in search filtering for TListView on Windows and OS X
FM Platform performance optimizations
Professional edition includes expanded FireDAC support for local databases, including Microsoft Access database, SQLite database, InterBase ToGo / IBLite, InterBase on localhost, MySQL Embedded, MySQL Server on localhost, Advantage Database local engine, PostgreSQL on localhost, Firebird Embedded, and Firebird on localhost
FireDAC integrated into the C++Builder install for Professional, Enterprise, Ultimate and Architect editions
REST Client support for simplified invocation of REST services
Authorization support including Basic Authentication, Plan Authentication, OAuth1, OAuth2
TRestClient, TRestRequest, and TRestResponse components
REST Debugger tool for testing REST calls and their parameters
C++Builder XE5 Starter Edition includes:
Develop 32-bit Windows application using the C++Builder VCL and FireMonkey application platform
IDE and visual development environment
Hundreds of included components
License for use until user's individual revenue from C++Builder applications or company revenue reaches $1,000 US or development team expands to more than five developers
Available editions include Architect, Ultimate, Enterprise, Professional, Starter.
XE6
Released April 15, 2014, C++Builder XE6 included:[26]
FireMonkey Android application support
Support for Windows 64-bit packages
C++ compiler improvements
IDE, Deployment Manager, and SDK Manager improvements
XE7
Released September 2, 2014, C++Builder XE7 added:[27]
FireMonkey multi-platform support through "multi-device applications"
Runtime Library improvements for Bluetooth, parallel programming, XML, and web encoding/decoding
Enterprise Mobility Services to interface with DataSnap REST APIs and enterprise database data.
XE8
C++Builder XE8, released April 7, 2015, included the following new features:[28]
GetIt Package Manager updates
Native iOS Presentation for FireMonkey components
Desktop web browser component
Interactive mobile maps
New media library options
Mobile app analytics
New C++ compiler for 64-bit iOS
Mercurial version control integration
New DUnitX testing framework
Subsequent releases
In 2015, Embarcadero once again changed the versioning scheme. Starting with version number 10.0, each version also received a nickname.
10.0 Seattle
Released August 31, 2015, Seattle[29] updated the IDE with:
CLANG 3.3 C++ compiler suite with some exceptions[30]
Windows 10 FireMonkey, CVL, and RTL support
VCL Windows 10 controls
New VCL Styles
Multi-monitor configuration improvements
Updates to the IDE, debugger, database and cloud libraries, and documentation
Advertising component for iOS, including AdMob support based on the Google Firebase SDK
VCL TControlList control, a flexible and virtualized list control, designed as a high-performance control for very long lists and a modern look and feel
VCL TNumberBox control, a modern-looking numeric input control, for integer, floating point numbers, and currency values
Updated Konopka Signature VCL Controls (over 200 additional Windows UI controls), available for download in the GetIt Package Manager
11 Alexandria
C++Builder 11 was released September 10, 2021.[45]
11.1 Update 1
On March 15, 2022, Embarcadero released RAD Studio 11.1 with new features including:[46]
Many IDE Improvements
Extensive High DPI IDE quality, plus improved use of the IDE with Remote Desktop
Improvements with High DPI designers for VCL and FireMonkey and the styled VCL form designer
GetIt Library Manager enhancements
Code Insight Across Delphi and C++Builder
The Delphi LSP engine saw big performance improvements
The Delphi and C++ compilers for the various platforms were improved in terms of stability and performance
Improved RTL, UI, and Database Libraries
11.1.5 C++ Code Insight Update
On July 14, 2022, Embarcadero released C++Builder 11.1.5 C++ Code Insight Update with a number of improvements and quality fixes for C++ developers using C++Builder 11.1 by adding:[47][48]