Embarcadero Delphi (often abbreviated as Delphi) is both an integrated development environment (IDE) and an object-oriented programming language.We are going to discuss delphi development in detail.
The Delphi IDE is a Windows-based IDE and published by Borland. At that time, creating graphics programs for Windows was mainly done using Visual C ++, Visual Basic or RAD tools. The first tool is extremely complex and the second is not very structured, Delphi then appeared as a viable alternative for many developers who wanted to create standard Windows programs.
In 2001, Borland released a Linux version of Delphi called Kylix, which did not know the success expected by the editor.
Delphi implements an object-oriented version of the Pascal language: Object Pascal renamed Delphi programming language on the changes made by Borland. The object of Delphi Pascal has several advantages that improve the productivity of the developer compared to C ++: strong typing, strict control of the compiler to avoid memory errors, overflow, the integrated handling of chains and dynamic matrices, etc. The compilation is performed in a single pass and there is no separation between the application and the interface as in C or C ++: generating a Delphi project is very fast, which has in its output the popularity of fast tool known for its record time compilation.
Although the Object Pascal introduces a multitude of interesting and innovative concepts (many were taken with C #), it suffers from known weaknesses. For example, it does not allow some features of object-oriented programming such as multiple class inheritance or the use of non-COM interfaces. Some functions, such as operator overload and generics, were introduced later (respectively with Delphi 2005 and Delphi 2009). On the other hand, its kinship with the Pascal repels many programmers more accustomed to programming styles near Java or C. Finally, it is neither standardized nor managed by an independent committee: Borland Property, the editor is the only one can decide the future and the addition of new features to the language. However, there are many compilers of Pascal, including Free Pascal.
The Delphi development environment
The development environment is based on a graphical user interface editor associated with a source code editor. It owes its success to its ease of use for the development of graphics applications and/or related databases. He was often compared to Microsoft Visual Basic for this ease of development.
The development environment auto-generates code to facilitate the work of the programmer. An automatic correspondence is maintained between the design view (window that the programmer constructs through the repository of graphics components) and the code editor (the view that shows the source code that will create these components at runtime). The specific data components are stored in DFM extension files as the source code is stored in Object Pascal in .pas extension files. While other languages (such as C # with Winforms) generate the necessary instructions for the creation of interface components and inject it into a section of the source code of the program, Delphi separates objects description of static data interface in the manner of XAML, and it is based on VCL routines for reading and presenting the interface at runtime.
The development interface allows the addition of third-party components (graphics or not) through a component system. Modularity is achieved in the design, but it can also be exploited in the execution by a dynamic loading system of execution packages, Borland has extended the concept of shared libraries and Windows DLL format by introducing a patented model to record Dynamic and export classes between modules. The same system will be assumed by Microsoft Visual Basic with VBX format and scale of the system with COM and ActiveX components.
Other branches of or in connection with Delphi Development
Kylix is very close to Delphi product (same principle, the same interface) that runs on Linux and allows you to create programs for this system. The same source code can be compiled in Linux and Windows (respectively Kylix and Delphi) through the use of CLX object library that uses the Qt graphics library using the same principle as the VCL. Today Borland abandoned the development of the Kylix CLX library but is still present in the new versions of Delphi.
Lázaro is a free EDI project for Free Pascal. Copy the widget and functions almost close to Delphi tool (and using it as one), the software associated with Free Pascal allows you to design projects 99% compatible with Delphi. Using some compilation directives, the code has the same oriented treatment (not using functions directly GUI) can be compiled with Delphi, Kylix and Free Pascal. The disadvantage of this software is linked to its novelty: a slight instability (largely offset by the automatic backup function) and the lack of widgets. The TFrame, the most used and very important component upgrade in Delphi, now works correctly. Finally, the official documentation is not as complete as that of Borland Delphi, but there are many sites overcomes this defect.
VCL component library
Delphi has an excellent library of visual and non-visual components, the Visual Component Library (VCL), the concept is similar to the MFC of Visual Studio. VCL allows among others to quickly draw a graphical application, hiding the complex calls to the Windows API. Since Delphi 1, the VCL has improved with each new version of Borland Delphi ensuring near-full compatibility in the library interface, which allows migrating projects by limiting rewriting the code.
C ++ Builder uses the same component library and has a “translator” Object Pascal to C ++, at least one C ++ that contains specific extensions understandable Borland C ++ by the brother of Delphi. Therefore, any Delphi code can be operated with C ++ Builder.