Delphi,亡羊补牢奈若何?
Delphi有一个比较严重的问题是没有兼容性,旧版本下面的代码到新版本下面往往面目全非。有人解释说,这是因为VCL更新快,不停的引入新的技术所导致的——这个,是一个可以接受的解释。但是,如果有性能类似但是可以兼容的替代产品,比如VS,为什么还要用Delphi?
不说把软件当产品卖的公司了,就是普通个人,难道不是以确保自己以前的代码还能用为前提才考虑升级的么?
从大二开始用Delphi,我的所有Delphi代码都是用Delphi 6写的。Delphi 7出来以后,试了试,发现对自己的代码完全可以兼容,编译运行都一点问题没有,但是呢,似乎Delphi 7和Delphi 6也没什么区别?就是图标不一样而已。那我何苦要升级到7呢?反正都是盗版……于是继续用Delphi 6。
与此同时,VS.net横空出世。多少新特性铺天盖地,不过最让我惊讶的是代码折叠功能:对于查看和组织代码而言实在是太方便了!就为了这个微不足道新特性,我才开始对C#感兴趣。这一感兴趣实在不得了,C#果然是Delphi他爹操刀的产物,语言之优美,使用之方便不输于Object Pascal。当即就打算从此改用C#,还认认真真的学了一段时间。可惜也就是认认真真的学了一段时间而已,写了几个控制台的程序,就又转回Delphi 6去了——不是说Delphi 6比Visual C#好,而是我的代码大量的都是Delphi 6的,没有点经济利益的驱动,干嘛用C#呢?虽然好用一些。
不过没有代码折叠的功能,心里总是恨恨的。
要说Borland还不想让它的忠实拥趸失望,Delphi 8接跟着VS.net冒出来了,所谓的紧跟着,大概也晚了挺长时间的,不过我没感觉到而已。Delphi 8界面漂亮了很多,最重要的,是有了代码折叠的功能。不用说,课间就跑去盗版城买了一张回来,课也不上就回去装上了。还没装上,就发现问题多多:
首先是速度,速度!那真是对电脑和耐心的双重折磨。虽然我电脑很落后,但是Delphi 8显然已经不是电脑的问题了。真想不通,为什么这么慢的东西他们也敢发布?!
其次是兼容性,又是兼容性!从6到7,没有太大的改进,兼容性也没问题,但是8,让我怎么说呢,基本上是完全不兼容。呼呼呼呼的冒编译错误。
最后是习惯问题。原来Delph 6/7的设计窗口都是独立的,一打开就是好几个大小窗口冒出来,看起来凌乱了一些,但是拖拽得很方便;而Delphi8就变成了VS形式的了,全都在一个统一的窗口下,设计窗口也在一起,这样会方便设计——但是考虑到我那个小小的14寸球面显示器,想画个大点的窗口就麻烦多了。
结果很悲惨,Delphi 8很快就废弃不用了,但是过了很久我才删除它,不是因为怀念,而是因为那玩意儿太慢了,要删除个老半天。
又一次,回到Delphi 6。
之后,VS2003出现,有时候我也用用VS2003。不能不承认,VS2003让微软已经完全超越了宝兰。
大四时候,终于Delphi又给人以激动的机会:钻石归来,Delphi 2005!李维真是有大忽悠的潜质。Delphi 2005代号钻石,在李维那里少不了一番宣传,更重要的是,还免费提供试用版光盘。从来爱沾小便宜的我,就赶紧跑去CSDN注册了一个。
不久,收到一张Delphi 2005的试用版光盘。那个激动啊,赶紧开始安装:咦,这感觉,咋就和当初安装Delphi 8一样呢?一样的慢,安装好了界面一样更漂亮,随便拉个程序过来,一样的呼呼呼呼冒编译错误,看看设计窗口,一样的是VS风格。更无法忍受的,2005多了个毛病是不稳定,界面的小窗口时大时小,运行速度时慢时快,偶尔还来个崩溃。虽然是试用版,可是我也试用过VS的试用版,当时是从武大搭公交跑到了关山才拿到那三张光盘(正版的!),又发现需要Win2K(当时我电脑是Win98),特地为这个买了根128M内存添上,费老大劲了。可是VS2001.net的试用版确实给我很多惊喜,就是从那里我开始琢磨着是不是要改投C#门下的。对比一下,都是试用版,Delphi 2005怎么就这么不争气呢?
第三次,回到Delphi 6。
三次出走Delphi 6,三次回来。第一次Delphi 7是因为没有对我重要的改进;其他两次就都是因为新的Delphi品质不过硬了,说来扼腕。
毕业以后,就不再用Delphi,倒是C++/STL的面向对象让我大开眼界。MFC也接触了一点,怎么说吧,用过VCL的再用MFC?那是心里一万个瞧不上,MFC太落后了,远远不能和VCL比,可惜的是MFC再落后,也是一个事实上的工业标准了,而VCL,仿佛一个实验室中的先进产品,随着Delphi渐行渐远。幸运的是我在工作中用的最多的还是C++/STL,偶尔来一两个第三方控件库。平时自己写Windows界面的时候,虽然也用MFC,也是宁可自己写控件也不愿意用MFC的控件。
说实话,我虽然很反感麦当劳肯德基这样的,但是就这我接触KFC都比MFC多。
也不知道什么时候,偶尔看到一条新闻,Borland/Code Gear推出免费版的Turbo系列,就去下载Turbo Delphi 2006来安装上,速度还不错,比Delphi 6慢了一点点而已。然后要注册号的时候,我试着把从前注册Delphi 2005的账号拿来用,居然还能通过,都三年了还能用,谢谢宝兰啊~装好之后,想想Delphi 8和Delphi 2005的惨痛经历,就放在那里,没有碰。
在VS2008面前,Delphi还有机会吗?在C#/C++/STL面前Object Pascal还有机会吗?
之后,我喜欢的开发环境似乎有返璞归真的趋势,越来越欣赏Vim和make/gcc/gdb,连VS都少搭理,更何况Delphi?
直到昨天,要把以前的Delphi代码拿出来用的时候,才想起来自己电脑上还有Turbo Delphi 2006这样一头平阳虎呢!于是牵出来,试着写个最简单的窗口程序,还挺好的。再试着打开以前的Delphi 6的代码,编译——嘿!居然只有两个错误!
修正好了,竟然就编译通过了。运行起来,也毫发无爽。顺便敲两行代码,调出窗口,无论是速度上还是操作习惯上,都比Delphi 6好多了。虽然设计窗口依然是VS的风格,不过没关系,我早已能忍受这一点了,何况现在的工作,绝大部分都不是界面的问题了呢。
想想看,今后还是改用Turbo Delphi 2006好了,出走Delphi 6,时隔七年,终于成功了。可惜此时,我主要用的,已不是Delphi了。
兼容性的问题、速度、稳定性,固然都亡羊补牢解决了,可是七年时间已经过去。看看现在VS几乎一统天下,而Delphi只能随Code Gear改嫁他门。从九五年刚刚问世打的VB灰头土脸,更是直接摧灭了曾经辉煌的Power Builder的大部分市场。到今天的门前冷落,并购这样的大事都无人问津。Delphi确实是有着巨大进步的,我感觉最深刻的就是Delphi的VCL比Visual C++的MFC好用,而且更符合面向对象的思想。就我用过的版本,抛开技术问题不谈(超越了我的能力……)Delphi 6是把早自己一两年诞生的VC6/VB6按在地上打,VS.net又把早自己一两年诞生的Delphi 6/7按在地上打,可惜Delphi 8就不能把早自己一两年诞生的VS.net按在地上打,反而依旧被别人按在地上。之后的Delphi 2005也无力翻盘,等到Delphi 2006/2007终于又爬起来的时候才发现,不是因为自己能把对手干掉了,而是对手已经不屑于和自己打了,岂不悲哀?
Delphi,奈若何?
[原文在百度空间已经关闭]
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt