为什么LINUX下编程很少用C++,而是用C更多

ychking 2005-10-09 09:33:52
为什么LINUX下编程很少用C++,而是用C更多,
这好像跟在WINDOWS下的编程相差很大,WINDOW下大部分都是用C++,C#,JAVA,等面向对像语言.
为什么LINUX下则更多用C呢?

用C实现面向对像编程方便吗?
...全文
2436 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
tb01412 2005-10-31
  • 打赏
  • 举报
回复
比如内核开发:C比C++的执行效率会高一些(对于同一种水平写有关操作系统的内核方面的功能的时候),而且C++程序编译后会比C要大一些(基于同等条件下),还有一点就是C比C++出现得更早一些,这就是习惯,早期的内核是用C写的,总不能让写它们的人全部用C++来实现一遍吧???人家也没这个精力,还要去测试稳定性,还要去学习C++(也许有些高手只会C而不会C++的,好像只有我们这种入门级程序员才会用多种语言,大师级的人可能很多只用一两种语言)

比如应用程序开发:GTK之类的,为何这个库会用C语言开发,我想主要是习惯,可能最先开发它的人最熟悉C语言,而后来就没必要用C++重写了,再者,C与LINUX内核结合更紧密一些,它本身是用C实现的,虽然库函数同样支持C++调用,在进行运态库支持时,C++动态支持库明显比C动态支持库要大得多,在PC机上没什么感觉,但在资源极其有限的嵌入式设备上这是一个大问题。
当你在GTK上做开发,就只能用C了,因为它仅提供了C接口,就像是C库中如果不提供C++接口的话,你写代码时就得每次加上extern C之类的,总有点麻烦吧??再者,GTK整个实现思路都是基于C的。

还有一点:C++比C要复杂得多,如果你很熟悉了C,如果用C又能解决你的问题,而且也很方便解决问题,何必要跟自己过意不去呢?再投入很多精力去学C++?当然,对于高手来说,C和C++没什么区别,学C和学C++并没有什么难易,复杂简单之分,C同样地复杂,但毕竟像我们这种不起眼的平庸之辈还是最多的啊,所以还是要考虑语言上的差异,至少对我来说要考虑,如果你是高手的话,当然就不需要考虑任何东西了!!!!


在应用级程序开发时,如果你不是用的人家的基于C的开源项目,并且没有太多的硬件资源方面的限制,那么用C++比用C更方便,毕竟C++更容易OO(C也可以OO)
walnutht 2005-10-31
  • 打赏
  • 举报
回复
不同意gnome是linux标准一说,俺使用的系统就是kde的桌面,编程的界面也选用qt来干。没有什么不好阿!
getit911 2005-10-30
  • 打赏
  • 举报
回复
用C加指针也能实现基本的OOP。
sevencat 2005-10-30
  • 打赏
  • 举报
回复
C++效率不高?抛弃了那些特性后,效率可以跟C一样高。
syy6 2005-10-29
  • 打赏
  • 举报
回复
GNOME作为了LINUX的标准?谈不上吧。大部分发行版中二者都有阿。
chaolajiao 2005-10-28
  • 打赏
  • 举报
回复
假如不使用OOP的 继承 和 多态, C++的效率就和C一样了!
ychking 2005-10-24
  • 打赏
  • 举报
回复
做图形界面程序,个人认为qt还是比gtk更适合
--------------------------------------------
为什么???
  • 打赏
  • 举报
回复
....很奇怪这个问题 说了这么多年c++ 好 为什么不能在linux 平台发挥呢?
-------WINDOWS也是C编写的,其实C++的地位确实有点尴尬
analyser2003 2005-10-21
  • 打赏
  • 举报
回复
只知道KDE是基于QT的,GNOME是基于GTK的,现在GNOME作为了LINUX的标准,我想可能会影响QT作开发吧~
lirun 2005-10-21
  • 打赏
  • 举报
回复
QT比GTK好?QT只不过是一套界面库吧?要用GTK调用它才能运行的吧?
Robin 2005-10-18
  • 打赏
  • 举报
回复
:>
rabbitweng 2005-10-18
  • 打赏
  • 举报
回复
做图形界面程序,个人认为qt还是比gtk更适合
ksdiao 2005-10-18
  • 打赏
  • 举报
回复
我就做过Linux上的QT编程,典型的C++。
onion_535 2005-10-17
  • 打赏
  • 举报
回复
和blankman(菜鸟)说的差不多,众所周知,c的长处就是在效率上,不方便的就是资源管理(如动态内存分配),而c++在此上提供了OO和泛型,但也增加了语言的复杂性,在提倡简单就是美的unix/linux环境下,如果不注意使用OO容易导致简单问题复杂化。书中作者指出C++在GUI、多媒体工具包、游戏方面发挥得很好,并提倡针对你程序的应用使用已有的类库,如用来编写图形界面的Qt就是一个例子。我体会的就是在unix/linux下尽量用最简洁、有效的方式进行程序设计。此外,c和这两个平台的关系是再密切不过了,系统用c设计和实现也是一个传统的原因吧!书还在研读中、思想还在体会中...
GoldWood 2005-10-17
  • 打赏
  • 举报
回复
为什么C++效率不高,为什么C++中无法用汇编????
GoldWood 2005-10-17
  • 打赏
  • 举报
回复
有人解释一下C 和 C++ 的区别吗,我想这个问题就比较清晰了
blankman 2005-10-16
  • 打赏
  • 举报
回复
内核是C 加 汇编写的,需要考虑效率以及一些特定的地方必须使用汇编的
bon_jovi 2005-10-14
  • 打赏
  • 举报
回复
内核就是用c写的。
blankman 2005-10-14
  • 打赏
  • 举报
回复
各种语言都有其各自的优点,编程的时候是根据需要选用语言的,我的理解是也许linux下的服务器类的程序多一些吧,所以使用C语言的比较多,中间也许还会夹杂一些汇编,以保证效率
ychking 2005-10-14
  • 打赏
  • 举报
回复
《UNIX程序设计艺术》
好像是英语版的,很昏,
onion_535(因个懒惰) 能不能直接给我讲讲。分不够可以再加
加载更多回复(12)

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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