This site is not maintained. Click here for the new website of Richard Dawkins.


← How do computers work? Book recommendations please

Pete H's Avatar Jump to comment 19 by Pete H

@Comment 12 by crookedshoes

Your expected backup time for your music files seems extravagant. You might need to check with someone. It wouldn’t make sense if the backup takes so long that you’d have to start your next backup before the current backup had finished.

Any backup process that takes so long as to be inconvenient is not a backup. i.e. it won’t have been done, and you’ll inevitably lose all your stuff because you never get around to it. Also, as with hereditary where reproduction isn’t the point – reproduction of successful reproducers is the real point, a backup which hasn’t been tested by restoring it on some other system also is not a real backup. It’s just high hopes and good intentions.

Back on topic, and repeating others:

To understand the concept of computing and why it is so important then David Deutsch’s book ‘The Fabric of Reality’ is definitely the answer. A related aspect is that he also explains how it is possible to actually know everything important when there is obviously way too much for any individual to know in practical detail.

The extent and complexity of division of labour means it is no more possible to fully understand how a computer works (to the point of being able to make one) than it is to understand how to make a pencil. (Check the famous essay: ‘I Pencil’ from the 1940’s.)

I ran into the same problem recently after trying, unsuccessfully, to explain computers to one of my kids. The problem is that just the list of essential concepts alone is longer than most kids can tolerate as the entire explanation.

Here’s my take on the basic knowledge required for a superficial understanding:

  1. Registers – electro-mechanical arrangements of relays for holding data, as used in automatic telephone exchanges. A basic understanding of electricity and magnetism is required.
  2. Digital electronics – how vacuum tubes and transistors can be used to construct registers.
  3. Integrated circuits – how microscopic, mass produced transistor arrays can be photo-etched with vapour deposition of semi-conductor layers.
  4. Boolean algebra and implementation via logic gates – how arrays of registers and clocking feeds can store and process data signals and self-modify their state. (The CPU)
  5. Basic software engineering – the fundamental structures of program flow and the essentials of operating systems.
  6. Some cursory familiarity with the concept of micro-processors, assembly languages, compilers, high capacity memory and disk storage.

Computers are networks – so you also need to explore a little about information theory, transmission lines and radio theory, and how things like TCP/IP fit together on a global scale.

Most people acquire an understanding over several years, including hands on dabbling. Typically playing with micro-processor training kits, designing a basic operating system, and learning a little programming with one of the standard languages. If you look for some kind of hobby or after hours adult education course that includes playing with microprocessor development kits then it should cover everything. (Assuming you’ve obtained the pre-requisite knowledge whoever offering the course recommends.)

Beyond that it’s all about specialised engineering which you can avoid: security, IP routing, specialised reduced instruction set processors for graphics, audio, and other signal processing, multiple CPUs with very high clock rates, and all the good stuff like design and testing practises, redundancy, error handling, and fault tolerance which makes computer systems more or less reliable enough to be actually useful. A lot of this stuff is very useful in beginning to comprehend the mechanics of living cells.

One approach might be to spend a couple of hours in a major library just looking at the introductions and section summaries of multiple specialist textbooks on the stuff various posters have listed. That way you can obtain a high level picture of what that the important concepts involve, without getting too bogged down in the details.

Tue, 04 Jan 2011 04:12:52 UTC | #573004