C语言诞生50年了,不仅没有没落,反而变得越来越强大

C语言已经诞生近 50 年,但是令人惊叹的是,它不仅没有没落,反而变得越来越强大。这么多年来,在各大程序设计语言的统计排序中(如 Redmonk 和 Tiobe)始终名列前茅。在 GitHub 上,C语言在 pull request 上的排名基本维持在前十名,甚至击败了注入 Swift 之类的新编程语言。

C语言能够如此长寿,并且如此有活力的秘密是:不断进化。自 1972 年以来,C语言已经迭代了多个版本:1989 年,ANSI C(也称为ISO C)成为标准。我个人非常喜欢 C99,微软(Microsoft )和数字火星(Digital Mar)都支持这个版本。

我喜欢 C99 是因为它支持我们在代码的任何地方声明变量,而不再限制只能在函数的开头声明。而且它也支持 // 作为注释符号。

在 2011 年C语言颁布了更新的 C11 标准。C11标准增加了多线程和改进的 Unicode 支持,以及其他有助于编写更安全代码的功能(如边界检查函数)。但是需要注意的是,目前并不是所有的硬件平台的C语言编译器都支持 C11 标准。

GCC 编译器从 4.7 版本开始已经支持 C11 标准,CLang、IntelC16.0 和 PellesC 也开始支持 C11标准。

重要的C语言

毫无疑问,C语言是软件生态系统最广泛的编程语言之一。以 Linux 为例:根据OpenHub的分析,超过 31% 的 Debian Linux 是用C语言编写的,这个数据主要是指内核(几年前的 Linux 4.1 有着 1950 万行的C语言代码)。而 互联网中的大部分基础设备都使用 Linux 系统,这包括几乎所有顶级超级计算机,以及相关数据库。

因此,说C语言影响着全世界一点也不为过。

其实换一个角度来看,C语言至今仍然保持着如此活力的另一个重要原因是它一直是程序开发人员的工具。例如,Oracle 数据库一开始是使用汇编语言编写的,但是 6 年后,开发人员使用C语言重构了它。键值存储 Redis 和 LMDB,以及内存缓存系统、Aerospike(NoSQL 数据库)都是使用C语言编写的。

另外,Perl 的底层解释器,CPython 也是使用C语言实现的,R、Git、SuperPad、Apache WebServer、NGinX Web 服务器和 Chrome OS,有超过 50% 的代码是使用C语言编写的。所以,如果希望成为底层的技术专家,想研究网络通信的基础实现,C语言是必备的技能。

小结

C语言牢牢地嵌入到现代计算机中,很多号称是C语言“取代者”的编程语言也常常只是说说而已。即使替换C语言的完美编程语言出现了,替换遗留代码的相关成本也使得C短期内不太可能消亡。例如,十年前,Linux 基金会估计花费 108 亿美元建立 FEDOLA 9 Linux发行版的成本,是判断广泛的代码替换成本的一个很好的参考。因此,C语言基本上很难消亡,现在人类太多的基础设施都是依赖它的。

阅读更多:   杂谈
添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gif