2020年必讀書籍推薦:軟件設計的哲學(A Philosophy of Software Design),本書190多頁,豆瓣的點評分在9分以上,目前只有英文版本,中文版還未上市,英文好的同學建議去直接閱讀原版。
內容簡介
書中討論了軟件設計的主題:如何將復雜的軟件系統分解成可以相對獨立實現的模塊(如類和方法)。這本書首先介紹了軟件設計的基本問題,即管理復雜性。然后討論了如何處理軟件設計過程的哲學問題,並提出了在軟件設計過程中應用的一系列設計原則。該書還介紹了一系列標識設計問題的危險提示。你可以應用本書中的思想來最小化大型軟件系統的復雜性,這樣你就可以更快地編寫軟件。
作者簡介
John Ousterhout是斯坦福大學計算機科學教授。他目前的研究重點是新的軟件堆棧層,以允許數據中心應用程序利用具有微秒級延遲的通信和存儲技術。Ousterhout之前曾在工業界工作過14年,他在那里創建了兩家公司(Scriptics和Electric Cloud),之前在加州大學伯克利分校(uc Berkeley)擔任了14年的計算機科學教授。他是Tcl腳本語言的創建者,並以在分布式操作系統和存儲系統中的工作而聞名。Ousterhout獲得了耶魯大學物理學學士學位和卡內基梅隆大學計算機科學博士學位。他是美國國家工程院院士,曾獲多個獎項,包括ACM軟件系統獎、ACM Grace Murray Hopper獎、美國國家科學基金會主席青年研究員獎和加州大學伯克利分校傑出教學獎。
培養優秀的程序員的課程
軟件設計的課程:https://platformlab.stanford.edu/Seminar%20Talks/retreat-2017/John%20Ousterhout.pdf