轻量级开发的成功秘诀,第 7 部分: Java 替代方案
2009-11-11 00:00:00 来源:WEB开发网我在科罗拉多的一条宽阔的大河上。习惯了在陡峭、狭窄的小河上涉水,我发现这种体验会让人丧失勇气,而且并不雅观。尽管我划过大量的 V 级急流,但这条仅 III 级的河流却起初让我有些惊恐。最终,我学会了利用河流的力量来达到我的目的。我还发现,我划过的河流越多,用来适应的时间就越少。
编程也是如此。您也许能够轻松地用您自己的方法解决 Java 编程的问题,但发现其他的语言是如此的笨拙。在本文,我将带您离开舒适地带。
本系列的前几篇文章都局限于 Java 编程。但在本文中,我会讨论一个异端想法:有时,Java 编程语言有损生产力。
简史
在给 Java 技术飞艇戳几个洞之前,我应该提醒您一点儿历史。Java 编程语言来自一个没有希望的来源(Sun Microsystems),为了与控制服务器端的统治语言(C++)竞争,那时一个程序设计范例正在寻求摆脱困境的办法(过程客户端 - 服务器代码)。互联网爆炸,突然带有内置 Java 虚拟机(JVM)的 Netscape 出现在每个桌面上。为了被广泛接受,Java 语言向 C++ 社区做出了几个重大妥协:
像 C++ 一样,它是静态类型,而不是像 Samlltalk 那样的动态类型。
像 C++ 一样,它允许原语和对象。
它涵盖了 C++ 的语法和控制结构。
为了获得市场,Sun 保留了与 C++ 足够接近的东西来吸引社区。Java 语言没有必要比所有其他的面向对象语言都好。它只需比 C++ 好就行了。现在,其中的一些妥协开始损害 Java 语言。
闭包
Java 语言允许比 C++ 更高的抽象,比如管理内存和字符串。但是,要达到像 Ruby 或 Smalltalk 语言那样高的抽象,Java 语言还有很长的路要走。以迭代为例:用 Java 技术来完成一个数组的迭代,要这样写:
更多精彩
赞助商链接