Classic Computer Magazine Archive COMPUTE! ISSUE 37 / JUNE 1983 / PAGE 24

Richard Mansfield, Senior Editor

This month we'll continue with our overview of the major categories of personal computer programs.

Artificial Worlds
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, fast-acting variables.
    "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.

Special Interests
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
COMPUTE! Magazine
P.O. Box 5406
Greensboro, NC 27403