Eisen's Blog

© 2023. All rights reserved.

"JAVA的命运"

March 31, 2011

C++JAVAPython

原文 https://www.programmer.com.cn/5200/

语言更复杂后就会消失吗?不会。我认为C++早已超越了它的复杂度极限,但还是有很多人用它编程。可这实际上是逼人们只使用其中一个子集。所以我认识的每个用C++的公司都说:“对,我们用C++,但是用的是多继承,不用操作符重载。”有很多功能你完全不用,因为使用它们会造成代码太复杂。即使不得不用那些功能,我认为也实在没什么好处。那样的话,程序员就读不懂别人的代码,也就不存在“程序员的可移植性”了。

是啊,C++的复杂度已经过于高了,让人觉得它真的不只是一个语言了。到现在我都没有很好的去用过C++。

C吧,其实也用过,我不喜欢这语言的最大原因就是它太麻烦了。C++呢...唉,前几天有同学还给我说C++已经够强大了啊,STL就够了...我的天,好吧,真的是我懒好吧?我觉得有STL的C++与C相比那是巨大的提升,但是与C# JAVA相比真的没什么,它有的别的语言都有,顶多打个平手而已。不过boost确实有打破僵局的意味,不过我对C++是外行,我还是不要多嘴了。现在甚至连JAVA都有些讨厌了,总是它有一个那么庞大的类库,可是还是不能满足许多基本的需要。什么字符串匹配啊,html实体替换啊,这些真的真的都算是非常基本的内容了。可是JAVA没有。你要么去网上找一些JAR,要不就要自己写。这两种方法都会大大降低代码的可理解性。C就更不用提了,没有垃圾回收机制,极小的类库,让你真的无从下手。好在JAVA有个Apache,commons的强大让我对JAVA重新燃起了热情,但还是不够, 懒惰的程序员真的是一个单词都懒得拼写,python的简洁让我着迷。

也可能是我对这些内容还不够了解吧?希望进一步的探索能有所突破。

Bloch:我想说得更深入一些。我认为Java是现有语言中最好的。但有趣的是,现在很流行谈Java是否即将死去。我觉得这基本上是扯淡。我认为现在最好的多线程构件就在Java里。我认为Java将迎来复兴。我不是说它是未来20年内最先进的,也不是说它是处理多核的最好方式。但是我认为从现有的东西来看,我们是足以傲视同侪的。

我现在有向python发展的趋势,因为与java相比它更简洁,有更多的内嵌的方法可以省去很多开发那种功能函数的时间,如in,not in这些用起来都太舒服了,我真的很喜欢这样的语法。尤其是list comprehension真的是太优雅了,我真的很痴迷这个。更快的实现自己的想法真的让人心旷神怡。