- 论坛徽章:
- 0
|
原帖由 OwnWaterloo 于 2009-3-30 22:06 发表
不好的地方是如下这些吗?
C++不好的地方可以专门写本书 .
坦言,俺反感C++的主要原因是C++的连接器不友好造成的,倒不是所谓的OO问题,举个简单例子,一个函数模板foo<...>,在A库中被实例话foo<int>,在B库中也实例化foo<int>.因此A,B中各有一份实例化的foo<int>,我搞不懂同时连接A,B两个库时咋办,连接器不会报错吗?或者说编译器为由模板实例化的函数自动添加static内部连接属性,这样不会造成二进制文件体积爆炸式膨胀吗?这个问题还真搞不懂,请你指点了
原帖由 OwnWaterloo 于 2009-3-30 22:06 发表
全面否定? 只是否定其效率吧? 同时C在这方面也难免不会被否定。
否定C++在效率与特性之间的平衡,进而全面否定C++.
C语言根本就没啥特性,也就没有否定的一说.
如果C++,C全迁移到jvm平台上,你会发现C是一本特性很少很少的语言,而C++是一门设计愚蠢的语言(注意,俺说是如果迁移到jvm上)
原帖由 OwnWaterloo 于 2009-3-30 22:06 发表
2. 突破能达到什么水平?
性能完全超越仅静态优化的C/C++ ?
或者, 和C/C++持平? 还是接近?
俺前边提到过超线性并行受益吧,我觉得既然有些优化是不可能在编译时进行的,这里也存在一个超线性的问题,没准会超过C++.参考前边说过的那个脚本语言快过C++的例子
原帖由 OwnWaterloo 于 2009-3-30 22:06 发表
3. C++标准没有说优化必须采用静态优化。
多态如何实现, 没有说。
模板仅说了必须遵守单一定义原则。
C语言标准里还没有些必须静态优化呢,我说的问题是C++为了静态优化裁减了很多OO特性
另外,在引用Art of Unix Programming里一个观点.假设越多,错的越厉害.C的生命里就在于C标准里假设很少.反观C++,在选取特性的时候做了太多假设
原帖由 艾斯尼勒 于 2009-3-31 13:04 发表
好帖。分析的很透彻。收了
恩。一个由java引起的口水帖中途回归了C版的C/C++的阵地。现在又讨论到了OO的设计和实现问题。
很好很强大。
另外,诚如大R所言,shan_ghost好像搞混了OO的思想表达和语法表达之间的差距
不要乱叫,俺算晚辈的
另外是shan_ghost启发了我,
最后发现
原帖由 flw 于 2009-3-31 12:35 发表
你把抽象和 OO 搞混了。
这种成了精的老家伙很厉害 |
|