Andrew Ducker (andrewducker) wrote,
Andrew Ducker

Would you like to understand computers better?

You may have noticed that you're surrounded by computers.

You're staring at one now. This text was written on one, stored on one and made it's way to you using several more. Chances are that you use one at work. That you sometimes relax by playing games on one. That multiple household appliances use one. That your TV contains one. That you carry one around in your pocket to surf the internet (and make phone calls). And you may even be wearing one on your wrist.

But most people have no idea how they work. They may have some idea in a superficial way - they can operate them, and make them kinda do what they kinda want, some of the time. But we're living in a world where we're massively outnumbered by them to the point where they fade into the background of our lives.

If you'd like to know more, then I highly recommend two books:
1) Code: The Hidden Language of Computer Hardware and Software.
This is a great introduction to the whole area, starting off with lightbulbs, batteries, morse code, and braille, it looks at the whole area of "How do we take information and encode it in a way that it can be processed automatically?" and "How do we take a few wires and switches and build something as complex and powerful as a computer out of it?"
You don't really need any technical knowledge to understand it, and it's written in a very clear, engaging style that ties everything together with interesting stories from the history of computing.

2) Elements of Computing Systems: Building a Modern Computer from First Principles.
This is much more heavyweight. It's an accompaniment to a course from MIT: From NAND to Tetris and is designed to not just take you from logic gates to a working OS but to have you create all of the intermediate levels, from designing your own chip to writing a Virtual Machine. I worked my way through this a couple of years ago - not doing the actual coding, but not moving on from each step until I actually understood it well enough that I felt I could explain it to someone else, and I learnt a lot. If you work with computers already, and have a grasp of the basics, then this is a great way of understanding all of the layers from bottom to top.

Original post on Dreamwidth - there are comment count unavailable comments there.
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened