About Delphi

CodeGear Delphi (formerly known as Borland Delphi) is a software development package currently produced by Embarcadero Technologies (On May 7th 2008 Borland Software Corporation announced that its software development tools division, CodeGear, was to be sold to Embarcadero Technologies for an expected $23 million price and $7 million in CodeGear accounts receivables retained by Borland. The acquisition closed on 30 June 2008 for approximately $24.5 million).

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)
Source: Wikipedia

No comments: