C语言是编程界的“九阳神功”,学会C,再学别的编程语言如有神助
6个月前 阅读数 4收藏
以下为快照页面,建议前往来源网站查看,会有更好的阅读体验。
原文链接:https://blog.popkx.com/c-language-is-the-jiuyang-shengong-of-programming-circles-if-you-can-learn-c-and-learn-other-programming-languages-with-gods-hel/
再过四年,C语言将迎来它的 50 岁生日,同样进行周年庆的还有 PL/M和Prolog。不过,C语言至今仍然非常受欢迎,它在几乎所有编程语言中的受欢迎程度,始终排在前十名。
大多数操作系统的内核(包括 Windows,MAC,Linux,IOS 和Android 等)都主要由使用C语言实现。此外,python 的CPython 解释器,perl,ruby,差不多一半的 R 语言,以及 mysql 的MysAm 代码,甚至 java 的第一个编译器都是使用C语言编写的。
几个月前,新的 C语言标准——C18 获得批准,只要 198 法郎(瑞士货币单位)就可以购买 ISO/IEC 9899:2018标准,共520页。当然,也可以在 openstd 上免费查看该标准的最终草案。
不过,可能只有开发C语言编译器的人,或者对编译器非常感兴趣的人才会去了解吧,哈哈。
新的C语言标准 C18 并没有添加什么新功能,更多的只是修复,所以它在很大程度上可以说是 C17 的延续。对C语言最后一个主要更改是在 C11 中,包括新增对变长数组、多线程、更好的 Unicode、匿名结构体和联合体等的支持。

C语言和C++打了个平手

C++ 在 C语言的领域中取得一些进展,特别是自从 C++11 中增加了移动语义,如果能够正确使用该语法,在处理指向大对象的指针时,C++能以更小的开销,带来更好的性能,并且C++也能够在传统的嵌入式C语言领域使用。
但是,C++程序代码编译后通常还是会比C语言的大一点,因为C++增加了异常处理,以及内联模板等C语言没有的机制。例如在 Visual C++ 2017 的release 模式编译下面这段C++代码:#includeint main() { std::cout