人文艺术 > 为什么很多人说c/c++能站在编程语言鄙视链顶端,而对于号称“21

为什么很多人说c/c++能站在编程语言鄙视链顶端,而对于号称“21

2020-08-04 09:09阅读(99)

为什么很多人说c/c++能站在编程语言鄙视链顶端,而对于号称“21世纪的C语言”的go语言却无此说法?:因为现在Windows.,Linux,安卓等操作系统无一例外都是c/c++写

1

因为现在Windows.,Linux,安卓等操作系统无一例外都是c/c++写的,浏览器无一例外也是。其它语言,java的虚拟机也是c/c++写的,php服务器是c/c++写的,python调用的c/c++写的库。路由器交换机等网络设备都运行的c/c++写的程序。可以说现代的c整个通讯,It,互联网其实是建立c/c++基础之上。凡是高精尖的,实时要求高的,机器人导弹飞机航空宇航的控制系统都c/c++的天下。

2

经常收到这类的问题邀请,如果用吃瓜的态度提出这样的问题,那就真的很无聊。如果是因为择业或者工作中的选择那就另当别论。如果是计算机科班出身的朋友提出这样的问题,也表明了他的所有专业课并没有学进脑子里,因为专业课弄通了,肯定对C/C++有一个比较全面的认识。提问人具体什么原因提出这样的问题不得而知。我假设以择业为目的,说说对C/C++的看法。

前面很多朋友都说过C/C++的应用场景,以及它在软硬件中的地位,就不再重复了。

从计算机专业择业的角度来讲,C语言的工作更多是面向系统层面的开发。怎么说呢?具体的就是单片机,嵌入式系统的开发。应用的场景,大领域有军工,航天,电力。小领域比如路由器,手机基板,玩具机器人。这些都是看得见的产业。那么人工智能,大数据,BI之中的分析系统的开发场景就非常不适合使用C/C++开发,效率太低,成本太高,反而Python这种解析型语言更适合这类的开发。所以谁是所谓的王者,首先要看应场景。应用场景通常有两个方面要满足:高性能(编译型语言),高伸缩性(解析型语言),这两个方面正好互斥。高性能滋味着需要制造特定环境,放弃可扩展的功能,全力只做最核心的事。高伸缩性通俗讲就是随时随地随便改,想到哪改到哪,改完立即可用。

说这么多,说白了如果工作是互联网业务开发,不要主攻C语言,以学习更多的技术框架为主。如果是传统行业或者互联网网络底层,学习C语言还是很有必要的。但有一条要注意的,不是所谓的底层就工资高,工资高低基本是所在岗位所赋予的。

那么精通C语言是不是可以鄙视其他所有语言呢?肯定不是,因为从来都只有钱多鄙视钱少的,哪怕英语汉语什么语言都不懂。

3

C语言可以自举,就是自己可以编译自己,这是以前可以秒杀各类程序设计语言的存在,因为其他编程语言的编译还要用C/ C++编写自己的编译器。现在go也完成了自举,就不存在这种鄙视了。

4

C是基础

5

因为其他语言都是C/C++语言写的可以说是其他语言的父亲。而且c++大型工程、小型驱动通杀,这一点c/c++的父亲汇编做不到,汇编现在单片机都不怎么用了,同时也是其他语言办不到的。当然,随之而来的问题就是入门门槛高,难度大。所以这一系列既是其他语言之父,又有大量实际应用,占比还不小,同时还难于掌握。所以能精通c/c++语言的当然有理由站在鄙视链顶端了。

当计算机性能进一步提高,一定会有其他语言取代c/c++,就好比现在c基本已经取代汇编一样。但目前还没有哪个语言体现出这种潜力,至少JAVA、js、Python,go都不可能。

6

编程语言 只有合适一说,平均工资有高低,受供需关系影响。c语言接近计算机软硬件接口,熟悉了可以理解计算机软件系统 的运作细节。go 语言,相对c可以提高 编程速度。

7

Go对标的绝对不是c,对标c语言的是rust