Programming Languages

BASIC and Programming for Beginners

How BASIC, created at Dartmouth in the 1960s for students, spread to time-sharing users and then to the first home computer owners in the 1970s and 1980s.

On this page
  1. A language made for non-specialists
  2. Why it was easy to learn
  3. Time-sharing made it practical
  4. From the classroom to the hobbyist
  5. Dialects and portability problems
  6. Criticism and what replaced it
  7. What BASIC left behind

A language made for non-specialists

By the early 1960s, computers were mostly used by specialists. Programming usually meant submitting a stack of punched cards and waiting, sometimes hours, for printed results. A single typing mistake could mean a long wait for the next attempt.

At Dartmouth College, John Kemeny and Thomas Kurtz wanted students from many fields, not just science and engineering, to be able to use computers. Working with students, they created BASIC in the mid-1960s, with the first programs running in 1964. The name is generally given as Beginner’s All-purpose Symbolic Instruction Code. Their goal was a language that could be learned quickly and gave clear, immediate feedback.

Why it was easy to learn

BASIC used a small set of English-like words and numbered lines. A short program might ask for a number, print a message and repeat. The commands were few enough that a newcomer could write something useful within a single session.

Several features helped beginners:

  • Short, readable statements such as PRINT, INPUT and GOTO.
  • Line numbers that made it easy to edit or insert a step.
  • Error messages that appeared quickly, so a learner could fix a mistake and try again.
  • Little ceremony: no long setup before the first line of a program.

This simplicity was deliberate. It also meant the language left out features that professional programmers wanted, and later versions added many of them.

Time-sharing made it practical

The Dartmouth system used time-sharing, in which many people at terminals shared one computer, each getting a small slice of its attention. Users typed a program and ran it right away rather than handing over cards. This interactive style suited BASIC, which was usually run by an interpreter that executed lines directly. The difference between that approach and the alternative is explained in the article on compilers and interpreters.

Other organizations adopted BASIC for their own time-sharing services. Schools and companies could rent terminal access without owning a computer, and many people met programming this way during the late 1960s and 1970s.

From the classroom to the hobbyist

When microprocessors made small computers affordable in the mid-1970s, their owners needed software, and a language that fit in a small amount of memory was valuable. BASIC was a good match because an interpreter could be made quite compact. Microsoft’s early product, a BASIC for the Altair 8800 hobbyist computer in 1975, is often cited as the start of that company’s business.

From there, BASIC became the default language on many home machines. Computers sold in the late 1970s and 1980s commonly started up directly into a BASIC prompt, so turning the machine on meant being able to type a program immediately. This is part of why home computing for many people began with programming rather than just running purchased software.

Magazines and books printed program listings that readers typed in by hand. This was tedious, and typos were common, but it taught readers how programs worked. Some of the people who later became professional developers, including many bedroom programmers who wrote games, say that this is how they started.

Dialects and portability problems

One drawback was that BASIC was not a single language. Different manufacturers wrote their own versions with different commands, especially for graphics and sound. A program from one machine often needed substantial changes on another. Standards were published, but the popular dialects tended to diverge from them.

Computers also made BASIC part of education. Teaching programs in school computer labs often used it, and in some countries national initiatives put BASIC machines in classrooms. Whether this created lasting skills varied widely; much depended on the teacher and the time available.

Criticism and what replaced it

Teachers and computer scientists debated BASIC’s effects. The most common criticism was that heavy use of GOTO, a command that jumps to another line, encouraged tangled programs that were hard to follow. Some educators favored languages that promoted structured design instead. Others argued that a first language should be easy and that good habits could be learned later. Researchers have not settled this question, and personal experience varies.

Over time, BASIC versions evolved. Structured features such as named procedures and loops replaced line numbers in later dialects, and visual development tools built on BASIC-like syntax reached ordinary Windows users in the 1990s. Meanwhile, languages like Pascal, and later Python, took over much of the teaching role.

What BASIC left behind

The language’s lasting effect is probably cultural rather than technical. It showed that programming could be offered to people who did not plan to become specialists, and that a first language should respond quickly and forgive errors. Many later beginner-oriented tools, from Logo programming for children to modern block-based environments, share that spirit.

It also showed the cost of leaving a language loosely standardized. Portability, a persistent concern across the history of computing, was one area where BASIC fell short. Still, for many people in the 1970s and 1980s, a blinking cursor and a few typed lines was their first conversation with a computer.

The complete guide to programming languages

A Plain-Language History of Programming Languages
Read the guide

Keep exploring

Guides from other topics

All topics →