BASIC: Cross-Platform, Cross-Generational

I first delved into programming (about five months ago) as a hobby with miSoft Basic!, an iOS app for writing and running programs in the beginner-friendly BASIC language. BASIC’s easy to learn syntax and universal-access design philosophy have made it many programmers’ first language, but my generation of BASIC hobbyists have the unique experience of being able to use the language, which was developed in the early 1960s, on handheld, wireless, high-resolution devices many thousands of times more powerful than those which originally supported it.

BASIC was developed at Dartmouth College with the intention of making computer use easier for non-computer science students in 1964, as time-sharing systems and decreasing hardware costs were making computers more accessible. Its popularity grew rapidly with that of microcomputers and it became a nearly ubiquitous feature of personal computers. Microsoft’s first product was a BASIC interpreter for the MITS Altair in 1975. Hobbyist books and magazines often published complete source code in the 1970s and 80s, as BASIC code was straight-forward and portable enough for such distribution.

BASIC’s popularity has faded in the past few decades as much more powerful programming languages have become widely available and using professionally produced (rather than home-written) software has become the norm for computer users. BASIC survives as a hobbyist interest and educational tool, though; and if the presence of BASIC programing apps for mobile devices is any indication, the popularity of iOS and Android devices is helping keep interest in the language afloat. Communities like miSoft’s Basic! forum offer a place for hobbyists to share BASIC code, much like the fanzines and club meetings of the 1970s and 80s.

There are also many versions of BASIC for modern desktop machines, including the popular free, cross-platform QB64, which, according to its developer, “strives to extend BASIC to fit modern needs without changing the original philosophy” of accessibility. QB64 is supported with frequent updates and an active user forum, extendable with C++ libraries, and useful for moderately advanced modern applications; but it looks and feels like (and is compatible with) old school Microsoft QuickBASIC.

BASIC’s ubiquity on personal computers made beginning programming concepts simple and accessible for virtually all computer users. It represented the do-it-yourself, exploratory, hobbyist ethic that helped make PCs so popular and influential. With the release of Windows 2000, the QBasic IDE was dropped as a standard feature included with Microsoft operating systems, and with it, I think, a certain magic was lost. Universal access to simple, easy to learn programming tools, however outdated, is important for keeping beginner enthusiasm alive.

Tools like QB64, Basic!, and dozens of others like them are important because they keep the beginner-friendly, nostalgic spirit of BASIC alive. Because of modern efforts to preserve BASIC, the language in its various dialects has served beginners and hobbyists for forty eight consecutive years. While it’s not useful for producing applications of commercial worth, BASIC was an important stepping stone for many people into the world of programming and information technology.

While I’m learning to enjoy programming in more powerful languages, BASIC remains my favorite “messing around” language. I can envision a simple game or tool, write it quickly in BASIC, and easily detect and fix problems. It’s helped me visualize programs before porting to a more advanced language, and I credit its simple, quick-to-learn syntax for my interest in programming in the first place. Something about facing the blinking cursor of a BASIC prompt makes me feel connected with and nostalgic for the times of the Homebrew Computer Club, the Apple II, WarGames, and a thousand other things that preceded my birth.