|
因为他们把学习C语言和学习低级编程混为一谈。
学习如何真正利用C语言是非常困难。要做到这一点,你必须很好地了解现代CPU的工作原理。
例如你要知道一些程序集,知道内存是如何布置的以及堆栈和堆栈是如何工作的,您应该了解内存分配是如何工作的以及如何手动管理您拥有的内存。
而且最重要的是,你也必须知道一堆C语言或者根本不公开的东西,或者是间接暴露的东西(常规性BUG)。您必须了解缓存层次结构以及如何读取内存。
你必须了解操作系统是如何工作的。您必须了解像SIMD这样的特殊指令集。
所以理解这大部分知识实际上就是正确学习C语言了。
C语言只是一个工具,你也可以使用其他语言的大部分知识,或者直接编写程序集,或者通过生成LLVM字节码,或者通过设计用于低层计算的DSL来实现...
所以如果用C语言编程,那么你就必须了解底层的编程过程,否则用C语言是没有意义的。
拥有更简单的基础,才能构建更复杂的事物!
|
|