“第一门编程语言学C靠谱吗?”
“C还有未来吗?”
“我应该考虑学C吗?”
“C太老了吧!”
你是否也听过类似的话语?
听说过无数次,有些是面对面的交谈,而有些来自某个论坛。
虽然答案无非是“取决于具体情况”,但以我的拙见,学习C编程是非常宝贵的经验。
我想通过这篇短文向你展示C伟大的一面。
01
C的精神
首先,我想引用文档C99RationaleV5.10中的一句话:
C89委员会始终将保留C的传统精神作为主要目标。C的精神体现在很多方面,但其本质在于社区对C语言所依赖的基本原则的看法。C的精神可以总结为以下几个方面:
● 相信程序员。
● 不阻碍程序员完成任务所需的工作。
● 保持语言短小精悍。
● 仅提供一种操作的方法。
● 保持高速,即使无法保证可移植性。
下面,我将进一步讨论上述几点。
02
中级编程语言
编程语言可以大致分为两个级别:低级和高级。
低级语言靠近硬件,比低级语言更接近 CPU 的就只有电流了。这些语言又分为为机器码和汇编两种。前者是原始数据流,通常是二进制数据。为了便于人类使用,通常我们以“可读”的十六进制形式进行处理。
第二代语言汇编在机器码之上提供了一层抽象。这些语言大部分是人类可读的符号(包括符号地址)、操作码、地址、数字常量、字符串等的映射。而且每个处理器各有不同。
相较而言,高级语言提供了哪些抽象?
根据维基百科:
与低级编程语言相比,高级语言使用了自然语言元素,更易于使用,而且还可以自动化(甚至完全隐藏)计算机系统中的重要领域(例如内存管理),从而简化程序的开发过程,而且也比低级语言更易于理解。编程语言提供的抽象