w h y y o u a r e h e r e ?

程序是怎样跑起来的

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)

  • 随机数产生的算法
  • 让程序记住人类的习惯

结语

“自己吓唬自己是最可怕的事情”,“枯萎的花朵🥀都能被看成幽灵👻”。面对困难和不确定,我们会感到恐惧。希望这本书能帮你去除掉一些接触计算机“黑盒子”的担忧。

另:

计算机是如何启动的

本书图灵社区链接

< - 完 - >
- 坚持分享 鼓励创作 -