Standing on Shoulders of Giants
站在巨人的肩上
写在前面
你还记得自己初次接触计算机时的情形吗?想必很多人使用的都是 Windows 系统(比尔盖茨没有乔布斯那样“处女座”)。Windows 的图形化操作界面,大大提高了计算机操作的便利性,而利用集成开发环境开发程序,就像用绘图软件画图一样简单… 这是一个便利的时代。
然而,现实却不容乐观,我们在享受这些方便的同时也付出了代价。虽然拥有一定的编程能力,却无法进一步提高自身技能,越来越多的程序员正为这些问题而烦恼。个中原因在于,大家不了解程序运行的根本机制。
《程序是怎样跑起来的》是一本蹲马桶就能看懂的编程知识,它能满足三种需求:
- 菜鸟程序员入门进阶
- 中级程序员查漏补缺
- 高手程序员向家人(女友,老妈等)普及计算机知识
你看看自己有哪种需求。
开卷有益,多多益善,喵小哥花了 3口气 读完了这本书,现总结如下,继续完善自己大脑的 知识 tree 。
(也不知道这些对于计算机专业的科班生来说是不是大学必修课,如果是,那我这个土木工程师出身的小渣渣需要死磕的东西太多了…既然走上了程序员的道路,管它风雨兼程不兼程的,继续赶路少哔哔…)
程序是怎样跑起来的(How Program Works)
CPU-内存-磁盘
- CPU 是控制器、时钟、运算器和各种寄存器的集合
- 节省内存编程
- _stdcall 标准调用系统 DLL
- 及时清理栈(局部变量和函数调用内存区)和 堆(任意的数据和对象)(戳此看 堆栈 的百度百科)
- 压缩数据
- 算法
- 可逆和非可逆压缩(如图片失真)
把游戏机🎮和DVD播放器🎵电饭煲等电子产品都可以像电脑这样的思路去类比。
二进制数
- 用二进制原因:IC(集成电路的简称:Integrated Circuit)只有 0V - 5V 两种状态
- 二进制运算小数时出错原因(计算机只会 有限 分割特定的整数)
程序运行环境 = 操作系统 + 硬件
- 操作系统的历史发展及其统一
- 基本的驱动程序和引导程序 BIOS
- 不同系统的 API 不同
- 利用虚拟机可以获得其他操作系统环境(牛逼的Java)
- VRAM 和 GPU 之于文字图像显示机制
人工智能 AI(Artifical Intelligence)
- 随机数产生的算法
- 让程序记住人类的习惯
结语
“自己吓唬自己是最可怕的事情”,“枯萎的花朵🥀都能被看成幽灵👻”。面对困难和不确定,我们会感到恐惧。希望这本书能帮你去除掉一些接触计算机“黑盒子”的担忧。
另: