THE BEGINNER'S PAGE
This month we'll continue with our
overview of the major categories of personal computer programs.
A simulation is a dynamic
model of something, a special kind of imitation of reality. Movies
imitate images and sounds, but they aren't really simulations because
the events are laid out in a predetermined sequence. No matter how many
times you see Star Wars, the princess is always captured and taken to
the Deathstar. If you had a Star Wars simulation, events would be
unpredictable - you might be able to rescue her and even lead the Rebel
Alliance to a final victory.
Simulations, then, are full of variables, events that can change.
And computers are ideal tools for constructing webs of interrelated,
"Spreadsheet" programs, like the popular VisiCalc
financial simulator, allow you to make up lists of related items and
then create interrelationships between the items. For example, you
could enter all your normal expenses and link them to your income (as a
percent of it). Then you could give yourself a simulated "raise" in the
model by just typing over the previous income figure. All of the
related items would then adjust, changing to respond to the new amount
of income. It's like a spider web hit by a drop of water: some items
change, some stay put. But by touching one part of the web, you can
send vibrations throughout the whole structure. Like reality, a single
action can cause multiple effects, and then these new changes can, in
turn, cause further changes.
As the price of computer memory continues to fall,
we will be able to create or buy simulations of ever-increasing
delicacy. When you have enough interrelated events, you've built a
world. In fact, many of the popular computer "adventure" games (where
you explore a forest, a castle, or a cave, looking for treasure) are
just such world simulations. Modelling will likely be a major computer
application in the future. A simulation of sufficient complexity would
be indistinguishable from reality.
Languages are another major category of personal
computer programs, but many people don't realize that languages are,
themselves, programs. They're large, but they are programs.
Most versions of BASIC use up about 8K (roughly
8,000 bytes) of the computer's memory. Another 8K is devoted to the
"Operating System" which looks after such things as communication with
peripherals like printers, video management, and so forth.
You use a computer
language whenever you need to communicate with a computer (this
communicating is usually called programming).
Languages like BASIC are programs to help you write other programs.
There are dozens of languages you could try, but BASIC is by far the
most popular and is available on almost every home computer. In fact,
it's usually built into the computer so that when you turn it on, BASIC
is waiting for your instructions.
There are other languages, though, and each has its
own attributes and uses. Languages do differ: some are better suited to
specific tasks than others. For example, Pascal is often favored by teachers
because it emphasizes certain standardized rules of program writing. Machine language is the
fastest-running language. BASIC
is probably the easiest to learn. Forth
is faster than BASIC and can be the language of choice for
certain game, graphics, or music programming. PILOT and Logo are popular introductory
languages for children, but Logo can also be a powerful tool in the
hands of advanced programmers. Languages like FORTRAN and COBOL have
been popular in the larger machines called mainframe or minicomputers.
Many programmers begin to specialize after a while. You might focus on
writing games or graphics programs, and find that BASIC doesn't serve
your needs as well as another language would.
Once you know BASIC fairly well, moving on to learn
a new language is simplified. There are some underlying concepts such
as loops, variables, and IF/THEN structures which are common to all
computer languages. After you've grasped several of these main ideas,
you'll quickly pick them up when you come upon them in a new language.
The Beginner's Page
P.O. Box 5406
Greensboro, NC 27403