论坛首页 Java企业应用论坛

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

浏览 26103 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-05-07  
liusong1111 写道
buaawhl 写道
liusong1111 写道

ztka,能比较下php和rails的ActiveRecord吗?对这个话题比较感兴趣。也许,应该单独开个贴。


那就开个贴吧.
PHP ActiveRecord, sounds cool.
应该也有method missing之类的机制简化开发.


貌似坛子上用过php和rails的人很少,没法玩。


PHP的类Rails框架有好几个,其ORM也是仿ActiveRecord的。CakePHP是其中的佼佼者,不过和Rails相比,还有非常巨大的差距。

http://www.cakephp.org/

贴一个CakePHP的ORM例子:

http://www.1x3x.net/cakephp/model.html


0 请登录后投票
   发表时间:2008-05-07  
zhangdaiping 写道
现在硬件比软件发展的快

我有个提议,某个公司和nVidia合作,直接把企业计算转嫁到显卡上,虽然目前nVidia在努力,但是进展太慢。
民用级的显卡价格在企业领域来看真是便宜啊。或者说同等计算力的硬件提供的成本很低啊。
0 请登录后投票
   发表时间:2008-05-07  
robbin 写道
liusong1111 写道
buaawhl 写道
liusong1111 写道

ztka,能比较下php和rails的ActiveRecord吗?对这个话题比较感兴趣。也许,应该单独开个贴。


那就开个贴吧.
PHP ActiveRecord, sounds cool.
应该也有method missing之类的机制简化开发.


貌似坛子上用过php和rails的人很少,没法玩。


PHP的类Rails框架有好几个,其ORM也是仿ActiveRecord的。CakePHP是其中的佼佼者,不过和Rails相比,还有非常巨大的差距。

http://www.cakephp.org/

贴一个CakePHP的ORM例子:

http://www.1x3x.net/cakephp/model.html




fleaphp也可以,虽然我本人不赞同用php还要使用这种类框架的做法。
0 请登录后投票
   发表时间:2008-05-07  
ozzzzzz 写道
总结即不懂管理,也对技术失去了热情的一种顾影自怜的说法。
其实这样的人我见过的多了。他们今天读着MSE,觉得无聊和空虚,说:啥我也学不到,就是来混一张纸。去搞软考,说一点用处也没有,就是一种混的方法。过了几年说,其实MSE还是学了点东西的。对软考说,这些个“不切实际”的学究体系其实反倒有些有用处。其实只要稍微有点脑子,也喜欢动脑子的人就都明白,现在的教育和考证究竟是咋回事。也会明白那些知识之所以过几年才能觉得有用,恰恰就是说明这个系统,这个教的方式,以及这个知识组织的形成存在重要的问题。
而动不动就又说要以硬件为中心,其实归根结底是这些人最基本的知识系统有问题,或者说他考的软考白考了,读的MSE白读了。当然企业应用最终也就是数据库读读读,写写写。但是是不是说只要你会读读读,就可以去写写写了,然后就可以企业应用了。这样的想法是不是太幼稚了,幼稚到了只有幼儿园的程度呢?
而说实在的,在国内天天叫不要迷信,不要吹嘘的人未必不是自己也在迷信,也在吹嘘。
为什么要出现虚拟机,为什么要尽量做到软件与硬件无关,这样的问题难道还需要再次拿出来科普科普吗?动不动就企业应用,难道不知道这些都是因为随着企业应用发展,带来的必然趋势吗?
还啥硬着头皮大体上啃了一遍学究知识,最后才搞明白程序要快要稳定,还是要搞清楚CPU、内存和硬盘,你去看看现在的云计算,告诉我cpu在啥地方,内存在啥地方,你的硬盘又在啥地方。去看看新的亚马逊的平台,google平台在搞啥东西。
更加奇怪的是还说,而所谓的可靠性、重用性、扩展性、...XX性,不是靠什么具体的软件技术,而是在于规范的管理与审慎的规划。貌似规范和规划是一种超脱于技术独立存在的东西,就是忘记了如果不于具体的技术结合规则就只能停留在纸面上。再审慎的规划,如果不以技术数据和技术方法相结合,也仅仅就是一种吹嘘和混闹。

wk,太帅了,哈哈
看了这么一堆,就这篇话听着爽!!!
0 请登录后投票
   发表时间:2008-05-07  
ozzzzzz 写道
因为我知道你不是弱智,所以我才说几句。要是我觉得你是弱智,我才懒得发言。
再说啥叫实际应用啊。你要是有实际应用会觉得健壮性和稳定性,可靠性和扩展性会依靠管理和规划?这个玩笑开的太大了吧。稍微有点开发经验的也明白,这些东西不在实际中去整,根本就是纸上谈兵。
你一个三十几岁的人还在这些东西搞不清爽,你说我咋说你。你要说觉得我是人身攻击你,那我就就此打住。不过说实在的如果你要是这样看我的发言,我对你的看法倒是确实要改一改了。


看来你是误解我的说法了,或者说我的说法在文字上容易产生岐义吧,那就解释一下。
这里说的“管理”,指的是组织的管理,“规范的管理才产生好的信息系统”,这一点相信是大家的共识了吧。这个问题当前在国内尤其严重,国内大多数组织的管理是极度不规范的,朝令夕改,拍脑袋作决策的事情比比皆是。在这种环境下,无论应用什么具体技术,所谓的健壮性、稳定性、可靠性和扩展性等等都是很难保证的。
这里说的“规划”,指的是要认真地分析、设计系统,这就是个难点了。如何深入准确地理解各类组织的业务,具有一定的前瞻性,转化为相应的技术实现,并最终由信息系统产生足够好的效益,要做到这一点相当不容易。

也就是说,不论你是用C、VB,还是PHP、Java、C#。也不论是用瀑布方式、或者OO、敏捷、原型,都是仅供参考。最后还是要深入实际,认真思考。程序员刚开初的时候往往过于注重具体技术,沟通、组织能力有限,难以做出足够好用、足够有价值的系统。
而本文的主题,是要说明盲目跟风是相当不明智的。尤其在当前软件“越来越复杂、越来越慢”的产业大环境下。
0 请登录后投票
   发表时间:2008-05-07  
别的我都没用过
但是tomcat是很稳定的,跑在windows2003下
真的很稳定
低负载跑1年也没见有问题
高负载下每个小时10万独立ip的访问时也很稳定,当然持续时间没那么长
ztka 写道
icewubin 写道
ztka 写道
你告诉我你的java跑在什么app上?tomcat,jboss?weblogic?或者你向google学习,自己开发app?

用Tomcat + APR好了,企业应用客户要求什么就给买什么,我们不管的,也有用jboss的,数据库也是如此。


你应该比较一下tomcat+apr和lighhttp或者apache+fastcgi的稳定性,看看如何。一个可以保证你连续几个月不当机。tomcat+apr。。。呵呵。

0 请登录后投票
   发表时间:2008-05-07  
lgx522 写道
balan 写道
很多软件新技术的出现,初衷并不是运行的更快,而是开发的更快,响应需求变化更快,扩展和维护更快。


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

说点闲话,JE的很多牛人为何都倒戈RoR,这已经是耐人寻味了。
本人RoR实践了半年,说句实话,除了性能,什么都好。但这一缺点,对于以写为主的企业应用基本上可以毙了。

运行速度不是衡量技术进步与否的唯一标准。
现在技术进步有个明显特征就是先解决关心的问题,再优化速度。
EXT框架不是要提升运行速度而产生的,Ruby也不是,Java更不是。
Java对于C++等前辈,从以下意义上说是一种进步:
1,在基于网络的业务领域,简化了开发,降低了门槛
2,基于对象的设计,为复杂应用提供了扩展和构建的基础
3,面向接口的理念,为软件产业工人分工、系统之间交互提供了定义支持,适应软件工业化需求
4,对开源软件和自由软件的启发、鼓励和支持,促进Java、Eclipse等生态链的成长
5,虚拟机技术的产业化应用,挑战技术垄断,形成主流的业务处理平台
总之,Java的初衷不是要挑战C++的速度,而是要适应时代的新需求;Ruby不是要取代Java,而是要填补一些重要的空白。
运行速度?放心吧,以Java为例,虚拟机从来没有停止过改进。
硬件越跑越快?的确如此,这正是硬件厂商的职责啊,否则凭什么给他们钱?
软件越跑越慢?Java技术越跑越慢吗?Hibernate3.0比2.0慢吗?Spring2.0比1.0慢吗?Flex3要比Flex2慢吗
你看见的仅仅是新生的技术,运行速度暂时存在不足之处吧。或者是有人使用不当导致速度低下吧。

另外,软件开发不是“在数据库里读读写写”,数据库是一种数据引擎,还有其他各种引擎服务,如地图引擎、搜索引擎、业务引擎、还有应用平台引擎等。软件开发人员会面对越来越多的无状态服务引擎,不仅仅是数据库。不赞成把业务逻辑放到数据库端,数据库最好是无业务逻辑的,不影响第三方平等使用的。
0 请登录后投票
   发表时间:2008-05-07  
robbin 写道


这是因为FastCGI是持续运行的,但是跑FastCGI的PHP/Ruby解析器却不是为这种应用定制出来的,PHP没有GC,Ruby虽然有,但是也差强人意,和JVM的GC差出好几条街,所以即使你应用程序没有问题,也很难保证FastCGI进程绝对不会有内存泄漏。根据我这么多年运营FastCGI的经验来看,你无法避免FastCGI进程的缓慢内存泄漏问题,所以必须定期重起来释放内存。

所以综合而言,其实最稳定的还是Java。当然这种东西也看谁去用,在高手的手里,FastCGI一样跑的很稳定,很少需要重起,在菜鸟手里Tomcat也可以跑得很烂,动不动宕机。



嘎嘎 ,Apache 1.3.x + CGI(纯)最稳。即便用C来写,一个free()都不给,内存malloc了通通不管也没事!反正一瞬间运行完了进程就掉了。1byte内存都不泄露。
0 请登录后投票
   发表时间:2008-05-08  
看到有人说“xxxx我见过的多了xxxx”,往下就不忍再看了。

实事求是的说,原因是,这种缺乏建设性的讨论俺“见过的太多了”,呵呵。

大家都洗洗睡吧......
0 请登录后投票
   发表时间:2008-05-08  
lgx522 写道
近日总算有点空闲,走马观花测试了一些技术,包括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时代到来了,无数吹鼓手吹起了喇叭,震耳欲聋。大家昏头昏脑跳进大大小小的池塘,一边陷下去,一边互相嘲笑、互相鄙视、互相谩骂。好一个热闹的软件大超市。

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


这就是"混到系统分析师, 啃了一遍学究知识"的结果?!连软件工程最基本的出发点都没有弄明白。
0 请登录后投票
论坛首页 Java企业应用版

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