Live data from Hacker News

“Code” 2nd Edition

charlespetzold.com

131–140 of 176 posts

Re: “Code” 2nd Edition

#131
Is the microsoft press site actually decent? Is there anywhere else y'all would recommend picking this up from? Seems like Amazon doesn't offer a combination ebook+physical the way the microsoft site does.

Re: “Code” 2nd Edition

#132
post #5

This book (1st edition, at least) is astonishing. Perhaps the best book for coders that I’ve ever read. I recommend it to all the HN crowd. Reading it, I felt like I actually understood how computers worked, right down to the “electricity going through wires” level and lower, and how that builds up to if-then statements, etc, in a high-level language.

As someone with very little coding experience (learned HTML and CSS like a decade ago, I am not a coder by any definition), is this book too advanced/technical for me? Sounds kind of conceptual/birds eye view and interesting.

Re: “Code” 2nd Edition

#134

Earlier quoted context omitted.

I was actually asking about The Elements of Computing Systems in my comment, not Code. What language does it use to build a virtual computer?

The hardware exercises expect you to use a simple HDL, you write an assembler in your language of choice (I used Ruby, but others have used Python or JavaScript), and you write programs for the computer you "built" in earlier chapters using Jack (a language with Java-like syntax).

I wrote mine in awk :)

Re: “Code” 2nd Edition

#135

Code is my favorite technical book of all time [1]. Charles does an amazing job of building a computer up from basic principles "two young boys who want to communicate after their parents tell them to go to bed at night" all the way to modern (for 1999) computers. He layers abstraction on top of abstraction all the way to a working computer. My only (slight) disappointment in the book is that he tries to cover operat…

When the book “builds” a computer, I’m assuming that’s a virtual computer? If so, what language does it use?

There is a much older text book called the Art of Digital Design. In it, if you buy and solder the necessary components, you get a fully working PDP-8.

Re: “Code” 2nd Edition

#136
Any way to get this on the Internet as a web page? It's ironic how this book covers some of the most advanced technologies in our age, yet gatekeeps it all behind plain old printed pages or a "watermarked ebook."

Re: “Code” 2nd Edition

#137
post #5

This book (1st edition, at least) is astonishing. Perhaps the best book for coders that I’ve ever read. I recommend it to all the HN crowd. Reading it, I felt like I actually understood how computers worked, right down to the “electricity going through wires” level and lower, and how that builds up to if-then statements, etc, in a high-level language.

As someone with very little coding experience (learned HTML and CSS like a decade ago, I am not a coder by any definition), is this book too advanced/technical for me? Sounds kind of conceptual/birds eye view and interesting.

It’s general interest and there are no technical prerequisites which is part of its magic. (based on the 1st ed)

Re: “Code” 2nd Edition

#138

Earlier quoted context omitted.

As someone with very little coding experience (learned HTML and CSS like a decade ago, I am not a coder by any definition), is this book too advanced/technical for me? Sounds kind of conceptual/birds eye view and interesting.

It’s general interest and there are no technical prerequisites which is part of its magic. (based on the 1st ed)

Perfect I was hoping that would be the case after seeing how much people are praising it here.

Re: “Code” 2nd Edition

#139
post #89
post #68

Earlier quoted context omitted.

I often wonder: for someone with no understanding of how computers work; no idea about electricity and transistors, no idea about CPUs executing instructions, no idea about software and abstraction: what do they think about when they click a ‘play’ button in a music player, and the interface updates and music starts? Do they think about what is happening ‘inside’ the box? I think I do. I suspect I have a completely d…

> I find it hard to imagine how they must see the modern world. It must seem like magic! I think this is unnecessarily infantilizing. There are a great many very complex things in the modern world, and people must employ abstractions for most of it. I think with the rise of multi form factor computing, there is more basic literacy about the nature of computers these days. People don’t think that a phone god makes the…

>> I find it hard to imagine how they must see the modern world. It must seem like magic!

> I think this is unnecessarily infantilizing. [...] people must employ abstractions [...]

"Magic" to me means "does not (appear to) obey laws of cause and effect".

When the phone doesn't work after you install App X, do you attempt to remove app X? Why would restarting the phone help the situation? If none of this is logical, you're just following the 16 step Apple Fixit Checklist, good luck... it might work... but if you miss something what happens? You're just back to the start and run the checklist again... or call the ~~witch doctor~~ knowledgable friend.

Now I won't say there's no magic in understanding computers. There certainly are cause and effect mechanisms that are too arcane for ordinary mortals to be familiar with (even like "don't build the project inside a directory that has a space in it" never mind "don't put a colon or slash in your filename").

The point is: "magic" does not have to mean infantilizing.

Re: “Code” 2nd Edition

#140

This is great news. This book has been highly regarded for being able to explain the magic behind what makes a computer actually work. The new edition has about 70 pages of additional material. There is also a companion website that is under construction that already has a delightful amount of interactivity, showing how binary switches, relays, and gates work: https://www.codehiddenlanguage.com/

Looking at that source code for the website is fun it is own right. There is a whole JavaScript framework for simulating and displaying circuits. Each circuit is represented by a JSON file.
Post reply on HN