2020荐书:软件设计的哲学
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