世界顶尖运动队教练的成功秘诀
本文列出了来自于顶级教练Marc Lammers的9条原则,他是在打造世界最佳曲棍球队的过程中发现这些原则的,文章把这些原则映射到了软件开发实践之中。
作者 Craig Wickesser译者 宋玮 发布于 2008年1月20日 下午8时1分
从编程一开始,人们就会在一种语言与另一种语言的有效性和有用性之间进行辩论。开发者、管理者、博客们等等没完没了地反复争论为什么一种语言比另一种语言更好。让我们回到2006年9月,当时,广为人知创造了Java的Sun Microsystems摆出了一个明显的姿态,它将支持JRuby。消息源自于Sun宣布他们打算雇佣两个JRuby项目的主要开发者—— Charles Nutter和Thoams Enebo,来全职开发JRuby项目。正如历史所证实的,Sun支持这一项目的决定引发了一场新的辩论。Sun,请停止对JRuby的支持。这是浪费时间。把这些钱花在Groovy上吧,它兼容Java语法的。请在Groovy上进行语言进化并停止滥用Java语法。给我们提供像样的Groovy IDE工具。停止对Java这么频繁的胡搞。Rick就其对Sun的请愿提供了几条原因,包括语法方面的问题,
Sun通过投资JRuby来投资Ruby。咄!Groovy看起来更象Java。它更容易上手。其语法也不会让开发者感到厌烦。除了语法,Rick提出语言流行趋势也应被考虑,而且他还展示了一个图表以显示Java比Ruby更流行。
这是不要在Ruby上投巨资的另一个原因。提醒一下色盲:RUBY排在最后!对Rick博客上的观点和建议,有相当多的议论。实际上,在他的这篇文章下跟有超过50个评论。
Ruby排在最后。如果能发生一场革命的话早就应该发生了。Ruby要终结这一可怜地位却又显得有些年迈了。你不这么认为吗?
Java 之所以流行是因为长得象C++和C。C++之所以流行是因为长得象C。C#之所以流行是因为长得象Java。看一下这个模式吧。让我们在Gosling的 领导下,增加一些对Groovy像样的支持(代码补全,重构等)。如果新的语言特性变为主流,那么就把它加入Java(如果没有意义就算了)。
我认为我们应该可以选择,因此要求停止开发JRuby对我来说不公平。不要误解我,我也不喜欢JRuby,而且现在我在用Groovy,但是应该让JRuby和Scala活着,有得选总是好事。
Michael Galpin发表了另一篇回应,站在了辩论的另一方。特别是,Michael提供了一个理由,解释为什么投资Scala是一件值得做的事。
带有控制抽象功能的语言有巨大的潜能。Scala就是这么一门语言。Scala能够实现actor模型(一个不共享任何东西、基 于消息的并行计算设计)。这在Java里是不可能的。你也可以在Groovy中做到几分,但是它可能会很笨拙。原因很简单。如果你有一个对象调用了一个 method,而该method又调用了closure(以此为例),在Scala中closure可以将控制返回给对象,但是在Groovy中只能返回 给方法。Groovy中耦合了一些额外的控制结构,使得控制抽象的一些方面显得非常笨拙。另一个博客作者,Ola Bini,也不同意Rick Hightower,他说道:
我认为JRuby是重要的,因为它可以在与Java一样的环境中运行,但是却没有Java的一些问题。Ola继续解释他认为存在于Java中的一些问题以及为什么JRuby是更好的选择。作为附加内容Michael Galpin解释了为什么Sun对JRuby有兴趣。
Sun知道什么是成功引入一个新语言和平台以及使其成为工业实际标准的必要条件。这是很困难且昂贵的。他们只能做一次,这耗费了 他们大量资金。Java不能总是停留在顶点。他们不想再为这一战役进行战斗了。然而,如果他们能够在上面所描述的场景下让Rails继续生存下去,那么他 们这次无需进行任何作战即可“停留在顶点”。他们让Rails社区为他们做到这一点。
Sun除了站在JRuby一边之外,还发展NetBeans IDE支持JRuby。然而,需要提及的是,Netbeans正在积极发展对Groovy和Grails的支持。事实上,Martin Adamek在其博客上提供了一个对NetBeans的更新,它支持Groovy和Grails。
那么,你作何感想呢,JVM有容纳不同语言的空间吗?Sun应该站在Groovy一边并加大对它的开发和工具支持吗?
查看英文原文:Request: Sun, Drop Support for JRuby
如题
赞同。Groovy应该得到更多的资源。
我觉得官方不应该只支持JRuby。
强烈期待NetBeans IDE对Groovy和Grails的支持. 在JRuby上进行了比较多的投资,有必要继续推动和更新。
在InfoQ.com上这篇新闻的讨论非常热烈,作者Rick Hightower也跳出来和大家澄清撰写这篇博客的初始想法是基于对jroller上太多关于Ruby/Rails的传道文章。 虽然Rick Hightower没有参与Groovy和Grails的代码贡献,但不能不说他这样的说法个人倾向性实在太强了。 不过说起来,微软在对各种动态语言的支持做得确实比Sun好些——特别在有了DLR之后。目前JVM作为同台语言平台上还有限于分裂的趋势,微软所走的方向才像个正道嘛。
那就又要说到JCP的扯皮事了……
我支持jvm成为一个更加通用的平台,适合多种语言的混合开发。 为什么要停止jruby呢?没有任何逻辑支持这样做。 因为我们可以用ruby开发却部署在jvm上,你也可以选择依赖一些java的类库。这对于ruby和rails开发着是个好事。 而不会groovy和grails的开发者还是自由的,你可以选择学groovy也可以去学可以在jvm运行的更多语言。 所以这个支持对大家都没有害处,何乐不为?难道是某些人觉得妈妈不疼自己这个亲生的要去领养别人孩子就嫉妒了?程序语言领域不应该有嫉妒,应该要开放。
呵呵,完全支持Tin同学的观点,和俺想的一样。英文站的回复里面有一个帖子,一哥们的抱怨很entertaining: ...It's like a bunch of children saying "My dad is better than your dad" "Oh ya well my dad has a bazooka and will blow up your dad." "Oh ya..."
……就像一帮小屁孩在嚷嚷:“我爹比你爹厉害”“哦?是吗?我爹地可有筒火箭炮,一下就把你老豆炸飞……”“哦是吗?我老政府……”
=)
典型的葡萄酸心态 自己不愿意接受新事物,反而要去抱怨别人
补充一个英文站里面的好观点:
John Shea于2008年1月21日上午3时17分写道:
也许Sun选择支持JRuby,正是因为它与众不同,也因为Ruby来自一个非常不同的社区。
实际上历史上每家公司都曾输给开始非常小的竞争对手,因为他们:
1. 拒绝承认这个竞争对手值得被当成竞争对手
2. 他们认为潜在市场太小
3. 组织的文化不允许风格迥异的文化或者技术在它们内部滋生繁衍
(参见Clayton Christensen的著作)
在这样的环境下要正视一个分立的竞争者是很难的,如果出现脱离Java(以及JVM上类似Java的技术的现象),而Sun在变化和适应上又没有什么作为的话,那么Sun也会毫无疑问的输掉这场游戏的。
我可以想象到,这个小竞争对手公司的雇员在喊:“就这么着Rick(文章提到的博客作者),就这么干!”
虽然如此,在Rick对他所在圈子(Java开发人员)的判断和对这圈子的威胁的判断这两个方面,他的顾虑是有理有据的。
我认为Ola(还有其他人)在降低重要语言的意义方面是存在自己的观点的。总的来说,我认为这是一件好事——场子越大竞争越多,创新也更频繁,但毫无疑问的是这确实把出现部落文化的问题带到了人们面前(比如说,狂热过头的Ruby传道者,还有在某一个信仰上同样头脑发热的拥护者/辩护者)。
本人开发了一个和ror类似的网页开发框架,但要简单的多,原型在http://code.google.com/p/ruby-web-framework/ 现在的版本已经支持控件,gridview控件比asp。net2.0自带的控件,还要强大。我的这个框架可以开发任意复杂逻辑的网页,现在已经有了几个应用。 netbeans是我ruby网页开发的必备工具
Oracle前段时间推出了Oracle Mix,基于的就是JRuby on Rails。他们声称这是世界上第一个大规模的JRuby实现,这其实也在证明JRuby+Rails可以胜任大企业中的解决方案。 既然大的厂商都开始重视了,为什么还要叫Sun从JRuby上withdraw?分明是一种倒退
本文由Per Jacobsson所作,目标读者为有意了解Lisp的Java开发人员。文章探讨了当前可以运行于JVM上的不同Lisp方言,以明快简洁的方式介绍了Lisp程序设计工作机理和其独特之处,并在最后演示了Lisp代码同Java系统的整合过程。
本文以一个实际应用的例子为引子,探讨Ruby/Rails在非传统web系统中应用,以及研究如何定制以Rails为基础的领域特定的MVC框架。
本视频对云计算进行了简要的介绍,主要包括了五部分内容:首先带大家认识“云”,然后对计算机的发展过程进行了阐述,接着介绍了业界现状和企业级/世界级计算的新布局,最后对云计算做了一下展望。
在这篇文章中,Bryon Jacob和Chris Berry介绍了AtomServer,一个基于Apache Abdera的完整Atom存储实现。在去年,作者一直致力于为其雇主——Homeaway——实现一个Atom存储,现在已开源了其Atom存储框架:AtomServer。
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
12 条回复
回复