西西河

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

共:💬86 🌺84 新:
分页树展主题 · 全看
/ 6
下页 末页
  • 家园 【原创】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 帖 引用 (帖内工具实现)
    • 家园 您这经历可比我拧巴多了

      话说自打出了delphi,就没关注过,以个人对微软浅薄的了解,就盖茨那操行,开发工具这个玩意是一定要掌握在自己手里的,所以在一个封闭平台上的第三方开发工具,那注定是没有前途的。所以一路微软路线走下来,虽然很憋屈,好在更新够快,每次还有点小甜饼吃吃,也就捏着鼻子认了。

      • 家园 微软的东西也确实很好,尤其是VS6.0到7.0进步太大了

        但是喜欢Delphi啊,喜欢是没有理由的。。。当然现在,不喜欢了

        • 家园 我也喜欢delphi。。。

          准确的说,是喜欢pascal

          同时,也不喜欢微软,糊口工具而已,所以后来方向转到网络之后,就彻底和微软系绝缘了,开源的东西和微软的开发工具不同,有一种模模糊糊,开源的工具,是有生命的,这让人很踏实,有一种一起长大的感觉。

    • 家园 原来晨枫是武大郎啊

      原来还没发现,hoho。

    • 家园 哎,宝兰德那些旧事,真是令人不胜唏嘘

      还从武大跑到关山?广阜屯里啥没有啊?

    • 家园 自delphi4开始,自delphi7终结

      从大学时代开始写delphi4,现在工作中需要的小程序我还是习惯用delphi7,,比如整批的转换文件格式啦,delphi7之后的版本都不习惯了,现在业界还有大批的delphi的代码在跑。

      我所在的医疗信息化领域,还有无数的his,lis,pacs在用delphi,c++builder。

      我感觉,vs还是不能一统江山,将来delphi和c++builder还是有机会的,不过要等MS犯错,borland当年出的kylix,却是一着不是很有用的棋。

      delphi的fans还在,也许,也许有一天,能再招旧部。。。我的期望。

    • 家园 好像Borland还有一个产品叫IntraBuilder

      不知道兄台用过没有?是用来开发Web的。

    • 家园 同感,我也用了4~5年Delphi

      从Dephli5开始,用到7。我感觉Delphi最大的优势是VCL结构的清晰,以及大量的现成组件,并且自己开发组件也很简单。

      不同版本之间的兼容性确实有问题,不过好像8之前的还不是特别明显;6和7兼容很好,不过也没有太多的新特性,所以当时很多人说7就是6.5而已,不过7应该是最经典的版本。我直到现在也用这个版本,当年自己写了很多自定义的组件,在团队开发的时候还是很好用的。

      现在Delphi确实是远已经落后于VS.net了,我认为Borland公司的问题,实在可惜了这个产品。

      • 家园 我以前也用过,用的不多。

        Borland 改名字,很多人就开始不看好了。这也没办法,有几家公司能够顶得住微软拿钱砸。也就是现在的 ipod 还能抵挡。

        很可惜Borland,可也几乎是必然。

        • 家园 另外Delphi的定位也有问题

          李维在《Borland 传奇》中提到过,管理层在Delphi3开始就连续犯了几次错误,改名Inprise好像是4以后的事情,这些都造成了现在Delphi尴尬处境。Borland从D3开始,第一次错过了推出Borland C++ builder,否则当时VC肯定不敌,第二次又错过了推出开发网络程序的机会,这个好像是D4还是5来着,直到6才带有一个Intraweb的组件,我用过觉得不好用。去年推出过一个Delphi for PHP,好像还可以,可惜Delphi已经不行了。

分页树展主题 · 全看
/ 6
下页 末页


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

Copyright © cchere 西西河