原帖由 OwnWaterloo 于 2009-3-23 12:26 发表
想比较语言, 请首先熟悉两门语言。
java的interface和单继承多实现是一种限制,而非增强。
interface将类限制为只带方法契约,不带任何实现。
单继承多实现限制的是由多个带实现的类继承——多重继承。
...
我觉得这个回复也有点偏了,就一个多继承就否定java?c++好,我们有多少人用的好呢?评价一个语言,要考虑它的效率,这个效率指的是运行的效率,开发的效率.如果你用c++10年写一个东西,用java一年就写出来,速度上java比c++慢2到3倍,绝大多数客户会选择扩大硬件来使用java来处理.你要说你写的很底层,说说我们国家有多少人写过多少底层的东西,操作系统,编译器,中间间,基本上没有,有也是更改被人opensource后的加工品.
如果只是效率问题的话,我会选择汇编而不会选择c或者c++,如果你说c++编译器可以优化的接近于汇编或者c?那么你为啥就否定jvm不能做到可以接近于c++的速度?你对jvm了解多少?写jvm与写编译器的人的水平的差距?
从我们公司来说,c++组将近有20多万行的代码,很少有用到多重继承的.从人的角度来说,这个世界,绝大多说人不是男人就是女人,半男半女的有,我的认识范围,还是少.
c++新的标准在出,从<<C++语言的设计和演化>>中可以看到,多继承这个东西,即时成为标准,标准委员会也有不一致的声音,自动垃圾回收,新的标准也考虑加入可选.标准委员会作不了的东西,不一定商业公司做不了.
有些东西是对世界的认知的哲学的东西,谁对谁错,实践证明,我们只能无线接近于事物的真相. |