DELPHI Embarcadero
Embarcadero Delphi, formerly CodeGear Delphi, Inprise Delphi and Borland Delphi, is an integrated development environment for Microsoft Windows applications originally developed by Borland and now owned and developed by Embarcadero Technologies. It utilizes a dialect of the Object Pascal programming language known as Delphi. Delphi XE is the most recent version and is distributed in four different editions: Starter, Professional, Enterprise and Architect.
History Delphi was originally a confidential research project at Borland which evolved into a product that was to be called AppBuilder. Shortly before the first release of Borland's AppBuilder, Novell AppBuilder was released, leaving Borland in need of a new name. Developer Danny Thorpe chose the Delphi codename in reference to the Oracle at Delphi. One of the original goals of Delphi 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, the name grew on them and there was growing support within Borland for the name Delphi. The chief architect behind Delphi was Anders Hejlsberg, who had developed Turbo Pascal. He moved to Microsoft in 1996.
Distinguishing features Delphi pioneered the era of rapid application development by introducing critical features like application framework and visual window layout designer that drastically reduced application prototyping times.[citation needed] Delphi uses the Pascal-based programming language called Object Pascal, and compiles Delphi source code into native x86 code. They include the VCL (Visual Component Library), support for COM independent interfaces with reference counted class implementations, and support for a large number of third-party components. 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. A strong emphasis is placed on database connectivity and Delphi offers a rich database component set. The Visual Component Library (VCL) contains a large library of database aware controls, and database access components. More recent versions have including upgraded and enhanced Runtime Library routines provided by the community group FastCode.
Advantages Delphi is a strongly typed high-level programming language, intended to be easy to use and originally based on the earlier Object Pascal language. Delphi, in contrast to traditional Pascal, was not primarily designed for education purposes. In addition to high-level language features Delphi also supports low level programming by allowing assembler parts and the notation of direct CPU opcodes is also possible. The language's object orientation features only class- and interface-based polymorphism. Metaclasses are first class objects. Objects are actually references to the objects (as in Java) which Delphi implicitly dereferences, so there's usually no need to manually allocate memory for pointers to objects or similar techniques needed in some other languages. There are dedicated reference counted string types (as well as null-terminated strings). Strings can be concatenated by using the '+' operator, rather than using functions. For those dedicated string types, no manual memory management is necessary as the memory manager handles this. The improved memory manager introduced with Borland Developer Studio 2006 now provides functions to track down memory leaks. The language is suitable for Rapid Application Development (RAD) and comes with an integrated IDE. The Delphi products all ship with a large framework called VCL (Visual Component Library) including most of its source code. Third-party components (usually available with full source code) are available on the market as well as tools to enhance the IDE or for other Delphi related development tasks. The IDE includes a GUI for localization and translation of created programs which may be deployed to a translator at no additional cost. (Some developers prefer to use 3rd party products for this purpose as they often have more functionality.) The VCL framework maintains a high level of source compatibility between versions which means one can upgrade existing source code easily in most cases to a newer Delphi version. 3rd party libraries either need updates from the vendor or if source code is available a simple recompilation with the newer version may be sufficient. The VCL was an early adopter of Dependency injection or Inversion of Control. The VCL is a sophisticated "re-usable" component model, extensible by the developer. With class helpers one can introduce new functionality to core RTL and VCL classes without changing the original source code of the RTL or VCL. The quick optimizing single pass compiler can compile to a single executable, thus simplifying distribution and eliminating DLL version issues. Standard DLLs, ActiveX DLLs, COM Automation servers and Windows services can also be created in Delphi. The Delphi IDEs since Delphi 2005 increasingly support refactoring features such as method extraction, etc. and the possibility to create UML models from the source code or to modify the source through changes made in the model. Delphi has large communities on Usenet and the web (e.g. news://newsgroups.codegear.com) which help solving problems of individual developers. Many Codegear employees actively participate in those communities. A voluntary team (TeamB) also helps out. Backward compatibility Each new release of Delphi attempts to keep as much backwards compatibility as possible. This allows users to build legacy code without worrying about any broken interfaces or functionality.
Limitations Now 64-bit is only supported as Beta As of version XE, Delphi creates 32-bit native applications only; it is not possible to write 64-bit native Windows applications. Delphi cannot be used to write plug-ins for 64-bit third-party applications and services, such as Windows Explorer. For example, Total Commander (which is written in Delphi) currently uses a Lazarus-compiled x64 wrapper for x64 shell extensions. Delphi support for 64-bit applications has been planned for some years, but has been postponed several times. The x64 compiler preview (with VCL) was released on April 6, 2011. XE release, currently codenamed as "Project Pulsar" will add x64 compiler for the first time. However, as of May 2011, there are no plans to add x64 support for anything but Windows applications in the next release. Support for x64 MacOS is currently planned for Wheelhouse; and Commodore (note: the name is a reference to Commodore64) will have full x64 support (including Linux).
Not cross platform Delphi is, in itself, not a cross-platform tool. The latest Delphi release contains Delphi Prism which can be used to develop .NET applications. A cross-platform system, codenamed Project X, was shown on the roadmap in 2008, and had been planned for a while. The XE2 release will include a compiler for MacOS (x86 only) for the first time. Linux support is currently planned for Wheelhouse. Note that Delphi developers learnt from their failure with Kylix, and there are not plans for porting the RAD environment to any other platform. Newer versions will compile and build applications for other platforms, and Delphi will have an integrated remote debugger for such applications, yet RAD environment will remain Windows-only up to at least Commodore (which is planned for 2013). Lazarus, an open source system designed to be very compatible with Delphi which contains the most used VCL Components of Delphi, is cross-platform across Linux, Mac OS and Windows.
x86 CPUs only Currently Delphi compiler supports only Intel x86 architecture, yet there are plans to add ARM support probably in Commodore or after. Multi-threaded applications Delphi does not offer any means to simplify development of multi-threaded applications. Any improvement on this issue is unlikely to be expected before Commodore.
Backward compatibility Each new release of Delphi attempts to keep as much backwards compatibility as possible to allow developers to continue to use legacy code without incompatibility of interfaces or functionality. This does to some extent restrict the evolution of the Delphi language; the design of the standard class libraries (VCL/RTL) has become somewhat dated[citation needed]. Delphi developers are aware of this problem, and Embarcadero is currently developing a whole new compiler and a brand new VCL cross-platform replacement, which may be included in Delphi starting from Wheelhouse. This replacement will be Direct3D/OpenGL based, with an aim to use contemporary GPU features like pixel shaders etc.
Aucun commentaire:
Enregistrer un commentaire