Delphi 25岁了!尽管它不再是很多 Windows 开发的明显选择,但它的“长寿”证明了其性能之高。回想起来,为什么 Delphi 当初未能占领 Windows 开发市场的更多份额呢?本文细数以 Delphi 为首的编程语言以及软件创作系统所经历的 25 年风雨,以此祭奠老 Delphi 程序员们已逝的青春。
作者 | Jon Lennart Aasenden
译者 | 弯月,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
以下为译文:
我想通过本文细数以Delphi为首的编程语言以及软件创作系统所经历的25年风雨。我应该从哪里开始呢?史无前例的面向对象?事件驱动架构?蓬勃发展的组件市场?还是从x86汇编语言扩展到高性能ARM移动应用程序的技术?
我不想简单地列出各项技术,而是想以一种更加个人化的方式来撰写这篇Delphi的文章。毕竟Delphi 25周岁了,人们喜欢在生日这天举行演讲和反思:回顾过往的一切,同时坚定地展望未来。
简而言之,我只能通过本文传达在我作为软件开发人员的一生中Delphi给予我的宝贵价值,而且我相信数百万的Delphi开发人员感同身受。
我希望通过这篇文章,将我的想法传给现在刚开始学习Delphi的许多学生。希望为你们的学习提供一些有营养的见解,并希望你们能和我一样深爱Delphi。
Delphi 的起源
1990年初,计算机市场与今天相比有着截然不同的格局。在斯堪的纳维亚半岛和北欧,Commodore和IBM等公司仍然占据着家用台式机的市场。但是在短短的三年之内,IBM的OS/2就被微软的Windows淘汰了,而曾经的巨头Commodore也陷入了其不可避免的痛苦局面,这两家都无法或不愿意适应当时兴起的新业务模式。在同样动荡的1993年,微软和IBM正式分道扬镳,IBM转向了大型机及其PPC芯片组体系结构,后者在接下来的十年甚至更长的时间里一直是Macintosh计算机的核心。
我提到这些公司的原因是为了让你了解当时市场的混乱状况。对于像我这样的年轻学生来说,根本不可能知道应该在哪种技术上投入精力。我的编码生涯是从Commodore Amiga版本的Turbo Pascal开始的,该版本由英国公司Hi-Soft发布,称为High-Speed Pascal。当时,我还是工程系的新生,在学校里,我们主要使用Turbo Pascal和DBase。可惜当时的PC机非常昂贵,我没钱花4000美元购买PC,于是花了700美元买了一台Commodore Amiga。我觉得,Pascal编译器的价格约为$99,这对于一个努力维持生计的穷学生来说,可以省不少钱。
1994年的时候,我使用的编译器不能用了,很明显Commodore再也未能东山再起。值得庆幸的是,我忍无可忍,终于下血本买了第一台带有Turbo Pascal的PC机。我很高兴买了这台机器,因为第二年Delphi就发布了。
每当我提到Delphi曾经以及将来对我的影响,我一点都没有夸张。Delphi自问世以来,对整个软件开发行业的影响是巨大的。Delphi以及在此之前的Turbo Pascal,开创了许多当今开发人员认为理所当然的技术,甚至包括快速应用程序开发(Rapid Application Development,即RAD)周期本身。在Delphi之前,人们的目光都聚焦在投资回报率(ROI)和上市时间(TTM)上,编程语言带来的变化微乎其微。但是,当Delphi出现以后,时间和金钱的投入都非常清晰明确了,因为Delphi带来了颠覆性的变革(对于其竞争对手来说)。
因此,在90年代初期技术的战国时代,Delphi成为了最大的赢家。当之无愧。
飞跃发展
思想和观念的进化概念一直让我十分着迷。我经常在文章中提到这个概念。
我们总是认为进化是一个缓慢、渐进和线性的过程。但是当涉及到想法,尤其是技术时,我的经验是,好的技术会以快速、出乎意料的飞跃向前发展。孵化时间可能会有所不同,但最终在某种力量的推动下就会飞速向前。
1995年,Delphi进入市场时远远领先于竞争对手,人们发现Delphi很难学。但事件驱动编程的概念已经出现很长时间了(例如Visual Basic),因此Delphi并不是在真空中孵化的。虽然有一些C/C 编译器也发展出了Delphi带进大众视野的语言功能,但是它们都缺乏Delphi的简单性和优雅性。
在伴随我长大的Commodore机器上,有很多软件支持拖放式表单设计,而且在某种程度上编程也采用了类似的方法(尽管处于更原始的状态)。但是,Delph的独特之处在于,没有公司将这些想法融合为一个连贯的整体。我从未见过VCL框架之类的东西,或能够与你的代码如此紧密地集成的IDE。
一款功能强大的编译器将所有这些元素组合在一起,比其他的编译器要早很多年。如今的C/C 编译器(从Pascal开发人员的角度来看)绝对非常强大,但是视觉设计在很大程度上需要独立完成(Borland C/C 具有类似OWL的框架,因此UI可以通过代码完成) 。因此,在竞争产品中,例如Wacom(1984~2010)或Storm C (1995~2016),你需要在一个程序中创建UI,然后将这些设计作为资源文件导入到C/C 项目中,与如今的苹果.nib文件没有什么不同。只有完成这些,你才可以开始构建程序。有的代码可能只需5分钟,而有的代码中该过程很容易超过5个小时。即使是很小的UI改动,也需要花几分钟才能生成代码和做链接。
Delphi强大的编译器和智能链接器可以将这个过程减少到几秒钟。这是十多年来世界上最快的编译器。它的速度如此之快,以至于大多数开发人员将编译功能当作一种快速检查繁琐的语法的方式。这对于其他语言来说都是不可想象的。