今天看了一本书,书名叫《Beyond Java》,自我觉得写得不错。这本书是从Java的角度,来探讨程序语言的未来。摘录里面的一些片段给大家随意看看。
1、对于Java的预告
- Java已经远离它的基础,大型企业问题或许可以很容易解决,但是简单的问题反而很难解决,而且...
- Java已经开始有些破旧,有趣的研发创新开始出现在Java以外的地方,所以...
- 该是注意周围其他技术的时候了。
2、下一个成功的编程语言必须满足下面主要的四个准则:
- 需要建立一个明显的社区。只有让采用者安心,他才会去使用此技术。
- 需要具备可移植性。Java虚拟机已经提高了后继语言的门槛。
- 需要提供经济的动力。
- 需要展示技术优点,这是最重要的一点。
3、开放源码的重要性。可以说,最具有创新的产品都是来自开放源码的项目,在许多领域:
- Lucene让我们可以进行有效的文字搜索。
- Tapestry是最具潜力的Struts的接班者。
- Spring让服务被透明地采用。
- Hibernate是使用人数最多的透明持久机制。
4、Java是如何让生产力不佳
- Java的抽象工具相当贫瘠。
- Java完全是无法扩展,它不能成长。没有元编程(metaprogramming)、没有宏、没有模板,没有任何东西可以给你语法的抽象。故Java是不能压缩的。
- Java可以表达程序,但是不能表达数据。你必须使用property文件、XML文件以及其他方法来定义数据。故Java族群只能一个框架上面叠放另一个框架,建立一个巨大的转换串联管道,来弥补Java的不足。
- Java的静态类型系统很烂。实际上,所有的静态类型系统都很烂,但是Java几乎是最烂的。
- Java具有非必要的复杂度。
注:上面这段话不是有《Beyond Java》作者所讲,而是由Steve Yegge(语言专家及Wyvern创立者)所讲。
5、几个有潜力的语言
- perl:脚本编程语言,有着奇怪的语法和一个活跃的过去。动态类型、高效,适合写,但不适合读,也就是说维护性差。
- Phthon:动态类型、快速反馈循环以及精确的语法,不过面向对象,太依赖空格等。没有好用的Web开发工具,更缺少杀手级应用。Python会变成一个“适度地”成功的动态语言,比Smalltalk成功得多。
- Ruby:优美的语法,相当动态,具有很强的Web框架。对于XML和Web Service的支持也相当好。Ruby有几个相当受欢迎的框架,如Ruby on Rails。
- PHP:脚本编程语言,相当适合让网页访问数据库,容易理解,容易学习。高生产力,快速创新,但带来的代价是成长为一个不一致的语言,和杂乱。
- Smalltalk:建立得很好但运气很背的面向对象语言,相当简洁的对象模型,不可思议的表达力,但不够亲切。
PS:值得一提的是,没有完美的语言,只有合适某一应用的语言,但是对一门语言来说,需要一个具有潜力的杀手级应用是很重要的。
最后的一句话:没有语言可以永远保持领先地位,Java统治的时代将会结束,这不是“会不会”的问题,而是“什么时候”的问题。