Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Delphi (software)

From Wikipedia, the free encyclopedia
(Redirected fromBorland Delphi)
General-purpose programming language and a software product
For the macromolecular electrostatics modeling software package, seeDelPhi.
Delphi
Screenshot of Delphi 10.4, with the visual form editor being used to create an application
Original author(s)Borland,CodeGear,Embarcadero
Developer(s)Embarcadero Technologies
Initial release1995
Stable release
RAD Studio 12.3 Athens[1] Edit this on Wikidata / 13 March 2025; 18 days ago (13 March 2025)
Written inMostly Delphi (Object Pascal)
Operating systemRuns onWindows;[2] targetsWindows,Linux,macOS,Android,iOS
TypeSoftware Development,Designer,IDE,Compiler,RTL
LicenseFreemium
Websitewww.embarcadero.com/products/delphi

Delphi is ageneral-purpose programming language and a software product that uses the Delphi dialect of theObject Pascalprogramming language and provides anintegrated development environment (IDE) forrapid application development of desktop,mobile,web, andconsole software,[3] currently developed and maintained byEmbarcadero Technologies.

Delphi's compilers generatenative code forMicrosoft Windows,macOS,iOS,Android andLinux (x64).[4][5][6]

Delphi includes a code editor, a visual designer, an integrated debugger, asource code control component, and support for third-partyplugins. The code editor featuresCode Insight (code completion), Error Insight (real-time error-checking), andrefactoring. The visual forms designer has the option of using either theVisual Component Library (VCL) for pure Windows development or theFireMonkey (FMX) framework for cross-platform development. Database support is a key feature and is provided byFireDAC (Database Access Components). Delphi is known for its fast compilation speed, native code, and developer productivity.[citation needed]

Delphi was originally developed byBorland as arapid application development tool for Windows as the successor ofTurbo Pascal. Delphi added fullobject-oriented programming to the existing language, and the language has grown to support generics,anonymous methods,closures, and nativeComponent Object Model (COM) support.

Delphi and itsC++ 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

[edit]

Delphi supportsrapid application development (RAD). Prominent features are a visual designer and twoapplication frameworks,Visual Component Library (VCL) for Windows andFireMonkey (FMX) for cross-platform development.

Delphi uses thePascal-based programming languageObject Pascal created byAnders Hejlsberg for Borland (now IDERA) as the successor to Turbo Pascal. It supports nativecross-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 ofComponent Object Model (COM) withreference counting class implementations, and support for many third-party components.Interface implementations can be delegated to fields or properties of classes. Message handlers are implemented by tagging amethod of aclass 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 groupFastCode.

Characteristics

[edit]

Delphi uses astrongly typedhigh-level programming language, intended to be easy to use and originally based on the earlier Object Pascal language.Pascal was originally developed as a general-purpose language "suitable for expressing the fundamental constructs known at the time in a concise and logical way", and "its implementation was to be efficient and competitive with existing FORTRAN compilers"[8] but without low-level programming facilities or access to hardware. Turbo Pascal and its descendants, including Delphi, support access to hardware and low-level programming, with the facility to incorporate code written inassembly language and other languages. Delphi'sobject-orientation features only class- and interface-basedpolymorphism.[9] Metaclasses are first class objects. Objects are references to the objects (as inJava), 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 locatememory leaks.

Delphi includes an integrated IDE. The Delphi products all ship with a run-time library (RTL) and aVisual Component Library (VCL), including most of its source code. Third-party components (sometimes with fullsource code) and tools to enhance the IDE or for other Delphi related development tasks are available, some free of charge. The IDE includes a GUI for localization and translation of created programs that may be deployed to a translator; there are also third-party tools with more features for this purpose. The VCL framework maintains a high level of source compatibility between versions, which simplifies updating existing source code to a newer Delphi version. Third-party libraries typically 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 ofdependency injection orinversion 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 isoptimizing and is asingle-pass compiler. It can optionally compile to a singleexecutable which does not requireDLLs. Delphi can also generate standard DLLs,ActiveX DLLs,COM automation servers andWindows services.

The Delphi IDEs since Delphi 2005 increasingly supportrefactoring features such as method extraction and the possibility to createUML models from the source code or to modify the source through changes made in the model.

Delphi has communities on theweb, where also its employees actively participate. And Delphi is using in collaboration with FireDAC components.

Backward compatibility

[edit]

Delphi is one of the languages where backward compatibility is close to 100%. Although each new release of Delphi attempts to keep as muchbackward 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

[edit]

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.
  • FireMonkey (later abbreviated FMX), was released in 2011, as part of Delphi XE2, together with an additional set of built-in compilers for non-Windows platforms. FireMonkey is a cross-platform framework for Windows, macOS, iOS, Android and Linux (x64). The GUI parts of FireMonkey are largely based on Direct3D and OpenGL. FireMonkey is not compatible with VCL; they are two separate frameworks. FireMonkey applications do, however, allow easy sharing of non-visual codeunits with VCL applications, enabling a lot of code to be ported or shared easily between the platforms.

Interoperability

[edit]

Delphi and itsC++ counterpart,C++Builder, are interoperable. They share many core components, notably the IDE, the VCL and FMX frameworks, and much of theruntime 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

[edit]
See also:Object Pascal § Delphi_and_Free_Pascal_version
programObjectPascalExample;typeTHelloWorld=classprocedurePut;end;procedureTHelloWorld.Put;beginWriteln('Hello, World!');end;varHelloWorld:THelloWorld;{ this is an implicit pointer }beginHelloWorld:=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

[edit]
SeeHistory of Delphi (software) for details on the progression of language and IDE development from 1995 to the present.

Uses in schools

[edit]

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

Roadmaps

[edit]

Embarcadero used to publish "roadmaps" describing their future development plans. The last one was published in November 2020.[12] Version 10.5 referred to in the November 2020 roadmap was renamed 11.0.Starting with Delphi 11, Embarcadero decided to no longer publish formal roadmaps. Instead, possible new features are now presented in a loose order through blog entries and online webinars. An important role has Marco Cantú (product manager) with hisblog.

Related software

[edit]
  • 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 onQt), 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.
  • RadPHP (later replaced with HTML5 Builder) was anIDE forPHP that provided true RAD functionality. It has a form designer similar to that of Delphi orVisual Basic, and an integrated debugger based on theApache web server. It also includes aVCL library ported to PHP. Unlike other IDEs, it supports Web 2.0 features such asAjax. 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 renamed Embarcadero Prism) derived from theOxygene language (formerly named Chrome) from RemObjects. It ran in the Microsoft Visual Studio IDE rather than RAD Studio. It was licensed and rebranded by Embarcadero to replace Delphi.NET when that product was discontinued.
  • Free Pascal is an open-source Pascalcross-platformcross-compiler that supports most of Delphi's Object Pascal code. Free Pascal also has its own language extensions, multiple compiler [language syntax] modes, and supports 18+ operating systems and 9+ processor architectures.[15]Lazarus is a cross-platform RAD IDE that uses the Free Pascal compiler.

Notable third-party libraries

[edit]

References

[edit]
  1. ^"Announcing the Availability of RAD Studio 12.3 Athens". 13 March 2025. Retrieved13 March 2025.
  2. ^"Installation Notes - Operating System Requirements".Archived from the original on 2020-08-06. Retrieved2020-09-05.
  3. ^William Buchanan (4 February 2003).Mastering Delphi Programming. Palgrave Macmillan. pp. 10–.ISBN 978-1-137-17356-0.[permanent dead link]
  4. ^"Performance Comparison from Delphi 2010 to XE6 (Part 2)". Riversoft AVG. 12 May 2014.Archived from the original on 26 July 2015. Retrieved9 March 2016.
  5. ^"The Delphi Geek: Built For Speed".Archived from the original on 23 March 2016. Retrieved9 March 2016.
  6. ^"Discussion on Hacker News about Delphi being alive". Hacker News.Archived from the original on 2 July 2016. Retrieved9 March 2016.
  7. ^"Delphi: App Development Product Editions".Embarcadero.Archived from the original on 14 March 2021. Retrieved13 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. Retrieved2016-01-12.
  9. ^Lingfeng Wang; Kay CHen Tan (20 January 2006).Modern Industrial Automation Software Design. John Wiley & Sons. pp. 113–.ISBN 978-0-471-77627-7.
  10. ^"List of Delphi language features and version in which they were introduced/deprecated". Stack Overflow.Archived from the original on 28 February 2016. Retrieved9 March 2016.
  11. ^Staff Writer."Embarcadero Delphi named developer language of choice for South African schools".Archived from the original on 2022-03-31. Retrieved2022-03-17.
  12. ^"RAD Studio November 2020 Roadmap PM Commentary". blogs.embarcadero.com. 17 November 2020.Archived from the original on 2020-11-28. Retrieved2020-11-27.
  13. ^"Borland Enterprise Studio".Archived from the original on 2002-02-05. Retrieved2002-02-05.
  14. ^"Kylix is here!". Archived fromthe original on 2019-09-04. Retrieved2020-09-05.
  15. ^"Free Pascal Homepage". freepascal.org.Archived from the original on 1999-01-25. Retrieved2016-04-27.

Further reading

[edit]

External links

[edit]
Dialects
Compilers
Current
Discontinued
API
Microcomputer
Comparisons
Designer
Related to
ALGOL (1958)
Modula-2 (1977)
Ada (1983)
Oberon (1986)
Modula-3 (1988)
Oberon-2 (1991)
Component Pascal (1991)
C,C++
Open source
Freeware
Retail
Discontinued
Java
Open source
Freeware
Retail
Discontinued
JavaScript
Open source
CLI (.NET)
Open source
Freeware
Retail
Discontinued
Flash
PHP
Open source
Proprietary
R
Python
Open source
Proprietary
Pascal,
Object Pascal
Open source
Freeware
Retail
Discontinued
BASIC
Open source
Freeware
Retail
Discontinued
Go
Open source
Freeware
Retail
Haxe
POP-11
Online
Qt
Open source
GTK
Open source
Proprietary
wxWidgets
Open source
CLI
Open source
Proprietary
VCL,
related
Open source,LCL
Proprietary
Cocoa
Proprietary
Java-based
Open source
Proprietary
Windows API
Open source
Proprietary
Other
Open source
Proprietary
Retrieved from "https://en.wikipedia.org/w/index.php?title=Delphi_(software)&oldid=1280398634"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp