【Hacker News搬运】SICP:唯一值得一读两遍的计算机科学书籍?(2010)
-
Title: SICP: The only computer science book worth reading twice? (2010)
SICP:唯一值得一读两遍的计算机科学书籍?(2010)
Text:
Url: https://simondobson.org/2010/05/14/cs-book-worth-reading-twice/
很抱歉,我无法直接访问外部链接。但是,我可以根据您提供的链接描述来帮助您总结和分析内容。 这个链接指向的是Simon Dobson的一篇博客文章,标题是“值得阅读两遍的计算机科学书籍”(CS Book Worth Reading Twice)。以下是对该文章内容的可能总结和分析: **总结:** Simon Dobson在文章中分享了他认为值得深入阅读两次的计算机科学书籍。他可能基于书籍的内容、影响力、教学价值或个人经历来选择这些书籍,并可能对每本书进行了简短的评价。 **分析:** 1. **书籍的选择标准**:Simon Dobson可能根据书籍的以下标准进行选择: - **内容深度**:书籍是否提供了深入的见解和知识。 - **实用性**:书籍的知识是否能够应用于实际问题和项目中。 - **教育价值**:书籍是否能够有效地教授计算机科学概念。 - **影响力**:书籍是否对计算机科学领域产生了显著影响。 2. **书籍的多样性**:Simon Dobson可能选择了涵盖不同计算机科学领域的书籍,例如理论计算机科学、软件工程、编程语言、算法和数据结构等。 3. **个人经验**:Simon Dobson可能分享了他自己阅读这些书籍的经验和收获,包括他在学习过程中的挑战和领悟。 4. **推荐理由**:对于每本书,Simon Dobson可能给出了具体的推荐理由,说明为什么这些书籍值得深入阅读。 5. **阅读两次的意义**:Simon Dobson可能强调了“值得阅读两次”的重要性,这表明这些书籍不仅适合初学者,也适合有经验的读者,因为随着知识的积累和经验的增长,读者可以从书籍中获得新的理解和洞见。 为了获取更详细的信息,您需要访问上述链接并阅读Simon Dobson的文章。如果您需要将文章内容翻译成中文,可以使用在线翻译工具或专业的翻译服务。
Post by: pieterr
Comments:
turbobrew: It’s interesting, SICP and other many other “classic” texts talk about designing programs, but these days I think the much more important skill is designing systems.<p>I don’t know if distributed systems is consider part of “Computer Science” but it is a much more common problem that I see needs to be solved.<p>I try to write systems in the simplest way possible and then use observability tools to figure out where the design is deficient and then maybe I will pull out a data structure or some other “computer sciency” thing to solve that problem. It turns out that big O notation and runtime complexity doesn’t matter the majority of the time and you can solve most problems with arrays and fast CPUs. And even when you have runtime problems you should profile the program to find the hot spots.<p>What computer science doesn’t teach you is how memory caching works in CPUs. Your fancy graph algorithm may have good runtime complexity but it completely hoses the CPU cache and you may have been able to go faster with an array with good cache usage.<p>The much more common problems I have is how to deal with fault tolerance, correctness in distributed locks and queues, and system scalability.<p>Maybe I am just biased because I have a computer/electrical engineering background.
turbobrew: 有趣的是,SICP和其他许多“经典”文本都在谈论设计程序,但现在我认为更重要的技能是设计系统<p> 我不知道分布式系统是否被视为“计算机科学”的一部分,但我认为这是一个需要解决的更常见的问题<p> 我试图以最简单的方式编写系统,然后使用可观察性工具找出设计的不足之处,然后也许我会拿出一个数据结构或其他“计算机科学”的东西来解决这个问题。事实证明,在大多数情况下,大O符号和运行时复杂性并不重要,你可以用阵列和快速CPU解决大多数问题。即使你有运行时问题,你也应该分析程序以找到热点<p> 计算机科学没有教给你的是CPU中内存缓存的工作原理。您的花式图算法可能具有良好的运行时复杂性,但它完全占用了CPU缓存,并且您可能能够使用缓存使用率高的数组更快地运行<p> 我遇到的更常见的问题是如何处理容错性、分布式锁和队列的正确性以及系统的可扩展性<p> 也许我只是有偏见,因为我有一台电脑;电气工程背景。
freethejazz: I haven’t seen it in the comments yet, but you can watch Abelson and Sussman teaching the material from this book from recorded lectures in 1986.<p>I still find their description of how to create and group abstractions in various layers to be useful personally and as a mentor. (In the videos, lesson 3A, 1:07:55)<p><a href="https://m.youtube.com/playlist?list=PLE18841CABEA24090" rel="nofollow">https://m.youtube.com/playlist?list=PLE18841CABEA24090</a>
freethejazz: 我还没有在评论中看到它,但你可以观看Abelson和Sussman在1986年录制的讲座中教授这本书中的材料。<p>我仍然认为他们对如何在各个层面创建和分组抽象的描述对个人和导师都很有用。(在视频中,第3A课,1:07:55)<p><a href=“https:/;m.youtube.comM;播放列表?list=PLE18841CABEA24090”rel=“nofollow”>https:"/;m.youtube.com;播放列表?列表=PLE18841CABEA24090</a>
neilv: The article has a broken link for the free copy:<p><a href="https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book.html" rel="nofollow">https://mitp-content-server.mit.edu/books/content/sectbyfn/b...</a><p><a href="https://web.mit.edu/6.001/6.037/sicp.pdf" rel="nofollow">https://web.mit.edu/6.001/6.037/sicp.pdf</a><p>I hadn't seen a blessed PDF version until today. Circa 2001, only the HTML version was freely available, and someone converted it to TeXinfo: <a href="https://www.neilvandyke.org/sicp-texi/" rel="nofollow">https://www.neilvandyke.org/sicp-texi/</a><p>If anyone wants to work through SICP today, you can run the code in MIT Scheme, or in DrRacket: <a href="https://www.neilvandyke.org/racket/sicp/" rel="nofollow">https://www.neilvandyke.org/racket/sicp/</a>
neilv: 这篇文章的免费副本链接已断开:<p><a href=“https:”mitp content server.mit.edu“books”sectbyfn“books_pres_0”6515,sicp.zip“全文”book.html“rel=”nofollow“>https:”/;mitp内容服务器.mit.edu;书籍;内容;sectby fn;b…</a><p><a href=“https:”web.mit.edu“6.001”sicp.pdf“rel=”nofollow“>https:”/;web.mit.edu;6.001;6.037;sicp.pdf</a><p>我没有;直到今天我才看到一个幸运的PDF版本。大约在2001年,只有HTML版本是免费提供的,有人将其转换为TeXinfo:<a href=“https:”www.neilvandyke.org“sicp-texi”rel=“nofollow”>https:”/;www.neilvandyke.org;sicp texi</a> <p>如果今天有人想通过SICP工作,您可以在MIT Scheme或DrRacket中运行代码:<a href=“https:”www.neilvandyke.org/;ractP;“rel=”nofollow“>https:”/;www.neilvandyke.org;球拍;sicp</一
MikeTaylor: Just dropping in to say that The Elements of Programming Style is worth reading three times — and I have read it many more times than that, and benefitted from it. Here's my review (from 2010) if you're interested: <a href="https://reprog.wordpress.com/2010/03/06/programming-books-part-2-the-elements-of-programming-style/" rel="nofollow">https://reprog.wordpress.com/2010/03/06/programming-books-pa...</a>
MikeTaylor: 只是顺便说一下,《编程风格的要素》值得读三遍——我读过很多遍,并从中受益匪浅;这是我的评论(从2010年开始),如果你;感兴趣的:<a href=“https:/;reprog.wordpress.com/ 2010,03,06,编程书籍第二部分-编程风格的元素®;rel=“nofollow”>https:/;reprog.wordpress.com;2010年;03;06;编程书籍</a>
alabhyajindal: I really wanted to like SICP but Lisp throws me off. I love Haskell and Standard ML however! Did others have a similar experience? Might be interesting to read a book similar in spirit to SICP but using a different language as a vehicle (No, I don't want to do SICP in JavaScript).
alabhyajindal: 我真的很想喜欢SICP,但Lisp让我失望了。然而,我喜欢Haskell和Standard ML!其他人也有类似的经历吗?读一本与SICP精神相似但使用不同语言作为载体的书可能会很有趣(不,我不想用JavaScript做SICP)。