原文 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 真的是太优雅了,我真的很痴迷这个。更快的实现自己的想法真的让人心旷神怡。