免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 22818 | 回复: 25
打印 上一主题 下一主题

Java死气沉沉,Python生机不断 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-19 09:36 |只看该作者 |倒序浏览
Java死气沉沉,Python生机不断
[收藏此页] [打印]
-- Python生机不断
作者:csdn  2008-12-18


  【IT168 资讯】

  Python的Version 3.0已经发布。Notably Python又做了一些Java一直很反对的事情:打破了与Python 2.x的向后兼容(Backwards compatibility),Notable修改了一个更加理智的基于Unicode的字符串处理模型。Pythonista的同仁告诉我很多其他不合理的东西如print operator也已经清除。尽管如此,我还是不建议所有的Python开发者立马升级(version 2.x仍将在接下来的几年中得到支持。)version 3.0显然是一个比version 2.x更加简单、更加优秀和合理的编程语言,这将提高开发者的效率并让他们的工作更加富有乐趣。显然,Python是一个充满生机的、不断进步的语言。

  相比较而言,Java则死气沉沉。像Python 2.x 一样,它也包含许多不合理和错误设计的地方(或许Java更多),但Sun一直拼死反对做任何事情来修补这些众所周知的问题。相反,在过去的12年里Sun不但不给这个脏兮兮的家伙洗澡刷牙,却对它喷香水、抹唇膏。(意指Sun不但不修补这些问题,还纵之任之)

  对version 1.4的Java而言,向后兼容(Backwards compatibility)是一个利于维护很有用的功能,但在Java 5 中,当泛化(generics)和自动装箱机制(Autoboxing)改变了语言的核心时,向后兼容(Backwards compatibility)彻底地出现问题。自动装箱机制(Autoboxing)是一个错误的选择,它试图掩盖住Java早期对原始(primitives)和对象(objects)采用隔离的类系统(type system)的决定。那是Java的Plessy v. Ferguson决定,原始(primitives)和对象(objects)是独立但等同的。一个独立的原始类型系统(primitive type system)在1995年的时候很有意义,那时CPU缓慢而且虚拟机技术并不先进。现在原始类型除了将编程语言更加复杂化之外,别无他处。

  泛化(generics)是另一个例子:在这儿向后兼容(Backwards compatibility)出了个好主意,最后却变成恐怖的东西。多线程设计(Multiple design)能够使代码运行在老的VM上,也即著名的类型擦除(type erasure)。最后,不管怎样,二进制兼容破碎。然而,如果他们不担心落后的二进制兼容而重新设计,没有人考虑泛化(generics)多么简单有力。

  闭包(Closures)如果现在加入,只会将形式更加恶化。当且仅当在Java同时移除内部类(inner classes)并做出所有的语法改变来支持真正的闭包(Closures)时,闭包(Closures)对语言而言才是好的特性。同样的,新的特性不能够添加到现有的羸弱基础之上,除非我们回到语言设计的初期从头设计。

  我无法想到还有像Java一样老的主流语言并试图维护version 1.0的兼容性,实际上,我能想到的有C#,但C#年龄只有Java的一半。除非我们做出艰难的抉择,并像Python一样摒弃那些传统,否则Java将注定将像C++和Cobol一样:留着长长的白胡子的开发者工具,自编程语言之初就存在并其后不断发展添加,花大量时间用在维护十年前的代码上。与此同时,新一代的开发者将因为更加现代的语言如Python而抛弃Java,就如同当年我们为了Java抛弃C++一样。

  承认存在问题只是解决问题的第一步,但Java甚至都没有承认他有问题。这个语言很大,很复杂•-。在单核奔腾2、100Mhz处理器和32位存储空间实用的东西,现在已经远远落伍。向后兼容(Backwards compatibility)已经成为缠绕在Java脚上的沉重枷锁。除非摘掉这个枷锁、更正以前的错误,Java和我们才能迈步向前。

  很难相信,五年前我就发出了这样的声音,然而至今仍然没有任何改变,而且事实反而更加糟糕。看看C++当年被Java替代的历史,也许Java也败局已定,是时候有新的语言来取代这个语言了?

http://publish.itpub.net/a2008/1218/260/000000260669.shtml

论坛徽章:
0
2 [报告]
发表于 2008-12-19 15:17 |只看该作者
爱用啥就用啥

论坛徽章:
0
3 [报告]
发表于 2008-12-19 15:42 |只看该作者
这文章的说法有一定的片面性啊,Python年轻所以抛弃很多东西可以无障碍的实行,java可不是这样,这些年积累的大量的共享库,开源组件,所以大的不兼容的变革几乎不可能啊

论坛徽章:
0
4 [报告]
发表于 2008-12-19 15:47 |只看该作者
原帖由 james.liu 于 2008-12-19 15:17 发表
爱用啥就用啥

支持。

论坛徽章:
0
5 [报告]
发表于 2008-12-20 18:02 |只看该作者

一专多能吧

一专多能吧,靠一个东西吃饭总有下岗的时候

论坛徽章:
6
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:582015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2008-12-21 20:31 |只看该作者
其实,python出现比java早.
现在还是非主流,也算比较可怜的语言.

论坛徽章:
0
7 [报告]
发表于 2008-12-25 16:10 |只看该作者
这篇文章翻译得很差。。。
ASEE 该用户已被删除
8 [报告]
发表于 2009-01-19 17:32 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2009-01-19 17:42 |只看该作者
大家都去py版把。。(*^__^*) 嘻嘻……

论坛徽章:
0
10 [报告]
发表于 2009-09-15 22:42 |只看该作者
其实,python出现比java早.
现在还是非主流,也算比较可怜的语言.

--------------------

嗯。  这说明python 有致命的却点.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP