TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How These Things Work – A book about CS from first principles (2016)

688 点作者 falava大约 5 年前

10 条评论

Toenex大约 5 年前
Nice. I did an EE degree many years ago even though I wanted to work in software. The single best course I did was to design, simulate and have fabricated a 4 bit microprocessor. It completely solidified my understanding of how computations took place. Hopefully, texts like this will do the same for others.
评论 #22346582 未加载
评论 #22358354 未加载
评论 #22349042 未加载
ceronman大约 5 年前
I love this kind of Books! In a much more general tone, there is &quot;The Knowledge: How To Rebuild Our World After An Apocalypse&quot; by Lewis Dartnell. This explains the first principles of a lot of things we take for granted in the modern world, from agriculture to food and clothing, medicine, chemistry and more.<p>This book about CS principles is a great complement to that!
评论 #22347884 未加载
评论 #22348431 未加载
评论 #22347254 未加载
matco11大约 5 年前
One of my favorite books on subject is The Elements of Computing Systems: Building a Modern Computer from First Principles by Noam Nisan <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Elements-Computing-Systems-Building-Principles&#x2F;dp&#x2F;0262640686" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Elements-Computing-Systems-Building-P...</a>
评论 #22349882 未加载
评论 #22348525 未加载
grumple大约 5 年前
I recommend Code: The Hidden Language of Computer Hardware and Software by Charles Petzold [1]. It is far more comprehensive than the OP, goes from pre-computer code, to electrical circuits, to an overview of assembly. No prior knowledge needed except how to read.<p>1. <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Code-Language-Computer-Hardware-Software&#x2F;dp&#x2F;0735611319" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Code-Language-Computer-Hardware-Softw...</a>
评论 #22348434 未加载
评论 #22347865 未加载
评论 #22348010 未加载
评论 #22348072 未加载
评论 #22347712 未加载
oblosys大约 5 年前
For a do-it-yourself version of chapter 1 (about building complex circuits using only nands), I can recommend <a href="http:&#x2F;&#x2F;nandgame.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nandgame.com&#x2F;</a>
porknubbins大约 5 年前
<i>A few years ago, I asked my engineer friend about how much of civilization he could rebuild singlehandedly, should he survive some hypothetical apocalyptic event. “All of it,” he replied. “Not all at once, but I know enough to be able to puzzle together the pieces I don’t know right this second.”</i><p>While I admire the Connecticut-Yankee optimism of the engineer, as a non engineer I am seriously skeptical about how a single engineer could know enough about the chemistry, materials, physics, CS etc. I can explain what a battery, or transistor is supposed to do but wouldn&#x27;t have the foggiest idea how to actually make one. In this scenario are we leaving the bunker to break into Bell Labs (or some research university library at least)?
评论 #22351965 未加载
评论 #22361537 未加载
评论 #22352698 未加载
hcarvalhoalves大约 5 年前
Half-way into it’s introducing monads and Maybe. Feels like teaching a stack machine after talking about the visitor pattern. There’s good information here but I’m not sure it covers the important fundamentals (such that I could give to a beginner).
评论 #22347198 未加载
Anon84大约 5 年前
This looks really cool, thank you.<p>Another book I particularly like in the same style are Feynman (lesser known) lectures on computation: <a href="https:&#x2F;&#x2F;amzn.to&#x2F;2SSoJaR" rel="nofollow">https:&#x2F;&#x2F;amzn.to&#x2F;2SSoJaR</a> where he takes you from single instructions all the way to quantum computing
kragen大约 5 年前
Neat, and it looks like it&#x27;s under a 3-clause BSD license, too: <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;master&#x2F;LICENSE" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;...</a><p>And it&#x27;s tackling pretty advanced material — a bunch of category-theory stuff that I have no idea about. This is exciting!<p>It looks like maybe it&#x27;s unfinished: <a href="https:&#x2F;&#x2F;reasonablypolymorphic.com&#x2F;book&#x2F;tying-it-all-together.html" rel="nofollow">https:&#x2F;&#x2F;reasonablypolymorphic.com&#x2F;book&#x2F;tying-it-all-together...</a> ends, &quot;Really, we’re just getting started,&quot; and then (the current version of) the book ends. What a cliffhanger ending!<p>It doesn&#x27;t seem to yet cover circuitry; the hardware it discusses seems to be a two-tape Turing machine, much like BF. The author seems to have been simulating the machine by hand to generate the included execution traces.<p>I had a hard time finding the source at first: <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;master&#x2F;site&#x2F;static&#x2F;book&#x2F;machine-diagrams.html" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;...</a> has a bunch of attribute-embedded &amp;-escaped SVG (including XMLPIs!) that he almost certainly didn&#x27;t type like that. That file is duplicated at <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;master&#x2F;docs&#x2F;book&#x2F;machine-diagrams.html" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;...</a> in the same format.<p>As it turns out, the source for that post is in <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;master&#x2F;site&#x2F;httw&#x2F;2016-11-01-machine-diagrams.markdown" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;blob&#x2F;...</a>, with embedded Haskell to produce the SVGs. The build scripts looks like they might be in <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;tree&#x2F;master&#x2F;src" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;tree&#x2F;...</a> and <a href="https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;tree&#x2F;master&#x2F;scripts" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;isovector&#x2F;reasonablypolymorphic.com&#x2F;tree&#x2F;...</a> but I can&#x27;t tell where the code for generating SVG comes from. (&quot;stack install&quot; maybe? But then is it datetime, sitepipe, or strptime?) So I can&#x27;t figure out how to fix the text in the SVGs to not crash into the diagram lines.<p>Careful about cloning the repo. It&#x27;s a quarter gig!
评论 #22346717 未加载
koonsolo大约 5 年前
I never heard of &quot;first principles&quot; until Elon Musk used it. (Not a native English speaker) Now I see it everywhere.<p>Must be the new overhyped term. &quot;We start from first principles, just like Elon Musk&quot;.<p>After looking at Google trends, I might be wrong, so nevermind ;) <a href="https:&#x2F;&#x2F;trends.google.com&#x2F;trends&#x2F;explore?date=all&amp;q=First%20principles" rel="nofollow">https:&#x2F;&#x2F;trends.google.com&#x2F;trends&#x2F;explore?date=all&amp;q=First%20...</a>
评论 #22348380 未加载
评论 #22346733 未加载
评论 #22346858 未加载
评论 #22347645 未加载
评论 #22347319 未加载
评论 #22347570 未加载
评论 #22348406 未加载
评论 #22346788 未加载
评论 #22347395 未加载
评论 #22349326 未加载
评论 #22348297 未加载