LINUX下可以使用C++么?为什么说C++与linux文化相抵触?
c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linustorvalds与著名黑客EricS.Ra...
c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制?
这段话从何而来啊,另外,请问,LINUX下可以用到C++么?
我初学编程语言,以前计算机二级过的是FORTRAN。而且想在LINUX下使用,如果认真一些,直接学习C++可以不? 展开
这段话从何而来啊,另外,请问,LINUX下可以用到C++么?
我初学编程语言,以前计算机二级过的是FORTRAN。而且想在LINUX下使用,如果认真一些,直接学习C++可以不? 展开
8个回答
展开全部
一、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)的强烈批评与抵制。
Linux的著名桌面框架KDE就是用QT开发的,QT是C++的一个程序框架。
只要有C++库和编译器就可以编写、编译C++程序,这个放心。
二、出处:参见《unix编程艺术》对c++的批评。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。
展开全部
当然可以用C++。
从运行效率上来说,C++和C相差不是太多。C稍微高一点。
从所谓的编码风格来说,C++是面向对象编程,C所谓的面向过程。但是通过使用函数指针,你也可以实现面向对象,你可以看看内核的代码。
下面回答一下为啥不喜欢C++的原因吧。
从编译器的角度来说,C++的编译器帮你做了一些你必须要注意的事情,比如拷贝,比如继承之类的。这种事情看起来可以减少编写代码的长度,但是对于维护和调试来说却带来了巨大的麻烦。因为编译器额外做了一些没有让你看到的事情,这些事情你又必须理解了才能让程序正常运行,这就是为啥说C++难以调试。你愿意花1天来写代码,然后花不知道多少天来调试呢,还是愿意花3天来写代码,然后花2天来调试呢?当然,你可以说是写代码的人水平不够造成了这个问题,但是你要知道人总是会犯错误的...这种基于隐藏规则的检查就应该由编译器来干才对。
要是想减少编码长度,可以选择Python啊,干嘛用C++?
从运行效率上来说,C++和C相差不是太多。C稍微高一点。
从所谓的编码风格来说,C++是面向对象编程,C所谓的面向过程。但是通过使用函数指针,你也可以实现面向对象,你可以看看内核的代码。
下面回答一下为啥不喜欢C++的原因吧。
从编译器的角度来说,C++的编译器帮你做了一些你必须要注意的事情,比如拷贝,比如继承之类的。这种事情看起来可以减少编写代码的长度,但是对于维护和调试来说却带来了巨大的麻烦。因为编译器额外做了一些没有让你看到的事情,这些事情你又必须理解了才能让程序正常运行,这就是为啥说C++难以调试。你愿意花1天来写代码,然后花不知道多少天来调试呢,还是愿意花3天来写代码,然后花2天来调试呢?当然,你可以说是写代码的人水平不够造成了这个问题,但是你要知道人总是会犯错误的...这种基于隐藏规则的检查就应该由编译器来干才对。
要是想减少编码长度,可以选择Python啊,干嘛用C++?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)肯定可以的呀!
2)只是Linux下的编程通常偏向效率,而明显C的效率明显要好于C++,但是C++的面相对象特性,对于布局/架构代码也明显不是C可以做得到的。
3)现在很多Linux下的开发工作主要就集中于服务器和嵌入式,都比较偏重于效率性,尤其嵌入式;但是对于服务器,个人觉得如果不是对效率要求非常严苛,还是可以用C++的,毕竟C++对于管理代码,理解代码的架构还是比C容易得多。
2)只是Linux下的编程通常偏向效率,而明显C的效率明显要好于C++,但是C++的面相对象特性,对于布局/架构代码也明显不是C可以做得到的。
3)现在很多Linux下的开发工作主要就集中于服务器和嵌入式,都比较偏重于效率性,尤其嵌入式;但是对于服务器,个人觉得如果不是对效率要求非常严苛,还是可以用C++的,毕竟C++对于管理代码,理解代码的架构还是比C容易得多。
更多追问追答
追问
为什么C++理解代码比C容易得多?
追答
因为C++的面相对象特性啊,你可以将每个功能都封装成一个类,功能单一,清楚,尽量做到与其他类少关联,这样你理解一个功能就可以集中精力在这个类上,而对于整体的结构又可以根据每个类的关系来理解。
而C是面向过程的语言,虽然也可以将部分功能封装到函数里面,但那只是很小的功能性,没什么结构,你里面代码时,就得全部代码一起,“逐行逐行”跑下来,多苦啊。
当然,对于千来,几千行的代码,都一样,但是当代码量上W,10W甚至更多的时候,就体现出来了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-28
展开全部
当然可以使用C++啊。
那段话的意思主要是指责C++语言的复杂性。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
那段话的意思主要是指责C++语言的复杂性。
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在没有学会骑自行车之前,可以不要学习开摩托车,就更别说开汽车了。这个问题是见仁见智的,复杂不复杂,好不好用是大家看问题的角度和层次不同。抵制是因为这些大拿都已经做出了,或者以后还会做出更好的工具...
如果是个工具,你可以学习并且用好它;如果你学好了,想发展它,可以继续深入的研究它;如果它确实有无法克服的缺陷,那就开发一种更好的工具取代它。如果能做到第一步,也就不错了。
PS:C\C++在Linux下都可以用。
如果是个工具,你可以学习并且用好它;如果你学好了,想发展它,可以继续深入的研究它;如果它确实有无法克服的缺陷,那就开发一种更好的工具取代它。如果能做到第一步,也就不错了。
PS:C\C++在Linux下都可以用。
追问
你的意思是我现在学C还是学C++都行是么?还没到我能体会到他复杂程度的地步?
你认为C是自行车,C++是摩托车?
追答
False.
它们都可以同时是任何车,关键是用的人的水平。把它们当自行车骑要卖点力啊,当成摩托车骑就省多多劲老。要是能开成汽车,可以上高速。如果当成飞机开上了蓝天,你就可以看到原来在地上看不到的东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询