论坛首页 Java企业应用论坛

硬件越跑越快,软件越陷越慢

浏览 26075 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-05-06  
近日总算有点空闲,走马观花测试了一些技术,包括Grails、Seam、AOM、Python、ZendFramework、CakePHP、Flex、WPF等等,回到JE看了一些讨论,忍不住又要放点黄腔了。

自从多核CPU成为PC标配以后,硬件又上了好大一个台阶。到朋友家看了一下“孤岛危机”,实在是超级惊艳。单位上也终于耗上了一台双核、2G内存,这下跑什么IDE和AppServer都不用去小歇片刻了,真是感谢硬件产商们的努力。

某天看了一篇文章,地址记不清了,却道出了应用程序的本质:“不过就是在数据库里读读写写”,这下便像吃了苍蝇般不爽了起来。搞腾这个行当转眼也七、八年了,回头一想,的确是该反省反省了。

好几年前,更换电脑似乎总是为游戏而换。越来越清晰、越来越眩目、越来越震撼,且不论游戏好不好玩,单声光效果的提高都物有所值。那时候的应用程序其实要求是不高的,VB、Delphi、ASP、PHP这些老革命的IDE和作品,至今可以在怀旧的时候,拿到奔腾166的老机器上去跑一跑,丝毫不见慢。所以那时候更换电脑是与App无关了。

Java引领的虚拟机时代让笔者一度迷了五六年,曾经笔者一度天真地以为只要全面进入虚拟机和中间件时代就可以解决企业应用软件的种种问题,达到高度的业务逻辑重用、高度的异构集成、高度的安全性与伸缩性。这其间折腾的技术、框架加起来怎么也有几十种了,时光飞逝,转眼三十老几了,回头一想,当初的信仰很傻很天真,到头来“不过就是在数据库里读读写写”,最可笑的不过是越来越复杂、越来越慢。看来这些年是陪Sun、IBM、Microsoft以及开源领域的大牛们玩过去了。

由于是在单位上混,出于饭碗的需要,几年来不得不参加了当初以为“不切实际”的软考,一直混到系统分析师。回头看下来,这些个“不切实际”的学究体系其实反倒有些有用处。硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘;而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。

缘木求鱼,这就是国内软件业超级混乱的根源。根子上在于我们想偷懒的惰性,明明是我们该自己去思考、去设计、去解决的问题,我们不断地迷信可以依靠“大腕”、“大牛”们来解决。其实连伟大的党都承认了,“没有放之四海而皆准的真理”,何况是软件这种由人造、由人用的事物。结果如何,“大腕”、“大牛”们出于各种各样的目的,不断制造混乱。而我们,正是那随波逐流混水中的泥。

虚拟机时代到来了,动态语言时代到来了,SOA时代到来了,XXX时代到来了,无数吹鼓手吹起了喇叭,震耳欲聋。大家昏头昏脑跳进大大小小的池塘,一边陷下去,一边互相嘲笑、互相鄙视、互相谩骂。好一个热闹的软件大超市。

吹嘘有何用,迷信有何用?最终,还是要抓住硬件这根救人的稻草。
   发表时间:2008-05-06  
跟"连城诀"的结尾很相似啊,呵呵
大家盲目了疯了。。
0 请登录后投票
   发表时间:2008-05-06  
引用
虚拟机时代到来了,动态语言时代到来了,SOA时代到来了,XXX时代到来了,无数吹鼓手吹起了喇叭,震耳欲聋。大家昏头昏脑跳进大大小小的池塘,一边陷下去,一边互相嘲笑、互相鄙视、互相谩骂。好一个热闹的软件大超市。

吹嘘有何用,迷信有何用?最终,还是要抓住硬件这根救人的稻草。


有些时候,不论别人说它好不好,自己用着爽不爽,都不愿说出来,因为有很大的可能被笑话成浅见无知。
喇叭队伍强的,你对着吹就是找K;
喇叭队伍弱的,你顺着吹不见得能把它吹强,对着吹反而能把自己捧起来;

外围设施的发展,确实十分影响软件的发展方向,对这方面越来越有体会。
大的如网络、多核、移动设备等,一个设施的飞跃,可能促成萌发多个技术领域、行业、商业模式,一个基础设施的裹足不前,也会萌发一些诸如古老理论的回归等活动,并大大影响某些前瞻性技术的进度。

小的方面如显示器分辨率上的提升,都可能影响产品设计最终反映到软件开发上。
0 请登录后投票
   发表时间:2008-05-06  
是有点郁闷,有时为了快,反而又失去了部署的方便性

比方说.net windows forms的ngen,gac. 或是将复杂耗时的任务移出到中间层用分层访问

每个客户我事先必须说明,这程序需要在目前的主流机器上跑,但通常,无法阻止客户将其安装到老电脑上。然后对我抱怨说,这程序怎么比老程序(通常是vb6的)还要慢

0 请登录后投票
   发表时间:2008-05-06  
无语
楼主还是去用C吧。
既然是做应用级软件,那就要有做应用级软件的觉悟。
看来楼主不是科班出身的。
0 请登录后投票
   发表时间:2008-05-07  
很多软件新技术的出现,初衷并不是运行的更快,而是开发的更快,响应需求变化更快,扩展和维护更快。
0 请登录后投票
   发表时间:2008-05-07  
tedeyang 写道
无语
楼主还是去用C吧。
既然是做应用级软件,那就要有做应用级软件的觉悟。
看来楼主不是科班出身的。


惭愧得很,本人的确不是科班出身的。
应用软件,基本上就没有用C的。
这篇文章要说有对比,也是对比虚拟机技术与之前的RAD。
就算是对比同样的Java Web,大家也可以回想一下开初的jdbc+servlet+jsp开发速度与运行效率有多高;可自从Java界随时随处framework、ORM、Ioc、AOP等等之后,Java的确逐渐“输掉了Web之战”,这是教训。
0 请登录后投票
   发表时间:2008-05-07  
balan 写道
很多软件新技术的出现,初衷并不是运行的更快,而是开发的更快,响应需求变化更快,扩展和维护更快。


做软件,最终目的是要开发得快、维护得快、运行得快。做出来的系统费了比别人多几倍的时间,硬件费了几倍的钱,最后还比别人跑得慢,维护起来要折腾好几个弯弯,再多的大词也只能自欺欺人。
本人其实正是这些大词的迷信者,折腾了几年才知道是怎么回事。

说点闲话,JE的很多牛人为何都倒戈RoR,这已经是耐人寻味了。
本人RoR实践了半年,说句实话,除了性能,什么都好。但这一缺点,对于以写为主的企业应用基本上可以毙了。
0 请登录后投票
   发表时间:2008-05-07  
用C作业务不是没有。
我的同事做农发行的业务就是用C写业务处理的

java仅仅作为前端界面而已
0 请登录后投票
   发表时间:2008-05-07  
tedeyang 写道
无语
楼主还是去用C吧。
既然是做应用级软件,那就要有做应用级软件的觉悟。
看来楼主不是科班出身的。

其实计算机专业科班的门槛很低,除了离散数学,其他的都没有什么.软件工程只不过吸收了加工业和建筑业的经验,软件从业人员奉为圣经的UML不过是软件工程大师们希望能实现想机械图纸的功能."过程决定质量"也是从日本的加工制造业发展中得到经验,"设计模式"是建筑业的经验.说实话,计算机专业真的没有什么.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics