首页 > 学习资料 > 编程知识

50岁的C语言,仍在驱动着世界! 2022-07-10 18:16:17

  哈喽艾瑞巴蒂

  这里是你的可爱博酱子呀

  还有两天就迎来五一小长假啦

  小伙伴们是不是都很兴奋呢

  

  话说一定有大聪明知道

  今年是C语言诞生的50周年!

  尽管C语言面世多年

  也有人用暮年来形容它

  但它仍然在为世界赋能

  起着不可或缺的作用

  那么C语言到底有什么魔力

  可以做到屹立不倒呢?

  博酱今天就带你一探究竟~

  今天存在的许多 C 项目都是在几十年前开始的。

  UNIX 操作系统的开发始于 1969 年,其代码于 1972 年用 C 重写。创建 C 语言实际上是为了将 UNIX 内核代码从汇编语言转移到更高级别的语言,后者可以用更少的代码完成相同的任务。

  Oracle 数据库开发始于 1977 年,1983 年其代码由汇编改写为 C,成为世界上最流行的数据库之一。

  1985 年发布了 Windows 1.0。尽管 Windows 源代码不公开,但据说它的内核大部分是用 C 编写的,有些部分是汇编的。

  Linux 内核开发始于 1991 年,也是用 C 语言编写的。第二年,它在 GNU 许可下发布,并被用作 GNU 操作系统的一部分。GNU 操作系统本身是使用 C 和 Lisp 编程语言开发的,因此它的许多组件都是用 C 编写的。

  有人可能会说,这些项目都是几十年前的,那时候选择少,其实不然。如今很多的项目也是基于C语言启动的。

  C语言如何驱动世界?

  尽管各种语言层出不穷,但 C 继续在为全世界的应用系统赋能。以下是一些被数百万人使用的基于C 语言编程的系统。

  微软Windows

  拥有大约 90% 的市场份额的 Windows 的内核主要是用 C语言开发的,有些部分是用汇编语言开发的。

  Linux

  Linux 也主要是用 C 语言编写的,其中一些部分是汇编语言。世界上 500 台最强大的超级计算机中约有 97%运行 Linux 内核。

  Mac

  Mac电脑操作系统也是由C语言驱动,因为OS X的内核大部分是用C语言编写的。Mac中的每个程序和驱动程序,就像Windows和Linux电脑一样,都是在由C语言驱动的内核上运行。

  移动设备

  iOS、Android和Windows Phone内核也是用 C 编写的。它们只是对现有 Mac OS、Linux 和 Windows 内核的移动改编。因此,大家每天使用的智能手机都在 C 内核上运行。

  

  数据库

  世界上最流行的数据库,包括Oracle、MySQL、MS SQL Server和PostgreSQL,都是用C语言构建的。(其中前三个实际上是C和C++)

  

  除了以上这些,C语言还在3D电影、嵌入式系统等领域起着重要作用。

  C语言为何久经不衰

  THE MEANING OF LIFE

  今天,有许多编程语言让开发人员在不同类型的项目中效率更高。有更高级别的语言提供更大的内置库,可简化 ON、XML、UI、网页、客户端请求、数据库连接、媒体操作等的工作。但尽管如此,仍有很多理由让我们相信 C语言将在很长一段时间内会继续保持活跃。

  以下是 C 在某些应用程序中无与伦比的优势。

  可移植性和高效

  C 是一种可移植性很好的语言。它尽可能地接近机器,而它几乎普遍适用于现有的所有处理器架构。几乎所有现有架构都至少有一个 C 编译器。而如今,由于现代编译器生成了高度优化的二进制文件,用手写汇编来改进它们的输出并不是一件容易的事。

  这就是它的可移植性和效率,“其他编程语言的编译器、库和解释器通常用 C 实现”。Python、Ruby和PHP等解释型语言的主要实现都是基于C。它甚至被编译器用于其他语言与机器通信。

  内存操作

  内存管理和指针运算是使 C 语言非常适合系统编程(操作系统和嵌入式系统)的一个重要特性。

  确定资源使用

  开发人员进行系统编程不能依赖的一个常见语言特性就是垃圾收集,甚至对一些嵌入式系统来说,只能进行动态分配。嵌入式应用程序在时间和内存资源方面非常有限。对于一些实时的嵌入系统,它们无法承受垃圾收集器的非确定性调用。如果因为内存不足而不能使用动态分配,那么拥有其他内存管理机制就显得尤为重要,比如将数据放在自定义地址中,就像C语言的指针所允许的那样。那些严重依赖动态分配和垃圾回收的语言不适用于资源紧张的系统。

  Code Size

  C 的运行时间非常短。并且其代码的内存占用比大多数其他语言要小。例如与C++相比,一个由C语言生成的二进制文件,其体积大约是由类似的C++代码生成的二进制文件的一半。造成这种情况的主要原因之一是异常支持。

  学习C的理由

  THE MEANING OF LIFE

  大家可能只知道Python学起来简单,实际上C作为一门老牌编程语言,学起来也并不难。

  通用语言

  C语言是开发人员的通用语言,网上或者图书里面的不少算法都是基于C语言实现,这也为实现提供了最大的可移植性,开发者也会从中受益。

  理解机器(用 C 语言思考)

  当我们与同事讨论某些代码部分的行为或其他语言的某些特性时,我们最终会“用 C 语言交谈”:这部分是将“指针”传递给对象还是 ** 整个对象?这里会发生任何“转换”吗?

  在分析高级语言的一部分代码的行为时,我们很少讨论或思考一部分代码正在执行的汇编指令。相反,在讨论机器正在做什么时,我们能用 C 语言非常清楚地描述出来。

  

  从事许多有趣的 C 项目

  许多有趣的项目,从大型数据库服务器或操作系统内核,到小型嵌入式应用程序,都是用 C 语言完成的。像 C 这样古老而小巧,但功能强大且经过时间验证的编程语言,一定是值得你学习的。

相关标签:

<