锁定老帖子 主题:MF高度评价DHH和RMH宣称J2EE将死
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-07-12
http://www.paulgraham.com/avg.html
那篇文章太有意思了。尤其是最后一段。 引用 During the years we worked on Viaweb I read a lot of job descriptions. A new competitor seemed to emerge out of the woodwork every month or so. The first thing I would do, after checking to see if they had a live online demo, was look at their job listings. After a couple years of this I could tell which companies to worry about and which not to. The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers. If they wanted Perl or Python programmers, that would be a bit frightening-- that's starting to sound like a company where the technical side, at least, is run by real hackers. If I had ever seen a job posting looking for Lisp hackers, I would have been really worried. 很好的文章。驳斥了所谓的语言无关论。Languages vary in power. Lisp现在用的比较多的地方是AutoCAD领域。 现在经常看到这样的文章。 引用 Lisp as an Alternative to Java n a recent study Prechelt (1999) compared the relative performance of Java and C++ in Iexecution time and memory usage. Unlike many benchmark studies, Prechelt compared multiple implementations of the same task by multiple programmers in order to control for the effects of differences in programmer skill. Prechelt concluded that “as of JDK 1.2, Java programs are typically much slower than pro- grams written in C or C++. They also con- sume much more memory.” We repeated Prechelt’s study using Lisp as the implementation language. Our results show that Lisp’s perfor- mance is comparable to or better than C++ in execution speed; it also has sig- nificantly lower variability, which translates into reduced project risk. Furthermore, development time is sig- nificantly lower and less variable than either C++ or Java. Memory consump- tion is comparable to Java. Lisp thus presents a viable alternative to Java for dynamic applications where perfor- mance is important. 然后,后面是如何做实验的。如何出来一堆结果数据。 可惜,一代编程语言雄主,落到这步叫卖的田地。 还需要煞有介事和中级语言相比效率。 Common Lisp的语法有幸见过。非常复杂,非常强大。 不过,看上去,并不是那么weird。相反,看起来结构很严整。 印象最深的还不是Viaweb作者提到的Macro。我根本理解不到那个程度。而是Named Block。还有return from。能够从任何一个内部块,跳到外面任何一层。Common Lisp的block可以带名字。比如 a { b { c{ return from a; } } } C语言有简单的label, goto. 还有很牛的任意跳转的Setjmp, Longjmp。 java 这方面的能力。我发了一个帖子。讲了一些tips。 http://forum.iteye.com/viewtopic.php?p=128644 http://dusu.mireene.com/java/flow.html Java也支持 label. break label. 另外,就是Lisp和Perl都具有的 Dynamic Scope特性。 主要是说,closure 闭包的情况下,根据当前context动态决定变量的作用域。 比如, int x = 0; int f () { return x; } int g () { int x = 1; return f(); } 这里面的 x 就是dynamic scope的。 这种特性,是实现AOP的利器。 |
|
返回顶楼 | |
发表时间:2006-07-13
尽管没有太大必要,但这里还是要说明一下。
因为从以往的经验看,相当多的敬业的程序员是对编程语言有感情的。 语言的Power有所不同,语言的特性比较也有一定的触类旁通的意义。 但是,这并不涉及到使用某种语言的程序员人群。 谁谁就高级,谁谁就不够高级。这种说法就毫无意义,徒增争议。 和Viaweb作者的观点相反,还有人维护底层语言"没有指针的编程,能高明到哪里去?" Lisp, Ruby, 还有很多其他高级语言,确实更加灵活强大,开发效率高。 并不是所有人都是,也没有必要都是 Programming Hacker,都是天才。即使是Hacker,使用某种小众的高级语言快速开发产品,也只有50%的成功率。 某一个时代,中规中举的大众编程语言,如Java, C#,仍然应该作为首选。 各种公司都有自己的模式。有偏重技术hack的,有偏重于规模管理的。 偏重于规模管理仍然属于大部分,中游仍然是大部分。稳妥地赚钱,享受生活,也是大部分。不能要求所有人以编程hack为乐。 人群不能简单的根据语言分为高级低级,还有个人爱好情趣之分。有些人的能力不在于驾驭复杂强大的语法,而在于识别通用模式,进行规模复制,是生产管理方面的人才。 Viaweb创始人,就是自己埋头苦干。很多开公司的人,更喜欢雇佣其他人来做编码工作。这时候,大众编程语言就非常重要。大众编程语言的工作移交,容易一些。 还是说一下自己的设想。关于MS提出的多语言无缝集成的一些设想。 Glue部分,松散耦合部分,web service, DSL, Business Rule, 采用高级动态语言。 大规模的业务复制部分,比如有几百个部门,不同的需求,就应该采用规矩的编译静态语言。 也有这样的观点,业务总是变化的,为了敏捷,高级动态更合适。这种情况属于,应对一个部门的千变万化的需求。 大型外包项目中,基本上面对多个部门的雷同的但是又不同的变化不大的需求。 规模复制是一种更加稳妥的现金流来源,也是传统软件工程主要关心的问题 —— 可重复度,可管理度。 天才程序员们自然可以不在乎这块利润,但是老板和管理人员就喜欢这种领域。 |
|
返回顶楼 | |
发表时间:2006-07-13
我才刚开始学Java,怎么滴就要死了?
算了,谁有能力自已开发一个编程语言,让它永远别死!谁做我支持谁!!!呵呵!!! 不过说实在点,大家还是玩C++吧,我看这家伙是永远不会死滴!!! |
|
返回顶楼 | |
发表时间:2006-07-13
引用 (奇怪,这么耸人听闻的标题,竟然没有引来一片哗然。本以为应该有很多java铁杆fans跳出来的。)
五百年前就说php要死了,死了吗? 对于这一类“。。。将死”有挑衅嫌疑的话题,只能说“无聊”两个字! |
|
返回顶楼 | |
发表时间:2006-07-13
MF的文章里有这样一句:
引用 Ruby is a great place for other frameworks to fill the gaps left behind by Rails's opinions.
也就是说有很多事情Rails不会去做,为了要保持自己简单。但是有很多事情又不得不做,比如支持遗留数据库中的复合主键。这时就需要其它框架来弥补Rails留下的空白。结果,在开发一些复杂系统的时候,最后还是需要多个框架配合来完成工作。这样不是和现在Java的开发方式差不多吗? |
|
返回顶楼 | |
发表时间:2006-07-13
我觉得Robin的标题有误导。RMH的批评主要是针对J2EE平台的。
引用 An important point however is that RMH attacked Java EE, not SE
所以应该说“RMH宣称J2EE将死”。 另外,RMH所说的J2EE平台是否包括spring, webworks, hibernate这些框架呢?还是仅指Sun的J2EE规范呢? |
|
返回顶楼 | |
发表时间:2006-07-13
BirdGu 写道 我觉得Robin的标题有误导。RMH的批评主要是针对J2EE平台的。
引用 An important point however is that RMH attacked Java EE, not SE
所以应该说“RMH宣称J2EE将死”。 另外,RMH所说的J2EE平台是否包括spring, webworks, hibernate这些框架呢?还是仅指Sun的J2EE规范呢? RMH是仅仅指Sun的Java EE 5规范的,不过Spring/Hibernate这些框架的发展方向也在朝着大而全在走。 |
|
返回顶楼 | |
发表时间:2006-07-13
robbin 写道 BirdGu 写道 我觉得Robin的标题有误导。RMH的批评主要是针对J2EE平台的。
引用 An important point however is that RMH attacked Java EE, not SE
所以应该说“RMH宣称J2EE将死”。 另外,RMH所说的J2EE平台是否包括spring, webworks, hibernate这些框架呢?还是仅指Sun的J2EE规范呢? RMH是仅仅指Sun的Java EE 5规范的,不过Spring/Hibernate这些框架的发展方向也在朝着大而全在走。 那是要看它是否想进入更多的领域,要解决的问题越多,自然也就越复杂 rails发展下去估计也会越搞越复杂 |
|
返回顶楼 | |
发表时间:2006-07-13
无明 写道 robbin 写道 BirdGu 写道 我觉得Robin的标题有误导。RMH的批评主要是针对J2EE平台的。
引用 An important point however is that RMH attacked Java EE, not SE
所以应该说“RMH宣称J2EE将死”。 另外,RMH所说的J2EE平台是否包括spring, webworks, hibernate这些框架呢?还是仅指Sun的J2EE规范呢? RMH是仅仅指Sun的Java EE 5规范的,不过Spring/Hibernate这些框架的发展方向也在朝着大而全在走。 那是要看它是否想进入更多的领域,要解决的问题越多,自然也就越复杂 rails发展下去估计也会越搞越复杂 也是个不仔细看贴,就拍脑袋回贴的 |
|
返回顶楼 | |
发表时间:2006-07-13
做多少件事情可能是一个问题,但语言本身更加重要
Java曾经是简单的,但我看了Java 1.5的预览版以后就决定停留在1。4上。 我不喜欢有很多例外规则的语言,这意味着你可以在一般情况下干这件事,但是XX时候不行,但是如果XX下符合YY,你又可以用ZZ的方式写成这个样子。不断的惊奇,耶和华的规则只有摩西才能理解。 如果一种语言很少惊奇,或者惊奇能够让你变成顺理成章的惊喜;如果遵守简单的规则,具有无处不在的一致性;如果只是利用最核心的强有力的小结构不断组合和演化;那语言就能成为阐发心智的工具,而不是让我们变成语言的奴隶。 |
|
返回顶楼 | |