BWD Chapter 01: Computers are like...

2004-10-25 15:17 - Beginners Web Development

Chapter 01
Computers are like...

Analogies are very popular when explaining complex concepts. This is because they allow an accelerated pace by starting not from the beginning, but by leaping right into the middle of a topic without confusing the audience.

Unfortunately, computers are both very complex and completely unlike anything else. Computer analogies are everywhere, and they all fail. Cars are often involved, but cars are a relatively simple machine overall. The basic mechanism is just wheel, gas, brakes. I've tried many times to come up with a computer analogy that isn't like other analogies, that somehow captures the essence of the topic without oversimplyfing it. I have never found one. So, in short you will see no analogies here, we will really start fresh.

* * *

Computers are, simply, machines that compute. Nothing more, nothing less. It is only the computations that have become more grand over time. Early computers were little more than adding machines. Simple as that may seem, the speed with which they could do these calculations gave an advantage to an army aiming its ballistic weapons. But computers go further back than that.The truly early computers were grand meshes of cogs and dials and gears. All mechanical and human powered. But still, quick and most important of all, infallible. As long as the machine is not broken, it is never wrong.

This is an important concept. Machines are never wrong, they always do exactly as they are told unless they are damaged. In todays computers, do not forget that these instructions come from many places, from hardware design to the operating system to the application programmer to the user and often many points in between. This is our first big lesson. Since machines only process data, they cannot think, they cannot correct errors unless a programmer has explained explicitly how. With all the levels involved in computing, it is essential that each level work perfectly on its own as well as with its partners in order to function well. An error anywhere can cascade up and down the chain with sometimes drastic results.

Through the coming chapters, we will always keep this in mind. Programming right is critical. The job must be done well, not just done somehow. Many different ideas and technologies will be presented in the chapters of this book and it is critical that each is understood completely before continuing. Programming is largely a way of thinking, approaching a problem from the right direction. The solution will almost jump out at you, when looking at the problem from the right perspective.


No comments!

Post a comment:

  If you do not have an account to log in to yet, register your own account. You will not enter any personal info and need not supply an email address.

You may use Markdown syntax in the comment, but no HTML. Hints:

If you are attempting to contact me, ask me a question, etc, please send me a message through the contact form rather than posting a comment here. Thank you. (If you post a comment anyway when it should be a message to me, I'll probably just delete your comment. I don't like clutter.)