我知道,一个传奇结束了!我知道,一个回忆留下了

简介:

事情从我最近做的一个小项目开始。
    因为要急着赶一个网络通信程序,我拿起了4年不用的 Delphi(号称 RAD 开发的老大啊),因为已经知道 Delphi 从 8.0 开始,Bug 不断,还因为 8.0 以后的 Delphi 实在已经难以找得到了,我自然选择了 7.0 版本。
    因为是网络通信程序,我选择了 Delphi 引入的原来是第三方的 Indy 控件组,听说功能很强大,还据说 Delphi 以后就把自己的那个 TCP 的 Client 和 Server 原生控件淘汰掉了,用 Indy 的相应控件代替。因为是初用,就到 Delphi 的C:\Program Files\Borland\Delphi7\Demos 下去找例子,居然就没有!
    没办法,到网上去搜。找到了 Demo 下载地址。还好,在例子中找到一个 TCP 的 Client-Server 的 Demo,然后编译、运行。马上就发现一个 Bug,这个演示程序的功能还不错,运行起来像个局域网内的 QQ,电脑间能够聊天。但是做这个 Demo 的老兄不知道当时在网络上实测过这个程序没有,反正我看到,所有的客户端连接到 Server 后,都被认为是一个“名字”,就是 Server 端机器的名字,而 Server 正是通过机器名来区分客户端的,因为名字相同,所以就不能发送消息了。其实严重的还在于,只要有一个客户端没有终止连接,那么 Server 端退出时就会报告线程终止时出错。–这简直成了一个具有世界影响的错误了,在网上搜索这个错误,达到一大片结果,各种奇形怪状的解决办法都有,但是感觉都不是正解。后来一个网友的回答说,升级到 Indy9.0.18 后问题解决了(D7本身带的版本是 9.0.10)。于是我决定把 Indy 升级一下。
    于是第二个麻烦又来了。因为曾经早已经领教过 Delphi 版本之间、VCL 组件之间版本不兼容的折磨,心里有阴影,所以我本来就比较害怕。于是就去 Indy 下了个号称自动安装的版本,而且为了保证 Bug 少一点,想装个 10.0 版本。这个是号称自动安装的版本其实不是 Indy 的公司做的,不知道是不是 Indy 公司的那个老总的亲戚近水得月,还是那个内鬼在洗钱呢?–扯回来–号称自动安装的组件包安装后,拖个 Indy 组件一编译,我靠,报错!说是组件没有那个属性!没有那个属性,组件怎么进入了组件面板了?
    再次上网去搜,说是 Delphi 的各个版本卸载 Indy 的方法都不太一样,由于 Delphi 安装程序的失误,卸载完毕,还在 Lib\Debug 下留下了一推 .dcu 文件,有的遗留文件还不止一处路径,连 Windows 的系统文件夹下都可能有–感觉有病毒的某种特征了。
    于是决定自己冒险实验一下(说是冒险,是担心把 Delphi 搞瘫,又要花费半天功夫收拾系统了。还有,Delphi安装到半路上出问题,很难再次直接安装的)。
    运行 Delphi7 文件夹下的 Borland Delphi 7.msi 文件,选修改(Modify),把 Indy 选掉,继续,结束。再把 Lib\Debug 下以Id 开头的文件删除(先备份一下)。然后,再运行 Delphi7.0 好了!
    Delphi7.0 是好了,但是问题又来了,由于原来我下载的那个示例程序是对 Indy9.0 的,现在 Indy 升级了,原来的那个例子就不能运行了!怎么办呢?降级吧!……好在有了2个小时的经验,顺利的又装了一次 Indy9.0.18。

    为什么说“一个时代结束了,一个传奇结束了!”?在 .NET 和 Java 的夹击、打压下,也许还有 Borland 那些官僚的瞎指挥和资本的胁迫下,10 年前曾经辉煌的 Delphi 如今已经老态龙钟、漏洞百出了。我曾经购买的 Delphi2005 光盘,安装后编译自己带的 Demo 程序都过不去!四处出击,产品众多:C++、J++、C# 一堆 Builder,好像还出了个和 C 相关的东西。
    从 Borland 分拆后的 Codegear,照样在出新东西,Ruby on Rails 火了,就出了个它的 IDE。不知道有没有 Phthon 的相关东西?!
    没有精品,连 Delphi 也给搞得四不像了。
    虽然我承认我有“Delphi情节”,虽然现在的桌面开发 Delphi 照样是最 RAD 的。但是,用户流失、学习资料锐减(6年前书店里计算机语言最多的书可能是Delphi),在支持 Web 开发上的失误,都让 Delphi 走下坡路了。我知道,10 年后,Delphi 也许就像10 年前独步天下的 Borland C++ 一样消失了。但是,计算机史上,曾经有一群技术狂人、有一个公司、有一个精灵……回忆将会永远留在心里,挥之不去……

    后记:前文提到的那个线程出错的问题,被证实确实是一个 BUG,因为 Indy9.0.18 没有这个问题。到底还是高版本的软件好啊?但是为什么 Delphi 版本越高越糟糕呢?












本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/286536,如需转载请自行联系原作者

相关文章
|
算法 人工智能 数据可视化
寻找回忆,感动常在
作为亚洲规模最大的综合性运动会,亚运会一直是亚洲体育运动水平和亚洲人民团结精神的体现。
寻找回忆,感动常在
|
定位技术 网络架构
搞不懂缺省路由?一个故事告诉你
搞不懂缺省路由?一个故事告诉你
98 1
|
小程序 数据安全/隐私保护 计算机视觉
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
171 0
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
|
人工智能 前端开发 JavaScript
一波童年回忆。。。
从程序员的角度来看,网络上有很多编码游戏,你可以利用这些游戏平台,以更有趣的方式学习和磨练你的编程技能。
一波童年回忆。。。
|
监控 安全
陇剑杯回忆及总结
陇剑杯回忆及总结
169 0
陇剑杯回忆及总结
|
算法 前端开发 搜索推荐
学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!
学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!
142 0
为什么我会感到迷茫? 文/江湖一剑客
文/江湖一剑客 如今有越来越多的人感到迷失,我们年轻人不知道自己的未来究竟在哪里。 那么我们为什么会感到迷茫呢? 人类之所以会遭遇这种迷失和困惑,就是因为我们创造的这个世界看起来非常的虚假。
1495 0
|
Java 程序员 应用服务中间件
世界上现在没了程序员,会怎样?网友说:然后世界就凉了
我想问下,你们现在能离开电子产品?比如智能冰箱,微波炉,智能洗衣机,手机,电脑等等。 答案肯定是不行,现在一天得工作都是跟互联网有关。比如公司的管理系统,还有工作qq,微信。
882 0
回忆里的那个人
《回忆里的那个人》,是我很喜欢的一首歌,唱到心坎中,多多少少,都有一些影子。 路灯下的恋人 多像是曾经的我们 深情拥抱亲吻 爱的难舍又难分 曾相爱的光阴 全世界只有两个人 为何一个转身 就能变成陌路人 藏在我回忆里的那个人 愿你现在过得...
1166 0