|
Delphi occurs as programming language and Integrated Development Environment (IDE). These are by Borland (known for a instance when Inprise). A Delphi language, at one time called Object Pascal (Pascal with object-oriented extensions) originally targeted only Microsoft Windows, but at present builds native applications for Linux and the Microsoft .NET framework as well (see below).
Development Environment
Programming language
the independent identifying features of Delphi & Kylix from either more IDEs come a Delphi language, a VCL/CLX (Visual Component Library), heavy emphasis in database connectivity, & a big total of third person components.
Notable aspects of the Delphi language include:
Transparent treating of objects as references/pointers
Built-around managed types such as strings, dynamic arrays, variants, & interfaces
Properties when a share of the language; that is, member getters & setters (aka accessors and mutators), which transparently encapsulate the access to member fields
Index Properties & Default Properties to provide access to collections
Delegates aka nature and severity safe method pointers which are then utilized to wire a cases triggered per components
Delegation of interface implementation to a field or even property of the class
Implementation of Windows message handlers by tagging a method of the class sustaining the number/name of the windows message to handle
COM independent interfaces with reference counted class implementations
Pros and cons
Delphi exhibits a charted benefits:
Rapid Application Development (RAD).
Based in the easily-designed language.
A big community in Usenet and the web (e.g., news://forums.borland.com and [http://info.borland.com/newsgroups/ng_delphi.html Borland's web access to Delphi newsgroups]).
Can compile to one practicable, simplifying distribution & reducing dll versioning issues.
Many VCL & third-person components (commonly available by using to the full source code) and information (documentation, debug information, etc.).
Quick optimizing compiler & ability to apply assembly program code.
Multiple platform native code from either a equivalent source code.
High level of source compatibility between versions.
[http://crosskylix.untergrund.net/ CrossKylix] - a third-person toolkit which allows your family to compile native Kylix/Linux applications from either in the Windows Delphi IDE, hence well enabling dual-platform development & deployment.
[http://crossfpc.untergrund.net/ CrossFPC] - the sister task to CrossKylix, which enables that you to cross-compile the Windows Delphi applications to multi-platform targets - supported per Free Pascal compiler - without ever allowing a Delphi IDE.
A below come disadvantages:
Partial individual seller lock-inside (Borland alone potty placed a language standard, a compatibles stand to watch).
Limited cross-platform capability for Delphi itself. Compatibles provide supplementary architecture/OS combinations.
Access to platform & third person libraries demand header files to become translated to Pascal.
Documentation of platforms & techniques difficult to buy inside Pascal language (e.g., access to COM & WIN32).
Persistent doubts just about a long-long-run new of Borland have made its products seem bay of the risky proposition for numerous employers, leading to shrinkage of the job market for Delphi computer programmer.
Clones and alternatives
When non existence the directly substitute for the entire product Delphi itself, there are the total of efforts that strive to exist as just about language compatible & require Delphi code to web pages in which Delphi & Kylix itself could does'nt email.
These could develop Delphi code heading within ways non conceivable sustaining Delphi (like supporting different operating systems, loose distribution & training apply, & permitting examination of the compiler source) & leave a select few vender independence. Which are actually usually utilized educationally & for a server area of Delphi apps going in non-mainstream operating systems; virtually all experienced Linux trend lines years prior to Kylix.
[http://www.bloodshed.net/devpascal.html Bloodshed Dev-Pascal] The super polished in writing 32-bit Windows editor (though non RAD) as a frontend for each GNU Pascal & Yours free! Pascal.
Free Pascal A commandline compiler that aims source compatibility with a core feature placed of each a Turbo Pascal & Delphi idiom. A todays version is Deuce.Zero(.Cypher), which are then extremely Delphi6/7 compatible. Operates in virtually all x86 operating systems. Supports Linux, Mac OS and Mac OS X (including an Xcode implementation) on PowerPC family, and Linux on AMD64. SPARC and Acorn RISC Machine (ARM) architectures are working & formally freed but not 100% prevent-user quick eventually.
Lazarus [http://lazarus.freepascal.org] is an effort to build a RAD in top of Absolutely free! Pascal. A internal classes hierarchy might base itself in many graphical toolkits. A independent toolkits come GTK1 and Win32, and GTK2 has already come an extended way. From time to time humans need QT and wxWidgets, but an apparent want of interest prevents a implementation one toolkits.
[http://crossfpc.untergrund.net/ CrossFPC] - a loose toolkit to integrate the Free Pascal compiler, targetting various OS and devices platforms, into a Windows Delphi IDE. Understand sir thomas more just about it from either [http://www.codecomments.com/Kylix/message541921.html this mailing list discussion].
[http://www.gnu-pascal.de GNU Pascal] (Singly distributed a share of the GNU Compiler Collection) While formally non aimed at the Borl& accent of Pascal, it does contain a Borland Pascal compatibility mode, and is very slowly riveting Delphi language features, though non eventually directly suitable for recompiling big bodies of Delphi code. These are a virtually all prolific compiler within terms of operating systems & processors though, & so deserves mentioning as a pis aller.
[http://www.carlo-kok.com/ InnerFuse] occurs as Delphi interpreter for embedding within applications. These are rumoured to act by using many of the option as well.
[http://sibyl.netlabs.org OpenSibyl] is the second effort to build a RAD in top of Yours free! Pascal. however these are geared towards OS/2, & still around initial stages.
[http://www.dcs.gla.ac.uk/~wpc/reports/compilers/compilerindex/Doc2.html Vector Pascal] Vector Pascal occurs when language targeted at SIMD instruction sets like a MMX & a AMD 3d At present, supporting everthing Intel & AMD processors, besides as a Sony Playstation Trio Emotion Engine.
Virtual Pascal is the x86 32-bit Turbo Pascal & Delphi compatible compiler principally aimed at OS/2 & Windows, though it developed a DOS+Extender and an experimental Linux cross-compiler as well. A compiler is stuck on a level of astir Delphi V2, & the places hasn't changed significantly within 2 years, & development of Virtual Pascal has stopped. Yet, of a loose option, these are however a 1 by having the better polished IDE & debugger though Yours free! Pascal is having closer & closer.
[http://www.dwp42.org/ WDOSX] occurs as Win32 API-emulating DOS extender that can be utilized for Delphi console applications running off in manifestly DOS.
[http://www.winsoft.sk/pstudio.htm Winsoft Pocket Studio] aims to compile strip Delphi code to PDAs.
Documentation
Delphi Creator documentation from either Borland:
[http://info.borland.com/techpubs/delphi/ Delphi Developer's Guide]
Object Pascal Language Guide
[http://info.borland.com/techpubs/delphi/delphi5/ Delphi 5 "Object Pascal Language Guide"] ([ftp://ftp.borland.com/pub/delphi/techpubs/delphi5/oplg.zip PDF], [ftp://ftp.borland.com/pub/delphi/techpubs/delphi5/d5oplr.zip Windows Help])
[ftp://ftpc.borland.com/pub/delphi/techpubs/delphi1/objlang.zip Delphi 1.0 Object Pascal Language Reference Guide]
[http://community.borland.com/soapbox/techvoyage/article/1,1795,10280,00.html Object Pascal Style Guide]
VCL/CLX Reference
[ftp://ftpc.borland.com/pub/delphi/devsupport/general/delphi1/vclref.zip Delphi 1.0 Visual Component Library Reference]
Thomas more from either [http://info.borland.com/devsupport/delphi/downloads/ Delphi Developer Support] subdivision ([ftp://ftpc.borland.com/pub/delphi/techpubs/ FTP archives]).
|