BASIC
Beginner-oriented general-purpose language from 1964
BASIC (Beginner's All-purpose Symbolic Instruction Code) is a general-purpose programming language created in 1964 by John Kemeny and Thomas Kurtz at Dartmouth College to make computer programming accessible to students outside technical…
Definition
BASIC (Beginner's All-purpose Symbolic Instruction Code) is a general-purpose programming language created in 1964 by John Kemeny and Thomas Kurtz at Dartmouth College to make computer programming accessible to students outside technical fields. Its simple, English-like syntax, line-numbered statements, and immediate, interactive execution model made it one of the most widely taught introductory languages for decades and the default scripting language bundled with early personal computers.
Overview
BASIC was created in 1964 at Dartmouth College by John Kemeny and Thomas Kurtz, who wanted undergraduates across all majors, not just mathematics and engineering students, to be able to write and run programs on the college's time-sharing computer system without first learning a complex language like FORTRAN or ALGOL. The original Dartmouth BASIC ran on one of the first general-purpose time-sharing systems, which itself was a significant factor in the language's early success, since students could get immediate feedback on their programs rather than waiting for batch-processed results. Mechanically, classic BASIC organized programs as a sequence of numbered lines, executed in order unless a `GOTO` or `GOSUB` statement redirected control to another line number, a simple but limiting model compared to the structured control-flow constructs, like named procedures and block scoping, found in more modern languages. Variables required no declarations, arithmetic and string operations used straightforward, readable keywords, and the interactive interpreter let a programmer type a line, run it immediately, and see results without a separate compile step, which was unusual and valuable for beginners at the time. BASIC's simplicity made it the natural choice for early microcomputer manufacturers: Microsoft's first product was a BASIC interpreter for the Altair 8800 in 1975, and BASIC interpreters shipped built into nearly every major home computer of the late 1970s and 1980s, including the Apple II, Commodore 64, and IBM PC, making it most non-technical users' very first exposure to programming. Compared to Logo, which used turtle graphics for younger learners, BASIC targeted a broader range of ages and skill levels with a more conventional, text-based syntax closer to real-world professional languages of the era. In practice, BASIC's line-numbered, GOTO-driven style gave way over time to structured successors like QuickBASIC and, later, Visual Basic, which added procedures, loops, and eventually full object-oriented and event-driven programming models while retaining BASIC's approachable keyword-based syntax. Modern free descendants like FreeBASIC continue this lineage for hobbyists who want BASIC's simplicity with more contemporary compiler features. Original line-numbered BASIC is now considered obsolete for serious development, criticized historically, notably by Edsger Dijkstra, for encouraging poor programming habits through unrestricted `GOTO` usage that made larger programs hard to reason about. Its structured descendants addressed these criticisms directly, and while BASIC itself is rarely taught as a first language today, its historical role in bringing programming to a mass audience of first-time computer users on early personal computers remains foundational to computing education's history.
Key Features
- English-like, beginner-friendly keyword syntax
- Original line-numbered program structure with GOTO/GOSUB flow
- Interactive interpreter with immediate execution feedback
- Created at Dartmouth College for non-technical undergraduate students
- Bundled interpreters on nearly all early 1980s home computers
- No variable declarations required in classic implementations
- Evolved into structured descendants like QuickBASIC and Visual Basic
- Criticized historically for encouraging unstructured GOTO-based code
Use Cases
Alternatives
Frequently Asked Questions
From the Blog
What Is Talent Acquisition? Beyond Basic Recruiting
Talent acquisition is the long-term, strategic process of finding, attracting, and hiring skilled people to meet an organization's future needs, not just filling open roles. Here's how it differs from recruiting.
Read More ProgrammingHow to write parametrised tests in pytest
Parametrisation collapses near-identical tests into one data-driven case list — but only when the cases differ purely in data. This covers the basic form, readable IDs so a failure names the case, stacking for combinations, per-case marks, and the point at which a separate named test is clearer.
Read More AI & TechnologyHow Meta Ads Actually Work
Meta ads let businesses target specific audiences across Facebook and Instagram based on interests, behavior, and demographics. This guide explains the ad auction, campaign structure, targeting options, and how to read basic performance metrics.
Read More Data ScienceNumPy views vs copies: when a slice shares memory and when it does not
Basic slicing returns a view that shares memory with the original array; fancy indexing and boolean masks return copies. Rather than trusting recall, verify with the base attribute or a shared-memory check. The bug worth preventing is a function that mutates the array it was handed.
Read More