Delphi
维基百科,自由的百科全书
Delphi,是美国Borland(宝兰)公司於1995年开发在Windows平台下的快速应用程式开发工具(Rapid Application Development,简称RAD),它的前身是在DOS下的产品Borland Turbo Pascal。
从产品名称上就可以知道,Turbo Pascal使用的是Pascal语言。 从Turbo Pascal 5.5版本开始,Borland公司在传统Pascal的基础上加入了面向对象的功能。
Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal语言,通过图形用户界面(Graphical User Interface,简称GUI)作为开发环境,透過IDE與VCL工具與編譯器,配合連結資料庫的功能,作成一個以面向对象设计為中心的開發工具。Delphi程式撰寫後所編譯的執行檔,可以獨立執行,容量較大些,但效能上卻比較快,除了使用資料庫的程式外不需安裝即可執行,使用上相當方便。
它在本质上是一个代码编辑器而不是一种语言,但是由于Delphi是几乎是目前市场上唯一一个使用Pascal语言並持續推出新版的产品,因此有的时候人们称呼Delphi为Object Pascal的代名词。因此Borland公司已经把Object Pascal语言改称为Delphi语言。2006,Borland把开发工具产品线独立出来,成立了一家新的公司CodeGear负责。原本的Delphi一度被命名位Turbo Delphi。但是在新的版本中,除了Delphi for Win32(原有的Delphi版本)之外,还有一个新的产品被命名为Delphi for PHP。因此,在目前的CodeGear的发展规划中,或许“Delphi”这个名称不再是ObjectPascal语言的专有IDE,而是将被扩展为一个通用的IDE名称。
Borland Delphi 目前的最新版本是2007。
目录 |
[编辑] 技术特点
[编辑] 编译器
Delphi 1、2版本基本沿用了DOS时代下由Anders Hejlsberg使用汇编语言编写的Turbo Pascal编译器(由於品质良好,於是几乎没有工程师随意改动这些程序代码)。
从 Delphi 3 开始Danny Thorpe修改了Delphi的编译器,接支持COM接口的引用计数值(Reference Count)的维护工作,以免除开发者繁杂的程序代码。同时Danny也在Object Pascal程序语言本身中加入接口(Interface)的机制,让Object Pascal和Java一样对接口程序设计都提供First Class的支持。Delphi 1/2中Object Pascal变化的部分很少,但是从Delphi 3之后,每一新版的Delphi在Object Pascal程序语言本身都有进步。
与同时代的产品相比,它最大的优势就是不但提高了编程效率,而且在提高编译速度的同时也保证了生成的机器码的高效。
[编辑] VCL
每一种开发工具仅仅有语言是不够的,还需要一个完备的函数库/类库。Delphi 使用的类库是VCL(Visual Component Library)。同MFC 、OWL一样, VCL 也是一个开发框架(Framework),采用了面向对象技术对Windows的开发进行了封装,使用PME(Property/Method/Event)的开发模式,极大的提高了开发效率。
[编辑] 跨平台开发
在Delphi 7之後支援Linux下使用对应的Kylix,目前Kylix的最新版本为3。Borland公司为了支持Delphi的跨平台开发,从Delphi 6.0开始加入了另外一个开发框架CLX。开发人员可以使用CLX框架开发出可以在Kylix中编译的程序。但是從Delphi 8開始,Delphi的後續版本中並不再提供對CLX的支援。
- .NET 支持
2003年推出的Delphi从8.0版本开始正式支持微软公司的.NET平台。Delphi9 via Delphi 2005将Delphi包容在一个IDE环境中(同时也支持C#)。由於提供了.Net Framework的CLR,因此可以使用Delphi的程式碼編譯成和.NET相同的執行碼,也可使用.NET的各項Library,程式設計上更有彈性。
[编辑] 分散式應用系統
應用程式開發團隊每位成員不見得用同一套開發工具,因此Delphi支援COM/DCOM與CORBA,可供Delphi設計人員使用Visual C++、Visual BASIC的ActiveX元件,或使用DCOM、CORBA的功能讓JAVA應用程式取用其共享功能。
[编辑] 版本历史
| 年份 | 版本 | 特点 |
|---|---|---|
| 1995 | 1.0 | 支持16位Windows开发。基于框架(VCL)的,可拖曳、可视化的开发环境 |
| 1996 | 2.0 | 以32位编译器为核心,支持C/S数据库开发 |
| 1997 | 3.0 | 语法:加入接口(Interface)的机制。IDE:首次提供了(Code Insight) |
| 1998 | 4.0 | 语法:加入动态数组和方法覆盖等支持。IDE:增强调试能力,提供代码模板 |
| 1999 | 5.0 | 增强了IDE和调试器,提供了TeamSource。简化Internet的开发,增强数据库支持 |
| 2001 | 6.0 | 提供了Web Service。跨平台的Kylix 1.0和CLX |
| 2002 | 7.0 | 提供了.NET的过渡,增强的Internet开发(IntraWeb),完善数据库支持,增加了Indy網路元件和Rave Report資料庫報表,並且支援UML及XP的程式製作。 |
| 2003 | 8.0 | 单纯的for .NET版本,拥有C#的能力,保留了Delphi的易用性(业内视为一个过渡版本) |
| 2004 | 9.0 | 正式名称:Delphi 2005。语法:加入了inline及for in loop等功能。IDE:把Borland Delphi.Net、Borland Delphi Win32、Borland C#、Enterprise Core Objects等环境和功能集成成一个开发工具,因此可以在Win32和.NET開發環境中切換或同時進行 |
| 2005 | 10.0 | 發佈名稱:Borland Developer Studio(BDS) 2006。集成C++ Builder; ECO(Enterprise Core Objects)升級到ECO III; 集成Together for Delphi,可以在同一個IDE中進行UML開發;QA Audits和QA Metrics可以快速的把握專案的設計和代碼的質量。 |
| 2006 | Turbo | Borland將BDS 2006拆分成幾個獨立的版本(Delphi for win32、Delphi for .net、C#、C++ Builder),而且不能同時安裝兩個不同的版本。由於Borland的IDE生産部份獨立成為一家名為codegear的公司,所以這個版本是以Borland名義推出的最後一個版本。 |
| 2007 | 11.0 | 正式名称:CodeGear RAD Studio - Delphi 2007。 |
[编辑] 参见
[编辑] 外部連結
- Virtual Pascal 官方網站:和 Delphi、Lazarus 同為視覺整合開發環境。
[编辑] 参考書籍
|
|
|
|---|---|
| 工业编程语言 | A+ - ActionScript - Ada - 汇编语言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JScript - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
| C/C++语言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- C++/CLI - Objective-C - Microsoft Visual C++ |
| BASIC语言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC -ETBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
| Pascal/Delphi语言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
| GPU用著色器語言 | Cg - GLSL - HLSL |
| 学术编程语言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
| 資料庫相關编程语言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
| 其他编程语言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |

