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

作者&投稿:岳闵 (若有异议请与网页底部的电邮联系)
为什么说C++与linux文化相抵触?~

C++ 面向对象的编程太乱,阅读和除错还有性能都不如 C 简单明了。
至于那帮疯子,最喜欢的事情就是用最简单的工具实现最复杂的功能。

你学 Linux 编程必须学 C 。因为很多底层软件都是 C 写的,你不写也得会阅读。而且,C 是 C++ 的基础。你直接学 C++ 也要先熟悉 C ,很多时候,用 C 简单几行就搞定的东西你非要用 C++ 去做面向对象的编程去实现会被人喷的。

这是历史原因。在C++发展之前,UNIX已经比较成熟了(LINUX内核就是UNIX),而之后的C++标准修订,主要都是微软阵营和收费软件阵营在做,和UNIX的免费阵营是对手,UNIX的一群大牛们肯定是不去理会的,造成了UNIX下更多的使用纯C。
再后来,JAVA出来之后,C/C++也发展跨平台,也有了许多可以在UNIX下开发C++的IDE了,比如CodeBlocks之类的。

一、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)的强烈批评与抵制。

当然可以用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容易得多。

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

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

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

PS:C\C++在Linux下都可以用。


linux查看当前路径可以使用哪个命令
在Linux中,可以使用pwd命令来查看当前工作路径(也称为当前目录)。该命令会显示你当前所处的目录路径,例如\/home\/user\/documents。要使用pwd命令,只需在终端中输入pwd,然后按下回车键即可。此外,也可以使用ls-l命令来查看当前目录的完整路径。该命令会列出当前目录下的文件和子目录,并显示它们的详细...

Linux下Grep命令的详细使用方法?
1、基本用法 grep命令的基本用法是在文件中查找包含指定模式的行。例如,要在文件file.txt中查找包含example的行,可以执行以下命令:grep 'example'file.txt grep将输出所有包含'example'的行。2、忽略大小写 默认情况下,grep区分大小写。如果要忽略大小写进行搜索,可以使用-i选项。例如,要在文件中...

Linux下能不能使用.net?
当你启动了这个MonoDevelop IDE后,你就可以使用File菜单中的import,插入一个Visual Studio项目,然后在MonoDevelop IDE中编译和运行。不过这时要注意,Mono支持C#但是并不支持VB.NET,所以,请确定你的应用程序是用c#编写的。最后,无论你是一个寻找新的Linux下开发工具的的开发者,或者是一个寻找新的...

linux有什么用
1、linux是开放源代码的操作系统,它的每一个操作,你都能够充分了解,并且可以按照你的想法加以修改,这对一个计算机学生或者计算机爱好者来说,无疑是有很大帮助的,它可以让你知道系统是怎样工作。2、 其次是Linux系统是由C语言写成的,对深入了解和学习C语言的同学无疑是最适合的环境,Linux下使用VI...

Linux 系统下可以用U盘吗,怎么用?急
可以在linux中可以用U盘啊,不过前提是你的磁盘需要先加载上去,在超级用户下输入 mount_-0_iocharset=gb2312_\/dev\/sdxx_\/mnt 我试过了,可以

在linux下开发一个软件,可以在各种linux版本下能使用吗
C语言的话只要你引用的头文件或者库文件在另一个Linux发行版中有就可以。如果你涉及到了Linux内核更新的函数的话可能就会不行。。。一般都是可以的。。可以看一看每个版本内的的Changelog java文件只要你的JRE版本比你编译程序时的JDK版本高或者相同都可以 ...

Linux主要应用在哪些方面?
最后:常见的Linux系统有:目前主流的有两大阵营,6个系统.- Redhat系列:包含CentOS,Fedora,Red Hat Enterprise Linux(RHEL)- Debian系列:包含Debian,Ubuntu,Kali 还有其他阵营暂不考虑了.- CentOS: 目前国内企业应用最广泛的也是首推的Linux系统,主要用于服务端.- Ubuntu: 世界上应用范围很广,家用,企业用...

如何在linux系统下使用 find 命令
使用 find \/etc -name httpd.conf 就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“\/ ”这个函数符号的含义,如果输入 “find\/ ”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find\/etc”就是只在 etc目录下查找文件。因为“find\/...

Linux下怎样可以打开浏览器?高手救救我。!
Linux下的浏览器很多,一般Linux系统中使用比较广泛的是firefox火狐浏览器。这里以firefox为例。1、首先,安装firefox,这里以ubuntu为例进行安装。说明:1)、sudo命令:sudo命令用来以其他身份来执行命令,预设的身份为root,简单来说就是提升权限,因为apt-get install是要安装程序,这个需要管理员权限,因此...

linux系统可以用无线网卡吗
可以 linux作为当今市场上嵌入式系统使用比例最高的操作系统,其驱动模式支持模块堆叠技术,内核开发者已提供了一些通用模块。现从工程应用出发,研究并移植了linux下usb无线网卡的设备驱动,以此为基础既可以构建嵌入式无线局域网,又可以用于有线网络无法延伸或难以安装,以及有可灵活移动和临时性使用等要求的...

临河区18824185322: LINUX下可以使用C++么?为什么说C++与linux文化相抵触? -
势颖聚克: 一、Linux下不仅可以用C++,而且可以很好的用C++.Linux的著名桌面框架KDE就是用QT开发的,QT是C++的一个程序框架.只要有C++库和编译器就可以编写、编译C++程序,这个放心.二、出处:参见《unix编程艺术》对c++的批评....

临河区18824185322: linux 命令能用语言c++写吗 -
势颖聚克: c语言是面向过程的语言,c++是面向对象的,不过面向对象还是需要面向过程的支持的,所以你会了C++,基本上离会c语言就不远了... linux是操作系统,我不知道你说的命令是什么意思,是linux的命令行命令呢?(--即 类似于windows DOS 窗口下的命令;)还是说的是linux提供的函数接口,如 read() write()lseek()函数调用; linux命令行命令是用c语言写出来的命令工具,相当于应用程序,不过用C++也可以写的,不过使用的是C++的编译器进行编译罢了,最后生成的程序都能在linux上面跑

临河区18824185322: C++程序能在linux下运行吗 -
势颖聚克: 运行可以.不过编译 Linux 下面比较特殊,编译过程一般都是用 make 来执行编译过程控制的.编译用 GCC ,这两个都是命令行程序.前端程序似乎用的人不多,印象里 eclipse 里有这么个功能,但是大家传统上都是打命令来进行编译过程(相对来说环境要求低,make 命令是所有 Linux 乃至 UNIX 都有的程序).如果你不用 make .而是自己写编译过程控制(或者自己写个 make 的外壳调用程序,我记得有这种图形下的替代程序),那么你就不需要终端下进行编译.其实 Windows 下面,编译过程控制和编译程序也是命令行的,但是 Visual Stdio 这种集成化的 IDE 环境提供了外壳,所以你感觉是没用上命令行的.

临河区18824185322: Linux系统下能用VC++不 -
势颖聚克: 不能,除非用Wine模拟……

临河区18824185322: 在LINUX下能不能写C++程序啊? -
势颖聚克: 可以的.习惯VC的话可以用kdevelop这样的集成开发环境.或者命令行$ g++ 或$ c++ 编译c++文件.

临河区18824185322: linux的程序为什么都不用c++而用c?象vim为什么不用c++编写? -
势颖聚克: C语言和linux是共同发展起来的.C语言更能代表linux文化.C++面向对象的语言,面向对象会把数据封装起来,这种做法和C语言相比较,不便于程序员和程序员的交流,也不便于程序员和系统交流.而VIM是开源软件,也是linux文化的代表软件,当然得用C语言.

临河区18824185322: liunx系统下怎么运用C++
势颖聚克: 要在Linux下开发C++,你需要两件东西: 1.编译器:G++ 2.编辑器:你可以用KDE自带的KDevelop,不过看似不是很好用. 推荐的作法: 1.确认你的Linux是否有G++编译器,直接在命令行输入: $g++ 就知道了,一般都是有的. 2.到Eclipse的官方网站下载一个CDT(Eclipse 的 C/C++ 开发版) 地址:(Eclipse IDE for C/C++ Developers ) http://www.eclipse.org/downloads/ 然后新建一个项目就可以写C++了 当然,如果你比较骨灰,你也可以直接用 vi 来写代码~

临河区18824185322: 能用UBUNTU学C++吗 -
势颖聚克: 当然可以..开发就用vim或emacs,编译有gcc和g++.另外,VC++是编程环境,而C++是一种语言.所以并不一定说学C++就一定得学VC++,不过现在的大学课程绝大多数都是VC++.在linux下,一般带的编译器对代码的标准要求会比WIN下严格,当然,这种严格是好的,保证了代码的可移植性.想学的话,直接去看C++教程就好了,linux下的C/C++并无不同.不过要注意的是,找教程要找相对新一点的,至少要在C++标准化之后出版的.不然,可能由于标准的不一致性导致代码不能被编译器成功编译.推荐C++ primer第四版,当然也可以是别的书.

临河区18824185322: Viusal C++可以用在linux下么? -
势颖聚克: 当然可以,C语言本来就是在UNIX下开发的

临河区18824185322: inux下用C,C/C++和Windows下用C,C/C++有什么区别? linux下用C,C/C++和Windows下用C,C/C++有什么区别 -
势颖聚克: c、c++甚至java所有这些东西都仅仅只是语言,用它们写出来的东西叫做源代码.源代码机器是不能够运行的,所以需要通过编译器这个软件来把源代码编译成机器语言,也就是应用程序.现在的应用程序都是需要调用操作系统的 borland的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网