BASIC

BASIC

BASIC is a programming language developed in 1964 that was deliberately kept so simple that beginners could learn it in just a few hours. For decades it was the standard language on home computers and made programming accessible to millions of people for the first time.

A computer on its own only understands sequences of numbers. So that humans can still give it instructions, there are programming languages: sets of rules made of words and symbols that a computer translates into its own number sequences. BASIC is one such language, developed in 1964 at an American university. The name is an acronym for “Beginner’s All-purpose Symbolic Instruction Code.” The explicit goal was that even students without a technical background could work with it. That’s why commands are called things like PRINT for “write to the screen” or GOTO for “jump to this spot.”

The language that opened up the home computer

In the 1970s, programming was a matter for specialists working on expensive mainframes. BASIC changed that. When the first affordable home computers appeared starting in 1977, BASIC was built into almost all of them. Anyone who switched on a Commodore 64 or an Apple II saw no start screen, but rather went straight to an input line for BASIC commands.

This had enormous consequences. An entire generation learned programming along the way, because getting started was unavoidable. Computer magazines of the time printed page after page of BASIC programs for readers to type in themselves. Many founders of today’s software industry got their start this way, including Bill Gates: Microsoft's very first product, in 1975, was a BASIC interpreter for the hobbyist computer Altair 8800.

Experts, however, criticized BASIC sharply. The GOTO jump command allowed the program to jump to any other point in the middle of its execution. In larger programs, this quickly turned into a tangled mess that earned the mocking nickname “spaghetti code.” Computer scientist Edsger Dijkstra even claimed that BASIC beginners were beyond saving as programmers. This criticism is considered exaggerated today, but it struck a nerve.

Line numbers, interpreters, and simple commands

Classic BASIC programs consist of numbered lines. A line might read: 10 PRINT “HELLO”. The number 10 is the line number, PRINT is the command. The computer processes the lines in order, starting from the lowest number. Lines were numbered in increments of ten so that additional lines could later be inserted in between.

The way the language was translated was crucial. Most languages use a compiler: it translates the entire program into machine language in advance, which takes time but produces fast programs. BASIC, by contrast, mostly used an interpreter, which translates each line only at the moment it is executed. This made BASIC programs slow, but they could be started immediately and errors could be corrected on the spot.

The set of commands was deliberately kept small. With around two dozen keywords, you could go a long way. For calculations there were variables, meaning named storage locations for numbers or text. For repetition there were loops using FOR and NEXT. More modern descendants such as Visual Basic have done away with line numbers and instead work with named program sections that can be called from multiple places.

Where BASIC still turns up today

As a language for new software, BASIC barely plays a role anymore. Beginners today mostly learn Python, which pursues the same entry-level idea but without the old weaknesses. Still, one descendant remains very much alive: Visual Basic for Applications, or VBA for short, is built into Microsoft Excel. Anyone who records a macro there to automate recurring tasks is generating VBA code in the background. In many companies, important analyses still run on it to this day.

In the news, BASIC mostly appears as a historical reference point. Whenever there is coverage of Microsoft’s early days, retro computers, or the question of how children should learn to program, the name regularly comes up. The current debate about AI assistants that write program code on command is also often compared to BASIC: in both cases, the point is to lower the barrier to programming.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.