Delphi (software)

Source: Wikipedia, the free encyclopedia.
(Redirected from
Delphi (programming language)
)
Delphi
Original author(s)Borland, CodeGear, Embarcadero
Developer(s)Embarcadero Technologies
Stable release
RAD Studio 12.1 Athens[1] Edit this on Wikidata / 4 April 2024; 19 days ago (4 April 2024)
Written inMostly Delphi (Object Pascal)
Software Development, Designer, IDE, Compiler, RTL
LicenseFreemium
Websiteembarcadero.com/products/delphi

Delphi is a

mobile, web, and console software,[3] currently developed and maintained by Embarcadero Technologies
.

Delphi's compilers generate

Delphi includes a code editor, a visual designer, an integrated debugger, a

plugins. The code editor features Code Insight (code completion), Error Insight (real-time error-checking), and refactoring. The visual forms designer has the option of using either the Visual Component Library (VCL) for pure Windows development or the FireMonkey (FMX) framework for cross-platform development. Database support is a key feature and is provided by FireDAC (Database Access Components). Delphi is known for its fast compilation speed, native code, and developer productivity.[citation needed
]

Delphi was originally developed by Borland as a rapid application development tool for Windows as the successor of Turbo Pascal. Delphi added full object-oriented programming to the existing language, and the language has grown to support generics, anonymous methods, closures, and native Component Object Model (COM) support.

Delphi and its C++ counterpart, C++Builder, are interoperable and jointly sold under the name RAD Studio. There are Professional, Enterprise, and Architect editions, with the higher editions having more features at a higher price. There is also a free-of-charge Community edition, with most of the features of Professional, but restricted to users and companies with low revenue.[7]

Features

Delphi supports rapid application development (RAD). Prominent features are a visual designer and two application frameworks, VCL for Windows and FireMonkey (FMX) for cross-platform development.

Delphi uses the

cross-compilation
to many platforms including Windows, Linux, iOS and Android.

To better support development for Microsoft Windows and interoperate with code developed with other software development tools, Delphi supports independent interfaces of

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.[citation needed
]

Database connectivity is extensively supported through VCL database-aware and database access components.

Later versions have included upgraded and enhanced runtime library routines, some provided by the community group FastCode.

Characteristics

Delphi uses a

polymorphism.[9] Metaclasses are first class objects. Objects are references to the objects (as in Java
), which Delphi implicitly de-references, so there is usually no need to manually allocate memory for pointers to objects or use similar techniques that some other languages need. 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, Delphi handles memory management without programmer intervention. Since Borland Developer Studio 2006, there are functions to locate memory leaks.

Delphi includes an integrated IDE. The Delphi products all ship with a run-time library (RTL) and a

inversion of control
; it uses a reusable 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 compiler is

Windows services
.

The Delphi IDEs since Delphi 2005 increasingly support

refactoring features such as method extraction and the possibility to create UML
models from the source code or to modify the source through changes made in the model.

Delphi has communities on the web, where also its employees actively participate.

Backward compatibility

Delphi is one of the languages where backward compatibility is close to 100%. Although each new release of Delphi attempts to keep as much backward compatibility as possible to allow existing code reuse, new features, new libraries, and improvements sometimes make newer releases less than 100% backward compatible.

Since 2016, there have been new releases of Delphi every six months, with new platforms being added approximately every second release.[10]

Frameworks

Delphi offers two frameworks for visual application development, VCL and FireMonkey (FMX):

  • Visual Component Library (VCL) is the framework for developing pure Windows applications. VCL is a long-standing framework, included in the first release of Delphi and actively developed ever since then.
  • units
    with VCL applications, enabling a lot of code to be ported or shared easily between the platforms.

Interoperability

Delphi and its C++ counterpart, C++Builder, are interoperable. They share many core components, notably the IDE, the VCL and FMX frameworks, and much of the runtime library. In addition, they can be used jointly in a project. For example, C++Builder 6 and later can combine source code from Delphi and C++ in one project, while packages compiled with C++Builder can be used from within Delphi. In 2007, the products were released jointly as RAD Studio, a shared host for Delphi and C++Builder, which can be purchased with either or both. Starting with Rio, there is also interoperability with Python.

Sample "Hello World" program

program ObjectPascalExample;

type
  THelloWorld = class
    procedure Put;
  end;

procedure THelloWorld.Put;
begin
  Writeln('Hello, World!');
end;

var
  HelloWorld: THelloWorld;               { this is an implicit pointer }

begin
  HelloWorld := THelloWorld.Create;      { constructor returns a pointer to an object of type THelloWorld }
  HelloWorld.Put;
  HelloWorld.Free;                       { this line deallocates the THelloWorld object pointed to by HelloWorld }
end.

Note that the object construct is still available in Delphi.

History

Uses in schools

Delphi is the medium used to teach programming in South African schools as a subject of information technology (IT).[11]

Roadmaps

Embarcadero publishes "roadmaps" describing their future development plans. The most recent one was published in November 2020.[12] Version 10.5 referred to in the November 2020 roadmap was renamed 11.0.

Related software

  • Borland Enterprise Studio, a precursor to RAD Studio, is a software development suite that includes support for multiple languages. Borland Enterprise Studio for Windows supports Delphi.[13]
  • Borland Kylix: Similar to Delphi, but for Linux, released in 2001. This was the first attempt to add Linux support to the Delphi product family.[14] Kylix used the new CLX cross-platform framework (based on QT), instead of Delphi's VCL. Kylix was discontinued after version 3. Today Linux support is integrated into the main Delphi product and uses the FireMonkey cross-platform framework.
  • InterBase is an embeddable SQL database that integrates natively to Delphi and C++Builder for client/server or embedded development. Its distinguishing features reduced administration requirements, commercial-grade data security, disaster recovery, and change synchronization. It is also accessible by all major languages and platforms in the market with database connection protocols like ODBC, ADO, ADO.NET and even with Java by JDBC/ODBC Bridge or Java type 4 connectors.
  • JBuilder was a tool for Java development based on Eclipse since version JBuilder 2007.
  • AJAX
    . Delphi for PHP was announced on March 20, 2007, renamed in October 2010 to RadPHP, and is based on Qadram Q studio. Embarcadero acquired Qadram in January 2011.
  • Delphi Prism (later known as Embarcadero Prism) derived from the Oxygene programming language (previously known as Chrome) from RemObjects. It ran in the Microsoft Visual Studio IDE rather than RAD Studio. It was licensed and re-branded by Embarcadero to replace Delphi.NET when that product was discontinued.
  • Lazarus
    is a cross-platform RAD IDE that uses the Free Pascal compiler.

Notable third-party libraries

References

  1. ^ "Announcing the Availability of RAD Studio 12.1 Athens". 4 April 2024. Retrieved 4 April 2024.
  2. ^ "Installation Notes - Operating System Requirements". Archived from the original on 2020-08-06. Retrieved 2020-09-05.
  3. ]
  4. ^ "Performance Comparison from Delphi 2010 to XE6 (Part 2)". Riversoft AVG. 12 May 2014. Archived from the original on 26 July 2015. Retrieved 9 March 2016.
  5. ^ "The Delphi Geek: Built For Speed". Archived from the original on 23 March 2016. Retrieved 9 March 2016.
  6. ^ "Discussion on Hacker News about Delphi being alive". Hacker News. Archived from the original on 2 July 2016. Retrieved 9 March 2016.
  7. ^ "Delphi: App Development Product Editions". Embarcadero. Archived from the original on 14 March 2021. Retrieved 13 March 2021. With download link for Delphi Feature Matrix
  8. ^ "Recollections About the Development of Pascal" (PDF). Archived (PDF) from the original on 2016-05-12. Retrieved 2016-01-12.
  9. .
  10. ^ "List of Delphi language features and version in which they were introduced/deprecated". Stack Overflow. Archived from the original on 28 February 2016. Retrieved 9 March 2016.
  11. ^ Staff Writer. "Embarcadero Delphi named developer language of choice for South African schools". Archived from the original on 2022-03-31. Retrieved 2022-03-17.
  12. ^ "RAD Studio November 2020 Roadmap PM Commentary". blogs.embarcadero.com. 17 November 2020. Archived from the original on 2020-11-28. Retrieved 2020-11-27.
  13. ^ "Borland Enterprise Studio". Archived from the original on 2002-02-05. Retrieved 2002-02-05.
  14. ^ "Kylix is here!". Archived from the original on 2019-09-04. Retrieved 2020-09-05.
  15. ^ "Free Pascal Homepage". freepascal.org. Archived from the original on 1999-01-25. Retrieved 2016-04-27.

Further reading

External links