薦書:《程序是怎樣跑起來的》作者: 矢澤久雄
我敢說大多數小白程序員,包括我自己,對程序的了解一直停留在“雙擊程序圖標,程序開始運行”這層表面上。是,我是程序員,我寫代碼,但我不敢理直氣壯地給人家講我每天都在干點啥。
你說自己是程序員,你能明明白白講清楚到底什么是編程么。你噼里啪啦在鍵盤上敲幾百行,幾千行代碼,敲得兩眼昏花頭腦發脹,你能解釋清楚程序到底是怎樣跑起來的么。要不要挑戰一下跟自己的爺爺奶奶描述自己的工作?我嘗試過一次,后來老人家得出結論,我做著一個每天盯著屏幕敲敲敲的不怎樣的工作。
上學的時候計算機科目有12個,4年學下來大腦幾乎處于一種混沌狀態。什么都知道一點,可沒有一個學精通。發生這種狀況的原因我總結下來就是,我們還沒學會走就要去跑了。
下面我羅列一些題目給大家熱熱身。
問:什么是編程?
答:所謂編程,就是把程序員的思考方式用編程語言的語法結構表示出來,然后再傳遞給計算機運行。
問:程序是什么?程序的內容是什么?
答:程序是指示計算機每一步動作的一組指令。不管使用什么樣的編程語言,程序內容都是由數據和處理構成的。
問:什么是數據類型?
答:計算機中預先被定義過的位數和精度稱為數據類型。
問:Java是什么?
答:大家說的Java,有兩個層面的意思。一個是做為編程語言的Java,另一個是作為程序運行環境的Java。同其他編程語言相同,Java也是將語法記述的源代碼編譯后運行。不過,編譯后生成的并不是特定CPU使用的本地代碼,而是名為字節代碼的程序。字節代碼的運行環境就稱為Java虛擬機(JavaVM,Java Virtual Machine)。Java虛擬機是一邊把Java字節代碼逐一轉換成本地代碼一邊運行的。
怎么樣?是不是發現有一些問題無法簡單地解釋清楚呢?
《程序是怎樣跑起來的》這本書講的非常好,通俗易懂。從CPU到內存、操作系統,從二進制到數據結構,程序運行機制的方方面面講的很全面。大家不妨先拿來掃掃盲,再去刷什么面試寶典,再去參加面試吧,所謂看透本質才能提高利用效率才能有所創造。