Delphi is mainly used for the development of desktop and enterprise database applications, but it is a general-purpose software development tool suitable for most software projects.
Delphi 2007, the eleventh and latest version, supports the Delphi programming language (Object Pascal fork) and C++ for the 32 bit Microsoft Windows platform, and Delphi and C# for the Microsoft .NET platform. Delphi is distributed in various versions with different features and prices: Personal, Professional, Enterprise (formerly Client/Server) and Architect. Borland Kylix is a now discontinued equivalent to Delphi for the Linux platform.
Delphi and Kylix use the Pascal-based Delphi programming language, and compile Delphi source code into native x86 code or managed .NET code. They include the VCL/CLX (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.
Advantages
- Suitable for Rapid Application Development (RAD)
- Based on a well-designed language, high-level and strongly typed, but able to use low-level code for hardware access and performance(McConnell 1993:49)
- A large community on Usenet and the web (e.g. news://newsgroups.borland.com and Borland's web access to Delphi newsgroups)
- Can compile to a single executable, simplifying distribution and eliminating DLL version issues
- Many VCL (Visual Component Library) and third-party components (usually available with full source code) and tools (documentation, debug tools, etc.)
- Quick optimizing compiler also able to use assembler code
- Multiple platform native code from the same source code
- High level of source compatibility between versions
- Class helpers to bridge functionality available natively in the Delphi RTL
- The language's object orientation features only class- and interface-based polymorphism
- Delphi 2005, Delphi 2006 and Delphi 2007 all support advanced refactoring features such as Method Extraction, etc.
- Metaclasses are first class objects
- There are dedicated string types (as well as null-terminated strings). Strings can be added by using the '+' sign, rather than using functions.
- Objects are actually references to the objects (like in Java), which Delphi implicitly dereferences
- Delphi is strongly type-based.
- Delphi's compiler is extremely efficient and fast.
- Early adopter of "Dependency Injection" or "Inversion of Control". The VCL is a sophisticated "re-usable" component model, extensible by the developer.
Disadvantages
- Not a cross-platform tool. Only produces code for machines running Microsoft Windows. Kylix, which allowed Delphi code to be ported to Linux relatively easily, was discontinued.
- A reluctance to break any code has led to some convoluted language design choices, and orthogonality and predictability have suffered.
- Often mistaken for a database (only) front end designer (given rich database component set).
- Lack of Unicode support (to be remedied in next version)
- Lack of Win64 support (on the future version roadmap the 64 bit version is code-named 'Commodore')
- Lack of generics (to be remedied in next version, tentatively named Delphi 2009)
No comments:
Post a Comment