问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

LINUX下可以使用C++么?为什么说C++与linux文化相抵触?

发布网友 发布时间:2022-04-22 15:43

我来回答

5个回答

热心网友 时间:2023-11-11 03:29

一、Linux下不仅可以用C++,而且可以很好的用C++。
Linux的著名桌面框架KDE就是用QT开发的,QT是C++的一个程序框架。
只要有C++库和编译器就可以编写、编译C++程序,这个放心。

二、出处:参见《unix编程艺术》对c++的批评。

C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。

热心网友 时间:2023-11-11 03:30

当然可以用C++。
从运行效率上来说,C++和C相差不是太多。C稍微高一点。

从所谓的编码风格来说,C++是面向对象编程,C所谓的面向过程。但是通过使用函数指针,你也可以实现面向对象,你可以看看内核的代码。

下面回答一下为啥不喜欢C++的原因吧。
从编译器的角度来说,C++的编译器帮你做了一些你必须要注意的事情,比如拷贝,比如继承之类的。这种事情看起来可以减少编写代码的长度,但是对于维护和调试来说却带来了巨大的麻烦。因为编译器额外做了一些没有让你看到的事情,这些事情你又必须理解了才能让程序正常运行,这就是为啥说C++难以调试。你愿意花1天来写代码,然后花不知道多少天来调试呢,还是愿意花3天来写代码,然后花2天来调试呢?当然,你可以说是写代码的人水平不够造成了这个问题,但是你要知道人总是会犯错误的...这种基于隐藏规则的检查就应该由编译器来干才对。

要是想减少编码长度,可以选择Python啊,干嘛用C++?

热心网友 时间:2023-11-11 03:30

1)肯定可以的呀!
2)只是Linux下的编程通常偏向效率,而明显C的效率明显要好于C++,但是C++的面相对象特性,对于布局/架构代码也明显不是C可以做得到的。
3)现在很多Linux下的开发工作主要就集中于服务器和嵌入式,都比较偏重于效率性,尤其嵌入式;但是对于服务器,个人觉得如果不是对效率要求非常严苛,还是可以用C++的,毕竟C++对于管理代码,理解代码的架构还是比C容易得多。

热心网友 时间:2023-11-11 03:31

当然可以使用C++啊。
那段话的意思主要是指责C++语言的复杂性。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。

热心网友 时间:2023-11-11 03:31

在没有学会骑自行车之前,可以不要学习开摩托车,就更别说开汽车了。这个问题是见仁见智的,复杂不复杂,好不好用是大家看问题的角度和层次不同。抵制是因为这些大拿都已经做出了,或者以后还会做出更好的工具...

如果是个工具,你可以学习并且用好它;如果你学好了,想发展它,可以继续深入的研究它;如果它确实有无法克服的缺陷,那就开发一种更好的工具取代它。如果能做到第一步,也就不错了。

PS:C\C++在Linux下都可以用。追问你的意思是我现在学C还是学C++都行是么?还没到我能体会到他复杂程度的地步?

你认为C是自行车,C++是摩托车?

追答False.

它们都可以同时是任何车,关键是用的人的水平。把它们当自行车骑要卖点力啊,当成摩托车骑就省多多劲老。要是能开成汽车,可以上高速。如果当成飞机开上了蓝天,你就可以看到原来在地上看不到的东西。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 在linux下用c++编程和windows有什么区别 Linux环境下开发c语言和windows有什么不一样么? linux是什么?Windows是什么?他们的区别是什么? linux下的C语言编程与windows下的C语言编程都是同一种语言吗?从语法上看有没有区别? linux下的C语言编程和window下的有什么不同? linux环境下的C语言编程和WINDOS下的有什么不同 linux下的C语言编程与windows下的C语言编程都是同一种语言吗?从语法上看有没有区别? Linux下的C语言编程和window下的有何不同 关于C语言在LINUX和WINDOWS下的区别。 network error是什么意思 error和mistake的区别 c++调试LINK : fatal error LNK1104: cannot open file "Debug/a.exe" 执行 link.exe 时出错. 电脑开机蓝屏显示stop :c0000218 unknown hard error怎么办? ink和error的儿子叫什么 INK : fatal error LNK1104: 无法打开文件“msvcprtd.lib”这什么意思啊,是缺少库文件吗 詟蠄衼钬渧钬濇伋姹效厷涓�ぎ锲藉姟闄五�瀵间汉锛佸彂鐢熷湪鎴戜滑鑹�父鏉戞皯缇や紬韬�竟镄勮椽姹... 平板打印机爱普生7880的机型,今天打印图片的时候开机就显示INK CARTRIDGE ERROR REPLACE CARTRIDGE错误 ink是什么意思,音标怎么写 传说之下ink是男的是女的 你认识几个sans Linux系统和windows系统下的编程有什么区别吗 windows下编程和Linux下编程有什么区别? 学习c语言还要区分linux与windows吗? C语言编程在LINUX与WINDOWS中有什么不同? 健康管理师的含金量真的那么高吗? 健康管理师证书含金量高吗? 2020健康管理师证书有含金量吗? 电脑版微博收藏在哪里? 什么牌子祛疤膏好用呢? 404 Not Found 祛疤膏哪个牌子好?求推荐 有没有用过祛疤膏的小伙伴进来说说哪个牌子的效果更好 电脑版的新浪微博,怎么看别人收藏 脸上有疤很难看,选什么牌的的祛疤膏能去疤? 哪些牌子去疤痕效果比较好,价格最好不要太贵? 我想知道孩子用除疤膏的话,德国秀碧和德国宝儿除疤啫喱怎么选择。 有谁用过德国mederma祛疤膏或泰国的hirudiod祛疤膏,一年的疤想淡化,不知哪个效果好些? 有好用的祛疤膏推荐么? 求清晰的德国地图,要有各个州及重要城市