讨论:C比C++性能更好吗?

YuKye 2006-06-22 10:44:39
今日惊闻一种怪论:他们做的软件效率不高,性能不好是因为以前用的是C++,认为改成C效率就会很高了.他们的理由是:1.C++采用类的结构,封装了很多他们不知道的东西,不象C那么清晰.
2.C++用new,很危险!!!,呵呵.
3.C++的STL,不知道它是怎么实现的,怕出错!
于是大张旗鼓得要把总个软件改成C语言版的.
真是郁闷呀,这样的人也会被重用,只听说有烂的程序员,还没听说过有烂的语言.连怎么用它编出一个
好的程序都还没掌握,谈什么通过编译器来优化性能?
大家都来说说自己的看法吧.
...全文
1441 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxxer 2006-06-28
  • 打赏
  • 举报
回复
C把复杂的系统用简单的语言描述出来,C++试图用更加抽象的思维去简单地描述复杂的模型.
WindNoName 2006-06-27
  • 打赏
  • 举报
回复
有些人使用c语言恐怕主要是由于习惯,比如写开源软件的人,大家基本基本都用c语言,而且几乎全都是用gcc编译器,使用c++写的软件少之又少,比较有名的也就是KDE。
在windows平台用c++的多,大概主要是因为现在用c语言写应用软件的商业公司少阿,你不不用c++不行。其实写应用软件用c语言一样可以写出好软件,不管多大,写的程序不好就是程序员自己的问题。用c++写未必效率就低。程序效率低恐怕还是算法糟糕,要提高效率最先想的应该是优化算法阿。
crazy_lazy_pig 2006-06-26
  • 打赏
  • 举报
回复
to: healer_kx(甘草(DotNeting))

如果说别人的某些比喻容易误导人, 那么你的不是也会误导人么? 你说有些语言已经灭绝或者频临灭绝, 是不承认C或者C++之一要灭绝呢?

也的却有灭绝或者频临灭绝的计算机高级语言. 比如说: Smalltalk可以算是面向对象语言的鼻组, 甚至于在C++刚出现时, 很多人都说C++其实不是真正的面向对象语言, Smalltalk才是, 可是现在却很少听到有人再提起Smalltalk了. 我认为C/C++在计算机高级语言里的地位, 有点象英语在自然语言里的地位.
healer_kx 2006-06-26
  • 打赏
  • 举报
回复
又是这么偏激的讨论……无言了……
有这个时间,喜欢C++的多研究研究C++。喜欢C的多研究研究C。多好!
这种比较简直就是在浪费时间。
就像讨论:英语会代替汉语么?一样的无聊。

我只对最后一句话进行批驳,前面说得大概也是我想说的。
C和C++可不是英语,汉语的关系啊。。。 。。。用这样的比喻,并且说无聊还是挺误倒人的。
再说了,这个世界上又不是没有灭亡的语言,满语就快消失了嘛。
Kvci 2006-06-26
  • 打赏
  • 举报
回复
别人的老婆比自己的要好
哈哈
zcm9900 2006-06-26
  • 打赏
  • 举报
回复
如果你觉得C和C++有本质区别的话,那么只能说你的数据结构和算法还没学到家,一般来说,编译器对程序的效率不起决定性的影响。软件效率低下,是程序员的责任,而不是编译器的。
daisy122 2006-06-26
  • 打赏
  • 举报
回复
没觉得。
emp 2006-06-26
  • 打赏
  • 举报
回复
开源的编译器决定了c++不会象smalltalk一样走向灭亡的
我啃 2006-06-24
  • 打赏
  • 举报
回复
就算可以用METAPROGRAMMING加上模板和泛型,更本上来说C++比C要慢一点,可能有些方面是快,但是例如狂野地操作内存这种能力还是C比较强
sharpdew 2006-06-23
  • 打赏
  • 举报
回复
用c写web程序的大有人在哦,呵呵
我啃 2006-06-23
  • 打赏
  • 举报
回复
今日惊闻一种怪论:他们做的软件效率不高,性能不好是因为以前用的是C++,认为改成C效率就会很高了.他们的理由是:1.C++采用类的结构,封装了很多他们不知道的东西,不象C那么清晰.
只不过是因为使用了OO的思想,OO的思想就是将代码和数据合成一个封装的类。所以可以说C++比C更加有条理,更加清楚,可以用类的接口和类的运算符,不要了解内部实现只要使用就可以了。
2.C++用new,很危险!!!,呵呵.
new嘛,通用的东西如果要不出危险用用VirtualAlloc或HeapAlloc吧
3.C++的STL,不知道它是怎么实现的,怕出错!
STL嘛,至少要了解的东西,所以可以成为基本的东西,基本的可以部分替代数组链表的东西。
C程序总的来说比C++效率高,因为OO的缘故肯定会掩盖不了一些低效率的东西,接口的繁复以及诸多的重复劳动,还有类自身实现时低下效率的成分。没有办法的嘛
Dugowe 2006-06-23
  • 打赏
  • 举报
回复
我觉得大家没有在比较的意思, 不同的语言有不同的使用范围,,,

c语言发明了多少年了啊...可是我却没见有人用c写web程序(也可能只是我没见过)
老之 2006-06-23
  • 打赏
  • 举报
回复
潜力贴留名
Oversense 2006-06-23
  • 打赏
  • 举报
回复
maybe,maybe not
sarh2os 2006-06-23
  • 打赏
  • 举报
回复
又是这么偏激的讨论……无言了……
有这个时间,喜欢C++的多研究研究C++。喜欢C的多研究研究C。多好!
这种比较简直就是在浪费时间。
就像讨论:英语会代替汉语么?一样的无聊。
Dugowe 2006-06-23
  • 打赏
  • 举报
回复
前一段时间我用c++写一个模拟学生信息管理系统的程序, 另一个同学用c写
我的600多行,他的400多行,实现的功能差不多...虽然用c++的代码量大,但我却比他早写完, 测试的时候也相对安全一点...

一直听那些高人说:把类作为基本类型来看待... 我感觉用类把那些细节部分封装之后,思路反而更清晰了, 而且我觉得以用c++实现某些功能( 是某些, 呵呵 )比c容易一点...

本人实力有限,妄自评论,不当之处大家指教
Dong 2006-06-23
  • 打赏
  • 举报
回复
healer_kx(甘草(DotNeting)) ( ) 信誉:98 2006-06-23 09:44:00 得分: 0


还有比C++更难理解的语言嘛? 恐怕没有了,他们要是玩不转就转C吧。



-------------------------------------
双杯献酒 2006-06-23
  • 打赏
  • 举报
回复
只要公司给你开工资,让你干嘛就干嘛,哪里来那么多废话!
那些都是办公室的政治,不懂就离远点。
呵呵。
Veiz 2006-06-23
  • 打赏
  • 举报
回复
软件效率不高,性能不好大多是算法有问题。
中国的程序员,一般不会理会算法,
出了问题就把责任推到语言身上。
还是在改善“大O”上下功夫吧。
勉励前行 2006-06-23
  • 打赏
  • 举报
回复
如果用的是特殊的机器,因为编译器的原因那就没办法用C++了.一些工控机没有C++编译器,只有C编译器.如果你们的代码要通用,恐怕要改用C来做了.

早期的C++编译器,编译同样的C代码,确实不如C编译器,如TC2.0编译的C代码就比 TC++3.0的要好.小且快.

加载更多回复(22)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧