C语言中没有复杂的数据结构,像各种容器、hash表、树等,程序员必须自己来实现这些,这也是很多同学觉得不方便的地方,然而这样设计的初衷是为了让程序员能确切的知道C代码是怎样影响硬件的,C语言也是最接近机器指令的高级语言,C语言是非常透明,而这一点在其它高级语言中几乎不可能,因为C语言的设计哲学之一就是:Trust the programmer使用C语言的程序员应该清楚的知道自己在干啥,这非常适合编写操作系统这种贴近硬件涉及大量底层细节需要精密微调的程序,当然缺点就是刚才所说的没有内置的一些常用数据结构。 |