BASICally Speaking
Throughout this evolution, the Astronomical Computing department featured relatively short programs that introduce readers to some of the mathematics behind astronomical phenomena. Virtually all of the programs were written in the three-decade-old computer language called BASIC, which stands for Beginner's All-purpose Symbolic Instruction Code. Using BASIC was an obvious choice since all personal computers had the capability to run such programs. Because BASIC was omnipresent and easy to learn, many people toyed with it sometimes for the lack of anything better to do with the machines. My family's first computer, purchased in 1979, was the Apple II+. It had a complete BASIC interpreter burned into its read-only memory chips.
Since the commercial software of the early 1980s wasn't particularly enthralling (especially the games), my brother and I took to creating our own. He worked on making his own text-adventure game and understanding how to draw on the screen. I goofed around with programs offered in computer magazines and wrote a few of my own.
In the summer of 1980 I took a course in BASIC at a community college. (As a high school student, I was the youngest person in the class.) We even used punched cards. Alas, afterward I wrote very few programs primarily because I couldn't think of anything I wanted to do.
Then in college I learned FORTRAN while doing data analysis at NASA/Goddard Space Flight Center. But I never went any further than that by exploring other languages. I'd rather use software than write it. Thankfully, others filled the void (and the ambitious ones got rich).
Programming languages improved. New versions of BASIC (such as QuickBASIC and Visual Basic) had greater capabilities, and other languages with names like Pascal, C, C+, and C++ became popular for serious efforts. S&T readers have asked us during this evolution why we are still using BASIC in the magazine. Specifically, why are the programs written in the comparatively crude style of old GW-BASIC, with its mandatory line numbers and reputation for encouraging "spaghetti code"? This topic caused a flurry of discussion on CompuServe's Astronomy Forum.
John M. A. Danby probably made the best case for BASIC in his book Fundamentals of Celestial Mechanics (2nd edition, Willmann-Bell, 1988): "My choice of BASIC as the language for program listing will also be controversial. I am looking for maximum understanding: any programmer can follow BASIC, even if he or she will not admit to using it."
he desire for greatest usefulness is this department's primary rationale too. The programs we feature are intended to give readers the most direct means to answer astronomical questions. The underlying equations, of course, are independent of the language the program is written in. But many readers can't manipulate equations on paper as readily as they can enter and run a BASIC program. They can also explore these tidbits of software on their own, or adapt them to some other language if they wish. What's important is that these programs work. Researchers like Donald Olson and Bradley Schaefer have a knack for turning esoteric concepts into something you can play with on your computer.


