为什么大家都选择C语言,为什么现在有这么多编程语言了,系统还是用C语言编

2021-02-01 18:11:01 字数 3153 阅读 9432

1楼:

你听谁说的?c语言的领域现在集中在操作系统、驱动程序、单片机开发、嵌入式系统这些方面(而且python、go等语言还在向它的领域渗透),其他领域里面c并不是首选,工程师会根据领域的实际需要,选择适合的语言和库,这世界上每种语言都有它擅长和独到的地方。

为什么现在有这么多编程语言了,系统还是用c语言编

2楼:杨尘一

因为如果要在开发时间和软件效率之间取一个平衡点的话,开发操作系统的平衡点就是c语言。除了c语言以外,其它语言都不具备某些特性、不够方便、软件效率不高。

写操作系统需要编程语言提供以下几个特征:

1、跨平台,不能是只在某个平台下编译(vb就不行);

2、必须是编译型语言(php就不行),或者有一个非常高效的解释器;

3、必须有方便的操作硬件的功能,容易嵌入汇编(java就不行);

4、兼容性要好,最好不同编译器编译的符号要基本相同,容易链接(c++不行,如果放弃class的话c++基本可以);

5、编译器本身最好是由该语言自己完成的(大部分语言的编译器都是用c/c++写的);

6、开发者可以很方便的扩展、改造、或者使用第三方的运行库(大部分语言的库都无法修改);

7、开发者众多(小众语言就不行);

8、该语言开发操作系统的资料要足够完善。

所以总结下来,c语言是首选。

3楼:匿名用户

c语言之所以强大是因为其灵活性高,对硬件可以进行直接访问,直接访问就是高效,这就是为什么c语言一直被用来进行低层开发的原因。比c更底层的那只有汇编语言了。但是这种高效性的代价就是开发异常复杂,程序员需要实现大多数细节,另一个代价是危险性高,因为直接对硬件控制,一个字节的错误都是不可忽视的。

其他语言,如c#,java等,把低层控制都封装了,程序员无法直接控制低层硬件,丧失了一定的灵活性,但是更安全,开发速度更快,因为很多细节问题都已经被语言开发者解决,用户所作的只是使用而已。

各个语言之间的比较,这还真不好比较,主要看你为什么平台开发。语言发展至今,已经不分伯仲,各有各的优势,选择一个你觉得最习惯的吧。

4楼:匿名用户

根据用途的不同,语言的选择也不同

嵌入式开发一般都用c语言

游戏编程和大型pc软件一般都用c++

可移动设备上的软件比如手机一般都用java小程序推荐使用vb

5楼:匿名用户

c是很强大

但是编程不方便啊

而且只是面向结构的

而现在很多语言都是面向对向的

有助于天发大的系统

vc写windows系统的应用程序好

java安全性好,可移植性强,开发程序速度快建议把c学好,数据结构学好,再想学什么都快

6楼:匿名用户

只有c和汇编可以操作硬件,而汇编没有c简单好用;操作系统是硬件与软件的接口和平台,需要操作硬件,所以用c。

汇编执行效率最高,c次之,这两种语言可以操作硬件。汇编和c也用于底层的开发如硬件驱动,数控机床的编程;

c++一半用于基于系统的大型软件开发。

fortran一般用于科学计算,如数学,物理的计算。

java,c#用于基于网络的开发。如**,控件等;

visual basic 用于开发 windows 环境下的各类应用程序。如程序接口(api)函数,动态链接库,对象的链接与嵌入、开放式数据连接等;

重点说一下java,他是唯一程序可以跨平台运行的编程语言,大到大型系统,小到嵌入式系统(如手机游戏)都可以看到他的身影。

7楼:匿名用户

因为 现在来说 还是c的效率最高效 ! 也就是说除了汇编 最高效的编程就是c 你可能会问 为什么不用汇编呢 因为汇编的可移植性是非常那个的!

为什么现在的操作系统基本上用c语言来实现

8楼:物理公司的

因为如果要在开发时间和软件效率之间取一个平衡点的话,开发操作系统的平衡点就是c语言。

除了c语言以外,其它语言都不具备某些特性、不够方便、软件效率不高。

写操作系统需要编程语言提供以下几个特征:

1、跨平台,不能是只在某个平台下编译(vb就不行);

2、必须是编译型语言(php就不行),或者有一个非常高效的解释器;

3、必须有方便的操作硬件的功能,容易嵌入汇编(java就不行);

4、兼容性要好,最好不同编译器编译的符号要基本相同,容易链接(c++不行,如果放弃class的话c++基本可以);

5、编译器本身最好是由该语言自己完成的(大部分语言的编译器都是用c/c++写的);

6、开发者可以很方便的扩展、改造、或者使用第三方的运行库(大部分语言的库都无法修改);

7、开发者众多(小众语言就不行);

8、该语言开发操作系统的资料要足够完善。

所以总结下来,c语言是首选。

当然了,不是说其它语言一定不行,只是其它语言开发操作系统时会有各种各样的不方便的地方,因为有人就用java+汇编来实现一个操作系统,也不是不可以,只是很麻烦。(参见写操作系统只能用汇编和c语言? - 北极的回答)

而由于最早开发操作系统的时候选用了c语言,而且一直延续了下来。不管是习惯还是语言特性,c语言一直都很符合条件,因此没有必要冒着各种风险换一种语言来开发。

补充,如果使用c++写操作系统,并不是特别困难。c++的问题在于混合编译时符号表比较麻烦(vc和gcc生成的全局符号名字不一样),c++的运行效率略低于c,所以一般没有人用c++去写内核。

但是windows里确实存在着使用c++写的驱动,也算是属于操作系统的一部分吧。

嵌入式开发中为什么选择c语言

9楼:藏獒肉前

能直接访问硬件,指在c语言中,我们可以通过指针控制内存以及寄存器。嵌入式系统是软硬结合的东西,所以我们选择学习能直接访问硬件的高级语言——c语言。

我汇编和c语言都可以直接访问硬件。但汇编的语法较为简单,所以对硬件做初始化操作时选择汇编,而对硬件做初始化时选择c语言(c语言是高级语言中最低级的,但是c语言也具有高级语法)。

很高的运行效率c语言是高级语言中最低级的语言,可以直接编译生成硬件识别的机器码文件。而其他的高级语言需要相应的语言解释器做解释后,再编译。接下来通过c语言与java语言的比较,来帮助读者理解为何c语言相比其他高级语言执行效率较高

请问C语言用什么程序编程好用

1楼 匿名用户 tubor c 2 0 2楼 我个人特不喜欢用 tubor c,应为太丑了,而且是c模式,用中文版也还比较麻烦。 我介绍两个软件 c 6 0 ,很容易上手,中文界面,创建工程 调试程序都比较简单。缺点就是有点儿大。 eclipse 一个ibm的免费的开源编译器,就像《暴风影音》一样,...

C语言编程用什么标点符号,在C语言中各个标点符号的作用

1楼 通通爱吃糖 英文半角的标点符号,建议使用自带的英文键盘,也就是不用输入法,那个是不存在全角半角一说的 2楼 匿名用户 英文状态下的标点符号 在c语言中各个标点符号的作用 3楼 恶魔 好的 分号, 在c语言中表示句号,是非循环体都要有的,每一个语句结束都要有,逗号,一般用于变量声明一次声明一堆还...

有哪些程序语言,要全称,编程语言C++的全名是什么?

1楼 匿名用户 cdelphi c c plus plus java vb visual basic c php jsp等等,从计算机的诞生但现在,已经开发了很多的计算机语言,向人类的语言一样,有的渐渐的被遗弃了。 还有一些新型的语言在普遍流行。 可以在互联网上搜索下。。。 2楼 匿名用户 vbc ...