诞生于1995年的 Delphi 现在已经 26 岁了。1995年2月14日,Borland 公司推出了面向开发者的新工具——Delphi,旨在接替 DOS 时代盛行一时的 Turbo Pascal。
说到这两款产品必然离不开它们的灵魂人物——Anders Hejlsberg,他编写了 Turbo Pascal 第一个版本的编译器,加入 Borland 后继续开发 Turbo Pascal,并带领小组设计了 Turbo Pascal 的继任产品 Delphi。Anders Hejlsberg 还担任了 Turbo Pascal 所有版本与 Delphi 前 3 个大版本的架构师。
▲ 左为 Anders Hejlsberg(另外两位也是大牛,猜猜是谁 : )
为庆祝 Delphi 诞生 26 周年,Delphi 产品经理 Marco Cantu 发表了一篇回顾 Delphi 的文章,文章选取了 13 组图片,每组图片包含 26 年前和现在的对比。
1. Windows in 1995
Delphi 于1995年发布时,最常用的 PC 操作系统是 Windows 3.1(以及支持网络的 Windows 3.11),下面是在虚拟机运行 Windows 3.1 的截图。
2. Windows in 2021
下图是 Windows 10,也是 Marco Cantu 主力使用的桌面 PC 当前安装的版本。可以看到,无论是系统界面,还是计算机的硬件功能都发生了巨大变化。
3. Delphi 1 界面外观
26年前发布的初代 Delphi IDE 用户界面。
4. Delphi 10.4.1 IDE
今天的 Delphi 用户界面(使用了怀旧风格的样式)。
5. 互联网起步阶段
互联网刚刚兴起的时候,最受 Delphi 开发者欢迎的论坛是 Compuserve,当然这是“资深”程序员才会感同身受的体验。
6. 互联网现在无处不在
下面这些数据足以看出我们对互联网和网络的依赖,数据来自 https://www.internetlivestats.com/。
7. 手机打来的电话还有很多
Marco Cantu 表示自己在1995年的时候好像还没有手机。当时的手机长这样(爱立信 GH688):
8. 现在智能手机比我们拥有的计算机功能更强大
现代人缺少手机几乎不能生活,目前的手机大多数都是多核电脑,内存比当年的 PC 还大,而且它们可以运行 Delphi 应用程序。
9. Delphi 1 的窗口是一个 TForm
早期的时候,Delphi TForm(和其他 TWinControl 类一样)封装了来自 user.dll 的 Windows 句柄,表单操作调用 Windows API 并触发系统消息。Delphi 是可视化的(见下图),但具有核心的 OOP 结构——应用程序表单继承自基础 TForm 类。
10. 窗口仍然是 TForm(或者 VCL + FMX)
如今,表单仍然是应用程序的基础,无论是 VCL(见下面最开始的基类定义)还是 FireMonkey,在这种情况下,表单都映射到 Windows、macOS、iOS、Android 或 Linux 的 UI 元素。
11. 电子游戏起步阶段
1995年,电子游戏处于起步阶段。
12. 现在电子和在线游戏拥有巨大的市场
下图是一款用 Delphi 编写的手机游戏,详情查看此博客。
13. 在 Delphi 1 中编写计数到 26 的程序
下面是可以在1995年编写的用于在 Delphi 中对数字进行计数的代码,以及由此产生的简单应用程序。
14. 与现在用 Delphi 编写同样的程序并无二致
现在可以用 VCL 或 FireMonkey 编写和编译相同的代码,但也可以利用 Delphi 语言的新特性来编写,如下图所示。
15. 曾经使用的数据库是 Paradox, DBase, Clipper, FoxPro
Delphi 曾因其与数据库具备通信功能而被人熟知 (Oracle + Delphi),它有一个向导,可以轻易地创建数据库应用程序。
16. 现在的数据是 Oracle, SQL Server, Azure, AWS, REST API……
现在可以使用 FireDAC 和许多其他库来访问 Delphi 中的数据,但是数据不再仅存在于数据库中。查看通过 Delphi 的 REST Debugger 获取 rest API 数据的博客。
17. Marco Cantu 在1995年拍摄的照片(Delphi 发布后几天)
18. Marco Cantu 一个月前拍摄的照片
19. RAD 是一场革命
Delphi 提供了(现在仍提供)快速可视化设计(如之前的 VB)和强大的 OOP 框架的独特组合,从而允许在同一环境中以无缝的方式调用和编写组件。下面是早期的广告:
20. Delphi 依旧提升开发效率
尽管诞生了许多其他的编程风格,开发者仍可在 Delphi 中使用任何高级模式(MVVM、IoC 等),Delphi 继续提升开发者的生产力。
21. 26年前技术书籍非常重要,因为开发者无法通过 Google 搜索课程名称或在 Stack Overflow 上进行查找
下面是早期的 Delphi 技术书籍:
22. 现在技术书籍仍然十分重要,无论是电子书或是纸质书
技术类书籍的市场小了很多,也跟之前大有不同,不过书籍仍在印刷。
23. VCL 是 WinAPI 最优秀的库
当时没有其他类库与 Windows API 很好地集成,微软的 MFC 和 WinForms 也从未达到 VCL 的质量和完整性。下面是 VCL 库的层次结构。
24. VCL 是 WinAPI, COM integration, WinRT 以及即将到来的 Project Reunion 最优秀的库
VCL 库不断扩展,截至目前封装了 Windows APIs、COM 和 shell 对象、以及 WinRT platform API。开发团队也一直在添加新的组件并映射到新的 API。VCL 已经拥抱微软 Project Reunion,未来将会提供更加丰富的功能。下面是 VCL 风格的应用程序。
25. 26年前的 Delphi 使用起来很有趣
对于开发者来说,Delphi 具有很多使用乐趣,让人乐于其中。下面是 Delphi 架构师 Anders Hejlsberg 在 Delphi1 埋下的复活节彩蛋。
26. 现在 Delphi 使用起来仍然很有趣
今天的 Delphi 也仍然很有趣,它拥有有一个活跃的社区,以及许多才华横溢的 MVP。上一个版本的 Delphi 也埋了一个彩蛋来庆祝 25 周年纪念。
最后回顾一下 Delphi 的历史:
相关链接
https://www.oschina.net/news/130871/26-years-of-delphi