The Computer - What's The Big Idea?
Written by Mike James   
Thursday, 08 October 2020
Article Index
The Computer - What's The Big Idea?
Babbage
The big idea

There can't be a more central concept than “the computer” to what programmers know, but it is such a commonplace that we tend to take it for granted and miss how truly amazing it is. It might just be that computers are everywhere and built into the very fabric of the universe. So what is a computer? What makes it so special?

What Programmers Know

knowcover

Contents

  1. The Computer - What's The Big Idea?*
  2. The Memory Principle - Computer Memory and Pigeonholes*
  3. Principles of Execution - The CPU
  4. The Essence Of Programming
  5. Variables - Scope, Lifetime And More*
  6. Binary Arithmetic
  7. Hexadecimal*
  8. Binary - Negative Numbers*
  9. Floating Point Numbers*
  10. Inside the Computer - Addressing
  11. The Mod Function
  12. Recursion
  13. The Lost Art Of The Storage Mapping Function *
  14. Hashing - The Greatest Idea In Programming
  15. Advanced Hashing
  16. XOR - The Magic Swap*
  17. Programmer's Introduction to XML
  18. From Data To Objects*
  19. What Exactly Is A First Class Function - And Why You Should Care*
  20. Stacks And Trees*
  21. The LIFO Stack - A Gentle Guide*
  22. Data Structures - Trees
  23. Inside Random Numbers
  24. The Monte Carlo Method
  25. Cache Memory And The Caching Principle
  26. Data Compression The Dictionary Way
  27. Dates Are Difficult*
  28. Sequential Storage*
  29. Magic of Merging*
  30. Power of Operators
  31. The Heart Of A Compiler*
  32. The Fundamentals of Pointers
  33. Functional And Dysfunctional Programming*

* Recently revised

In this article we take a look at what a computer is. What it means to be a universal computer and the principle of computational equivalence which basically claims that computers and universal computers, are everywhere. 

What exactly is a computer?

What makes it different from all of the other machines that we use today and have used in the past?

A computer  clearly is unique and nearly always easy to spot because it is a machine that does no useful work!

This may seem like a cruel joke thought up by someone who knows computers all too well, but it is 100% true. In physics work is only done when a force moves its point of application through a distance and so steam engines and motor cars do useful work but a computer just gets warm.

Yes, all those power stations work day and night polluting the atmosphere just to keep your machine warm. More seriously the fact that computers get warm is just a sign that we haven’t quite got it right even now. In theory there is absolutely no reason why a computer should get hot at all - but that’s another story to do with reversible processes and quantum computing.

So a computer is a machine that does no useful work.

True but this really only narrows it down.

After all a TV and a simple telephone satisfy the same condition and so do most electronic devices. Clearly a computer is a bit more than either of these two devices so what is the essence that makes it so different?

To answer that question we have to go back in time but not as far as you might think…
Bool

Boole - the man who invented logic

Is a Computer a Calculator?

Long before a recognizable computer was produced there were calculators - mechanical devices, usually based on cogs and gears, that performed the four basic operations of arithmetic. The calculator is still an essential machine that in a strange irony  is to be found today as a desktop accessory on most computers. That is the once ubiquitous calculating machine is now nothing more than a simulation inside our computers.

The fact that our computers create a virtual calculator should give you the clue that the two are not really the same type of machine. But don't write the calculator off too quickly. There were calculators that worked with non-numeric problems.

After Boole invented symbolic logic in 1854 William Stanley Jevons was inspired to build “The Logical Piano” - no, seriously a logical piano. This was a collection of cogs and gears that didn’t crunch numbers but rather worked with Boolean logic. You entered an expression with And, Or and Not and it told you if the whole thing was true or false. Later machines were built that could solve much more complex problems of the sort found in puzzle books but even these impressive machines are not computers.

Jpiano

The Jevons’ Logical Piano

 

The Loom?

If logical pianos are not kin to the computer what about some sort of industrial machinery.  It is often said that a forerunner of the computer was the Jacquard Loom because it used punched cards to control the patterns it wove into the cloth.

This is mostly nonsense - although it clearly influenced the early thinkers about computers and was used by them as a more concrete example of what they were trying to explain to an otherwise uncomprehending public.

It is difficult to explain what a computer is when you don’t have one to point at. The Jacquard loom was said to be “programmable” in the same way as a computer because you could alter the punching of the cards to get different patterns. It could even claim to be the first device to invent the program loop because by sticking the front of the first card to the end of the last card the machine could run without break.

However, far from being a computer the Jacquard loom is just an example of an advanced automaton and is only one of several machines that followed set patterns of behaviour controlled by slotted metal sheets, metal rods or oddly shaped wheels. Its only claim to fame is that the control mechanism was easily altered because, instead of metal, it used thick cardboard.

Jack1

The Jacquard Loom

<ASIN:1844254577>

<ASIN:0780334264>

<ASIN:1856175073>

 



Last Updated ( Thursday, 08 October 2020 )