五千年(敝帚自珍)

主题:【原创】Delphi,亡羊补牢奈若何? -- 晨池

共:💬86 🌺84 新:
全看分页树展 · 主题
家园 【原创】Delphi,亡羊补牢奈若何?

以前写的,今天偶尔翻出来,发上来看有多少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,奈若何?

元宝推荐:铁手,

本帖一共被 2 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河