和许多80年代出生的人一样,我的童年是在“电脑是高科技人员的专用工具”的想法中度过的,接触的第一个有CPU的东西是插卡的电视游戏机。后来“学习机”风行那一阵,忽然意识到,游戏机绝不仅是一种家用电器那么简单,它不是一个孤立的物体,而是一个不可思议的“体系”,这“体系”的背后隐藏着一种多么玄妙的东西。当我编出第一个“F-BASIC”程序,算出一道简单的数学题的时候,就隐隐意识到,尽管我对这个“体系”还一无所知,但它,也许就是我这辈子的归宿。这话一点不夸张,那年我上小学3年级。
后来我迷上了BASICA,迷上了长辈留在书柜里的IBM-PC,DOS,UCDOS和FoxBase,渐渐明白了.bat文件的作用和True BASIC比BASICA的优点。我为掌握了DIM的用法而欣喜若狂,动用无数的纸张写下了我最初的那些代码。我的第一个项目是供两个人在DOS屏幕上玩的五子棋,没有智能,只是电子棋盘。我为用各种GOTO语句把代码从102行压缩到76行倾注了无数心血,后来又进行了从BASICA到QB的,我的第一次代码重构,从而进入了结构化开发的正轨。当年厚着脸皮在有电脑的女朋友家调试程序到人家的睡觉时间而招致的抱怨,和削尖脑袋找机会到同学家玩一下Windows 3.1时人家无奈的表情,都记忆犹新。
上高中的收获除了发现CCED是个酷得一塌糊涂的软件之外,还发现即使是最新的QBASIC也无法满足我的想像力了。那段时间我如丧家之犬一般寻找另外的更好的编程语言,结果积累下来的C,C++,Foxpro,Fortran,VB,Pascal等一堆语言的零星知识让我到现在还受其恩泽。也就是那时,我遇到了第一个让我能爱得像爱女朋友一样的语言,Pascal.从Turbo Pascal到Delphi,我就这样进入了面向对象的天堂。
从此后我的成长过程已经没什么新意了,拜应试教育所赐,计算机荒废了好一段时间,但Pascal语言在我心中居然没有淡忘,还结了几个小果,有次纯属好玩,做了个“扫雷”游戏的外挂,当这个不起眼的小窗口在同学们眼皮底下做出“初级:1秒,中级:1秒,高级:4秒”的好成绩时,我也就成了他们口中“我有个哥们老厉害了”一类话中的主角。
大学给我的最大教育之一就是你小时候再早开窍再牛X将来一不小心也要泯然众人矣,所以我小心翼翼的抓紧提高自己,研究些Java,.NET和C++,以免将来被淘汰。学C++有点偶然,我对“真正的程序员用XX”之类的话并不在意,但真的很在意老婆对C++的执着,这在女生中可稀罕。为了给老婆恶补“一碗水”的C++,我也开始为自己的“一桶水”而开始恶补。于是第一次对“标准”有如此强烈的认识,第一次叹服于boost库的强大。那时我几乎要决定放弃Pascal而改投C++门下了,想在Delphi版混到四个三角就转去C++版定居了。然而,刚做完一个通用词法分析程序后,忽然发现,在C++程序中充斥着的尖括号和它们所带来的强大中,那种如Pascal般从容的美感,已经久违了。我感到自己挖空心思拼凑尖括号所带来的那一点强大,与我付出的劳动是如此的不成比例。不禁怀念起Pascal的简洁,它没有那些功能,当初用它编程的日子也丝毫不觉得束手束脚,反而更加惬意。我还没有觉得这是一种落伍,我并不排斥新技术,只是有个信念,将来若Pascal实现了泛型和别的什么特性,也不会像C++那么繁杂,而是以一种更优雅的方式,这是个理念的问题。
当我带着怀旧的心情想把词法分析器用Delphi重写的时候,忽然感到了一种前所未有的恐惧:尽管现在的正则文法处理部分是自己手写的,但将来做大一些的项目的时候,我还要从头发明轮子么?那么,我用哪个程序库?
体验一下C++的世界里若Boost,Qt,wxWindows等优秀库忽然消失的感觉,我还能做什么实用的东西?我一辈子只能做系统底层了么?
这个问题乍一看有点好笑,因为Delphi正是以程序库出色而著称的,有多少人一提图形界面脑中就只有VCL。然而,我面临着这种情况,在Delphi中找不到一个官方的,或称为标准的,业界广泛使用的正则表达式处理库!对比一下STL甚至Java以及.NET的类库(不止图形界面部分),我忽然觉得,Delphier们最引以自豪的程序库原来不过尔耳。C++的标准库功能也并不多,但很轻易就能找到一大堆业界普遍认同的“亚”标准库,总有适合你的。但Delphi呢?难道我们只能寄希望于各个半娱乐网站的“火热源码控件下载之Delphi部分”?
也许有人还要提D8对.net的支持,然而,在D8上,我是有史以来第一次对Delphi有了得用“绝望”来形容的心情。那还是Delphi了吗?就算将来.net要完全取代Win API的地位,且不说那一天还要多远才到来,只是操作系统天底下只剩Windows了吗?怎么没见C++把.net平台纳入不可或缺的标准?都说BCBX根本不是面向老BCB用户的,难道D8倒像是面向老D7用户的?也许,从一开始,Pascal语言就走上了与C++不同的一条路,它没有中立标准(有了ISO也形同虚设),成了Borland的私有财产。这同时也严重的限制了自身的应用领域。都说C++代码效率高所以应用面广,比如嵌入式和底层,可要知道,论效率Pascal和C++是不相伯仲的,甚至某些地方有过之无不及。可能由于历史上的机遇,Pascal开始走向了没落。随着Delphi兴起,人们些许还看到了一点希望,然而随着VCL变成了没有灵魂的僵尸VCL.NET,这点希望也越发渺茫起来。
抽去了灵魂的Delphi,沦为了.NET的亡国奴的Delphi,和C#等新生代语言相比,有什么优势和特色可言呢?C++er们可以理直气壮地鄙视__gc,因为他们不只靠Windows吃饭。而Delphier们呢?如果Pascal语言当初就不是Borland一家所有,又会怎样呢?可以想象,今天大家都会在用着工业级强度的,著名的boost for Pascal, ACE for Pascal, 至少也会有个“PFC”,他们都是跨平台的,可以支持.NET,但不是必须支持它才有活路。而我,也可以信手拈来boost.regex, boost.spirit来构成我的Pascal的词法分析器,而不用来发这篇帖子了。
谁能拯救Pascal?这个问题在我脑中盘旋良久。我上网找真正不属于哪个企业的ISO Pascal标准文档,可找到了又怎样?我一个电脑技术不发达国家的穷学生,能做什么力挽狂澜的事?也学Linus发起一个Pascal标准库项目?
世界上和我一起热爱Pascal的人应该不会太少,我们又能做点什么,来让我们不至于为我们热爱的语言的未来而担心?ps:
一宿没睡,写这个帖子,真心希望大家一起谈谈这个话题。这是我在CSDN发的最长的贴子了,放了少有的100分,如果我的等级允许我给更多的分的话,我会给有史以来的最高分,这值得,因为,世间让我热爱的东西本来也不多。
后来我迷上了BASICA,迷上了长辈留在书柜里的IBM-PC,DOS,UCDOS和FoxBase,渐渐明白了.bat文件的作用和True BASIC比BASICA的优点。我为掌握了DIM的用法而欣喜若狂,动用无数的纸张写下了我最初的那些代码。我的第一个项目是供两个人在DOS屏幕上玩的五子棋,没有智能,只是电子棋盘。我为用各种GOTO语句把代码从102行压缩到76行倾注了无数心血,后来又进行了从BASICA到QB的,我的第一次代码重构,从而进入了结构化开发的正轨。当年厚着脸皮在有电脑的女朋友家调试程序到人家的睡觉时间而招致的抱怨,和削尖脑袋找机会到同学家玩一下Windows 3.1时人家无奈的表情,都记忆犹新。
上高中的收获除了发现CCED是个酷得一塌糊涂的软件之外,还发现即使是最新的QBASIC也无法满足我的想像力了。那段时间我如丧家之犬一般寻找另外的更好的编程语言,结果积累下来的C,C++,Foxpro,Fortran,VB,Pascal等一堆语言的零星知识让我到现在还受其恩泽。也就是那时,我遇到了第一个让我能爱得像爱女朋友一样的语言,Pascal.从Turbo Pascal到Delphi,我就这样进入了面向对象的天堂。
从此后我的成长过程已经没什么新意了,拜应试教育所赐,计算机荒废了好一段时间,但Pascal语言在我心中居然没有淡忘,还结了几个小果,有次纯属好玩,做了个“扫雷”游戏的外挂,当这个不起眼的小窗口在同学们眼皮底下做出“初级:1秒,中级:1秒,高级:4秒”的好成绩时,我也就成了他们口中“我有个哥们老厉害了”一类话中的主角。
大学给我的最大教育之一就是你小时候再早开窍再牛X将来一不小心也要泯然众人矣,所以我小心翼翼的抓紧提高自己,研究些Java,.NET和C++,以免将来被淘汰。学C++有点偶然,我对“真正的程序员用XX”之类的话并不在意,但真的很在意老婆对C++的执着,这在女生中可稀罕。为了给老婆恶补“一碗水”的C++,我也开始为自己的“一桶水”而开始恶补。于是第一次对“标准”有如此强烈的认识,第一次叹服于boost库的强大。那时我几乎要决定放弃Pascal而改投C++门下了,想在Delphi版混到四个三角就转去C++版定居了。然而,刚做完一个通用词法分析程序后,忽然发现,在C++程序中充斥着的尖括号和它们所带来的强大中,那种如Pascal般从容的美感,已经久违了。我感到自己挖空心思拼凑尖括号所带来的那一点强大,与我付出的劳动是如此的不成比例。不禁怀念起Pascal的简洁,它没有那些功能,当初用它编程的日子也丝毫不觉得束手束脚,反而更加惬意。我还没有觉得这是一种落伍,我并不排斥新技术,只是有个信念,将来若Pascal实现了泛型和别的什么特性,也不会像C++那么繁杂,而是以一种更优雅的方式,这是个理念的问题。
当我带着怀旧的心情想把词法分析器用Delphi重写的时候,忽然感到了一种前所未有的恐惧:尽管现在的正则文法处理部分是自己手写的,但将来做大一些的项目的时候,我还要从头发明轮子么?那么,我用哪个程序库?
体验一下C++的世界里若Boost,Qt,wxWindows等优秀库忽然消失的感觉,我还能做什么实用的东西?我一辈子只能做系统底层了么?
这个问题乍一看有点好笑,因为Delphi正是以程序库出色而著称的,有多少人一提图形界面脑中就只有VCL。然而,我面临着这种情况,在Delphi中找不到一个官方的,或称为标准的,业界广泛使用的正则表达式处理库!对比一下STL甚至Java以及.NET的类库(不止图形界面部分),我忽然觉得,Delphier们最引以自豪的程序库原来不过尔耳。C++的标准库功能也并不多,但很轻易就能找到一大堆业界普遍认同的“亚”标准库,总有适合你的。但Delphi呢?难道我们只能寄希望于各个半娱乐网站的“火热源码控件下载之Delphi部分”?
也许有人还要提D8对.net的支持,然而,在D8上,我是有史以来第一次对Delphi有了得用“绝望”来形容的心情。那还是Delphi了吗?就算将来.net要完全取代Win API的地位,且不说那一天还要多远才到来,只是操作系统天底下只剩Windows了吗?怎么没见C++把.net平台纳入不可或缺的标准?都说BCBX根本不是面向老BCB用户的,难道D8倒像是面向老D7用户的?也许,从一开始,Pascal语言就走上了与C++不同的一条路,它没有中立标准(有了ISO也形同虚设),成了Borland的私有财产。这同时也严重的限制了自身的应用领域。都说C++代码效率高所以应用面广,比如嵌入式和底层,可要知道,论效率Pascal和C++是不相伯仲的,甚至某些地方有过之无不及。可能由于历史上的机遇,Pascal开始走向了没落。随着Delphi兴起,人们些许还看到了一点希望,然而随着VCL变成了没有灵魂的僵尸VCL.NET,这点希望也越发渺茫起来。
抽去了灵魂的Delphi,沦为了.NET的亡国奴的Delphi,和C#等新生代语言相比,有什么优势和特色可言呢?C++er们可以理直气壮地鄙视__gc,因为他们不只靠Windows吃饭。而Delphier们呢?如果Pascal语言当初就不是Borland一家所有,又会怎样呢?可以想象,今天大家都会在用着工业级强度的,著名的boost for Pascal, ACE for Pascal, 至少也会有个“PFC”,他们都是跨平台的,可以支持.NET,但不是必须支持它才有活路。而我,也可以信手拈来boost.regex, boost.spirit来构成我的Pascal的词法分析器,而不用来发这篇帖子了。
谁能拯救Pascal?这个问题在我脑中盘旋良久。我上网找真正不属于哪个企业的ISO Pascal标准文档,可找到了又怎样?我一个电脑技术不发达国家的穷学生,能做什么力挽狂澜的事?也学Linus发起一个Pascal标准库项目?
世界上和我一起热爱Pascal的人应该不会太少,我们又能做点什么,来让我们不至于为我们热爱的语言的未来而担心?ps:
一宿没睡,写这个帖子,真心希望大家一起谈谈这个话题。这是我在CSDN发的最长的贴子了,放了少有的100分,如果我的等级允许我给更多的分的话,我会给有史以来的最高分,这值得,因为,世间让我热爱的东西本来也不多。
Delphi如今已经伴随我度过了本科阶段,现在读研还在用它(开发串口通信程序),感觉已经离不开它了。而且感觉如果不是在很底层的应用,Delphi完全可以胜任。
本科的毕业设计是用C#写了个ASP.net应用,觉得.net框架确实好用,可以大幅度地提升工作效率。
可是Delphi毕竟是Windows环境下的RAD工具,必然的要跟着MS的步伐走,向.net的移植我认为是不可阻挡的趋势,虽然我没用过Delphi 8 for .net,但是已经知道有很多语法上的改变,但是我觉得和VB.net对VB(ps:个人十分不喜欢VB的语法,没有;,换行还要加个_)的变化比起来还是比较少的。只是衷心希望Delphi能一路走好。
最后我也提一下Delphi的2个缺点,一个是不能向下兼容,另一个就是D7没有D5稳定。
说明一点,我是土生土长的Delphi版的人啊,不是C++那边过来踢馆的,确实,和这里的很多人相比我都足以称为“没写过几天代码”,也许真的没有资格对Delphi的前途妄加评论。但摆在眼前的问题是,我有什么好的库可以用?我遇到了切实的需求啊,如果说连没有典型的regex,容器,或serialization机制,没有典型的跨平台的图形库等等也可以称为“各有所长,各有所短”的话,我无语。我不鼓吹初学者离开Pascal,正相反,希望更多的人喜欢Delphi,发展Delphi,体验她的美。如果现在有个Pascal标准库的开源项目的话,只要我水平够,我第一个就参加。与C++的标准化和强大的第三方库支持相比,我觉得Delphi太需要迎头赶上了。
什么全都顶类的开发语言没有,PASCAL确有改进的地方,不过可以混合编程嘛.
http://www.delphifans.com/InfoView/Article_22.html
做组件20余个,再做拼装,不是RAD那个做法。现在正开始用delphi 8 for .net开发web 服务
器端的系统。有什么用什么,需要什么学什么。
一次次在现有的架构中缝缝补补,
是对新技术和现有东东的拼凑、妥协的产物。
当不兼容到某种程度,就要破茧而出一个新的语言了:
C发展到面向对象:产生了C++;
兼容使得有君曰:C部分是C++最丑陋的部分!
最后产生了一种相似的语言,但是却没有了与以前兼容要求的JAVA;
屡受向前兼容之害的MS,不是推出了新的架构.NET,
产生了一个集合了众语言优点的C#么!
DELPHI何尝不如此!
开始是object pascal(提供的框架VCL,一个某种意义上设计完美的产物);
现在.NET来了,语言改成了DELPHI.NET
呵呵,D7和D8,只可说是IDE相同,其实他们的语言(OR内核的思想)已经变了