25 岁的老 Delphi,还值得程序员入手吗?2021年我的公司将继续用Delphi 10.4.1开发跨平台的视频会议应用软件

我今年有两个周年纪念。Delphi在2月14日满25岁,而我在下个月又满25岁了。因此,相对于我在Delphi和Pascal之前的25年工作经验,现在是时候(过早)进行个人介绍了。谁知道,也许您会发现自己的生活有些相似之处……

开始

我对计算机的迷恋始于1980年代初期,当时我的朋友们接触了Atari 2600和BBC Micro。这些机器对我来说真是神奇(就像克拉克先生所说的那样,是任何足够先进的技术)。

我想知道计算机是如何工作的,所以我省下了零用钱买了Commodore64。在那些日子里,除非您知道如何编码,否则家用计算机几乎没有用。因此开始了我对编程的兴趣。那时所有的机器都是BASIC。但是,我从未忘记您何时可以使机器执行您想要的事情并在电视屏幕上产生某些东西的感觉。在开发Delphi FireMonkey控件或编写GLSL或HLSL着色器时,我仍然会偶尔感到这种感觉。或在创建一种压缩算法时,可以神奇地将数据缩减到原始大小的一小部分。

Pascal时代

1986年对我来说是关键的一年。那是推出MSX2家用计算机的年份(MS实际代表Microsoft)。它是带有Z80 CPU的8位计算机,在欧洲和日本非常流行。它具有高分辨率(512 x 424)的彩色图形,并可选配这种称为鼠标和基本图形操作系统的外围设备,以及称为Philips Ease的“办公套件”。

但是对我而言,最大的变化是对名为MSX-DOS的操作系统和运行于其上的Turbo Pascal(3.3)编程语言的支持。这种语言使用的是编译器,而不是解释器,我当时发现它是革命性的。而且该语言比BASIC更加整洁和强大。

另外,Turbo Pascal附带了一个称为IDE的东西,这使得该语言的使用更加轻松愉快。到目前为止,在Delphi方面,语言和IDE之间的界线仍然有些模糊。

Pascal很快成为我的选择语言。我开始在《荷兰MSX俱乐部》杂志上撰写有关Turbo Pascal的文章。我甚至为那本杂志出版了几款游戏,以及成为该杂志的一位游戏编辑。

然后PC革命,并在1990年代初开始转向16位CPU。Turbo Pascal语言在那时具有自己的革命性:它在Turbo Pascal 5.5中引入了面向对象的编程。我记得这个概念太新了,对我来说很奇怪,但是我立即知道这是未来。虽然花了一些时间将我的头缠住。

后来,(重命名的)Borland Pascal 7又发生了另一次革命:用于DOS的Turbo Vision用户界面框架。它介绍了事件驱动编程的新概念。

在那个时候,尽管我没有接受过计算机编程方面的正规教育,但我还是开始专业地与Pascal合作。我的专业是信息管理,但是我的爱好始终是动手编程。我使用Borland Pascal和Turbo Vision来帮助开发用于计算和设计退休金计划的应用程序。

然后,随着Windows 3.1的普及,我简要地试用了Windows的Turbo Pascal和Object Windows库。但是很快就出现了更强大的解决方案……

Delphi时代

Delphi 1是又一次真正的革命。它通过拖放式GUI构建器和事件驱动的交互模型引入了Pascal语言的快速应用程序开发。它还带有Windows上功能强大的IDE和集成调试器。它进一步模糊了语言和IDE之间的区别:德尔菲(Delphi)一词同时指代语言和IDE。我专业地使用了Delphi 1来创建一个应用程序,以图形方式分析股票市场,以帮助选择退休金。

但是用于16位Windows的Delphi是短暂的。随着Windows 95成为最流行的操作系统,Delphi也随Delphi 2切换到了32位。但是,它仍然存在一些问题,因此我开始使用Delphi 3进行32位切换。

在那些年里,资深的Delphi程序员都知道:偶数编号的Delphi版本被认为稳定性稍逊一筹。我不知道那是不是故意的……

对我来说,Delphi 3带来了另一项革命:对象接口的引入。该语言功能主要是为了与Microsoft的组件对象模型(COM)互操作而设计的,但是我们很快就看到了COM之外的好处,并开始自行使用它。Delphi的实现使用自动参考计数代替手动参考计数。这一举动是天才,使COM与Delphi最初设计时所使用的C和C ++相比,使用起来更加容易(更安全)。

多年来,IDE和语言都在不断发展,而Delphi仍然是我选择的编程语言。不幸的是,由于使用RAD方法,Delphi在“ GUI绘画程序”方面享有一定声誉,您可以在其中快速将GUI或数据库前端连接在一起,然后将其与主要用于教育的编程语言绑定在一起目的。

这种普遍的误解是您需要使用C或C ++来实现高性能和强大的功能。因此,我着手证明Delphi的功能与C(++)一样强大,但是语法更简洁。我开始为《 The Delphi Magazine》(纸质版)撰写有关使用Delphi解码MPEG视频的文章。没有比这更高的展示Delphi的高性能开发了。

多年来,我一直为《 Delphi》杂志写作,内容涉及DirectX,代码挂钩,资源监视,图像处理和其他主题。

这也是著名的Delphi 7版本的年代。由于此版本是如此精简和坚如磐石,因此成为有史以来最受欢迎的Delphi版本之一。甚至对于某些人来说,直到今天(但要认真:已经继续前进!)。

在某些(可以说)误入.NET和Linux(Kylix)世界之后,Delphi凭借Delphi 2007(以CodeGear名称)重新站稳了脚跟。那时,我移居美国,为艾伦·德伦南(Allen Drennan)创立的一家公司从事视频会议项目。我的长期兴趣(并且最终是专业)是一般而言的数据压缩,尤其是图像和视频压缩。我开发了用于有效压缩屏幕图像以实现屏幕共享功能的算法。当然,所有这些都在Delphi中,并且在性能关键路径中到处都有MMX汇编代码的帮助。

在将其出售给Embarcadero之后,Delphi开始获得更多动力。这导致在2011年支持其他操作系统(最初是OS X和iOS)以及一个名为FireMonkey的新跨平台GUI框架。

多年来,Delphi语言也在发展,并增加了对泛型,匿名方法,闭包,嵌套类型,属性,扩展RTTI和内联变量等的支持。

随着FireMonkey变得越来越成熟,我们开始将代码从VCL迁移到FMX,因此我们可以支持OS X,iOS和更高版本的Android。但是有时候,您必须足够勇敢地转换旧代码并从头开始...

那就是我和Allen Drennan于2015年创立Grijjy的时候。在没有遗留代码负担的情况下,我们可以重新开始。无需迁移或改装,但从一开始就是Delphi现代的跨平台和FireMonkey。

近年来,Delphi的FireMonkey跨平台框架已经非常成熟。它使我们能够构建一个移动聊天和联系人管理应用程序,该应用程序使用动画自拍照的六角形网格与您的联系人进行交互,而不是无聊的旧列表。

那时,我开始通过编写在GPU上运行的自定义GLSL和HLSL着色器来从事GPU编程工作。结合定制的NEON组件优化的H.264解码器,这产生了一个移动3D FireMonkey应用程序,该应用程序可以30 fps同时解码和渲染40个正在运行的视频剪辑。我们将其创建为概念验证,是浏览视频(YouTube)库的另一种方法。泰山老父

这把我们带到了今天。我们正在看到向64位平台的最终转移,并希望在不久的将来将32位完全落后。而且,Delphi也随之对其所有平台提供64位支持。而且我相信在未来的几年中,我们将看到许多令人兴奋的新技术和新的Delphi语言功能……

对我们而言,所有这些Delphi体验都最终形成了一个名为Lumicademy的新产品和平台。我们正忙于准备抢先发布。艾伦·德伦南(Allen Drennan)将在另一篇文章中向您详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值