这里的底层是相对的。
支持计算机运行的基础有 CPU,内存等部件,对于 CPU 来说,它只认识机器码。
但现在写机器语言的程序员很少了,大家都写 C,C++,Java,而且写出来的代码还真能在计算机上跑起来。
这都是各个语言编译器的功劳,它们把你写好的代码最后编译成机器码供计算机执行。编译器为你屏蔽了关于机器码的所有细节,这种行为就叫分层。
分层是计算机中随处可见,是最重要的设计思想。
分层的其实就做一件事,封装细节,向外部提供接口。这样一层层封装,最后组成一个庞大的系统。
至于程序员说的底层到底是什么?那就要看这个程序员所处的位置了。
如果一个程序员是做 WEB 开发的,那么各个框架的实现就可以算是底层了。
如果是做框架开发的,那么操作系统,各种网络协议,如 TCP/IP 就算得上是底层了。
如果做编译器的开发,那么 操作系统的实现细节, CPU 的指令集就算是底层了。
把航母开过去,揍小鬼子一顿!——这叫高层。
这个叫舵,这个改变发动机出力,想快你就往前多推点——这叫中层。
这个发动机是核动力的,它的型号是……操作规范是……——这叫底层。
核反应的原理是……——这叫地下室。
核裂变的量子解释是……——这叫low穿地心。
类似的:
你去写个hello world——这叫高层。
写hollo world我得调什么库啊?在线等,挺急的——这叫中层。
字符串输出的原理是什么?——这叫底层。
显卡和显示器如何通讯?显示原理是什么?——这叫地下室。
GPGPU如何设计?如何借助GPGPU进一步提高程序执行速度?——这叫low穿地心。