荐书:《程序是怎样跑起来的》作者: 矢泽久雄
我敢说大多数小白程序员,包括我自己,对程序的了解一直停留在“双击程序图标,程序开始运行”这层表面上。是,我是程序员,我写代码,但我不敢理直气壮地给人家讲我每天都在干点啥。
你说自己是程序员,你能明明白白讲清楚到底什么是编程么。你噼里啪啦在键盘上敲几百行,几千行代码,敲得两眼昏花头脑发胀,你能解释清楚程序到底是怎样跑起来的么。要不要挑战一下跟自己的爷爷奶奶描述自己的工作?我尝试过一次,后来老人家得出结论,我做着一个每天盯着屏幕敲敲敲的不怎样的工作。
上学的时候计算机科目有12个,4年学下来大脑几乎处于一种混沌状态。什么都知道一点,可没有一个学精通。发生这种状况的原因我总结下来就是,我们还没学会走就要去跑了。
下面我罗列一些题目给大家热热身。
问:什么是编程?
答:所谓编程,就是把程序员的思考方式用编程语言的语法结构表示出来,然后再传递给计算机运行。
问:程序是什么?程序的内容是什么?
答:程序是指示计算机每一步动作的一组指令。不管使用什么样的编程语言,程序内容都是由数据和处理构成的。
问:什么是数据类型?
答:计算机中预先被定义过的位数和精度称为数据类型。
问:Java是什么?
答:大家说的Java,有两个层面的意思。一个是做为编程语言的Java,另一个是作为程序运行环境的Java。同其他编程语言相同,Java也是将语法记述的源代码编译后运行。不过,编译后生成的并不是特定CPU使用的本地代码,而是名为字节代码的程序。字节代码的运行环境就称为Java虚拟机(JavaVM,Java Virtual Machine)。Java虚拟机是一边把Java字节代码逐一转换成本地代码一边运行的。
怎么样?是不是发现有一些问题无法简单地解释清楚呢?
《程序是怎样跑起来的》这本书讲的非常好,通俗易懂。从CPU到内存、操作系统,从二进制到数据结构,程序运行机制的方方面面讲的很全面。大家不妨先拿来扫扫盲,再去刷什么面试宝典,再去参加面试吧,所谓看透本质才能提高利用效率才能有所创造。