c语言是干嘛的

Python010

c语言是干嘛的,第1张

C语言是用来编写系统的。

最开始,人们手里除了机器码就是汇编,没有别的语言。但是汇编有很多硬件相关的特性,可移植性差。贝尔实验室要解决这一问题,就研发了C语言。

C语言可以跨平台,一份代码,配上不同的编译器就可以在各大电脑上运行。除此之外,C语言效率惊人,在某些情况中,如果汇编水平中等以下,编出来的汇编甚至没有C语言生成的机器码快。

现在,NOIP(现更名为CSP-J和CSP-S)仅允许初赛和复赛使用三种语言:Pascal、C、C++,C语言的重要性不言而喻。

虽然迈入了互联网时代,但是C语言的地位也没有低到可以忽略。C语言在对空间和时间要求较高的设备(如嵌入式设备)中发挥着重要功能,也可以编写各大语言的编译器,有着比较重要的地位。

C语言比较贴近操作系统, 纯C语言在windows平台上主要用于系统底层驱动的开发(一般会辅以汇编), 依我十几年的编程经验来看, C语言在windows平台上的优势并不大, 反而是它的兄弟c++是windows平台编程语言的主流. 这本身也是因为使用C这种非面向对象的编程语言处理界面逻辑比较复杂不方便, 也难以管理复杂的大型应用.

在linux或unix上正好相反, c语言一直到现在都还是主流, c语言编写的命令程序可以很方便与其他程序在shell上配合. c, 脚本和shell构建了一整套unix/linux哲学.

与c语言相提并论的一般是c++, 因为与java, python, vb这些语言明显不是一个领域.

c语言相对c++来说比较简单, c++则编程语言中最复杂的一个.

可以简单的总结说:

1. c语言符合unix/linux哲学, 它适合和其他程序以进程方式组合来构建大型的应用, 也是因为这个原因, linux直到2.5才把线程提到考虑范围中. linux特别重视进程的开销, 而相比windows, linux的进程开销也相对较小

2. c++语言符合windows编程环境, 大部分windows程序都是以界面为主, 在windows上想用c写界面程序是很不容易的, 而且可利用的资源还少.

所以缺点只是相对而言, 如果你适合在win平台开发, 不需要再考虑c, c++可以完全替代它. 如果你适合在linux平台开发, 你甚至可以只用c, 因为linux中的桌面系统gnome都是拿c(但是经过了一些模拟对象化的处理, 而且大部分上层应用还用了python来编写)来写的.