HOME

TheInfoList




BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose,
high-level programming language In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , , ...
s whose design philosophy emphasizes ease of use. The original version was designed by
John G. Kemeny John George Kemeny (born Kemény János György; May 31, 1926 – December 26, 1992) was a HungarianHungarian may refer to: * Hungary, a country in Central Europe * Kingdom of Hungary, state of Hungary, existing between 1000 and 1946 * Hungarians ...
and
Thomas E. Kurtz Thomas Eugene Kurtz (born February 22, 1928) is a retired Dartmouth professor of mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra) ...
and released at
Dartmouth College Dartmouth College ( ) is a private Private or privates may refer to: Music * "In Private "In Private" was the third single in a row to be a charting success for United Kingdom, British singer Dusty Springfield, after an absence of nearly t ...
in 1964. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only
scientist A scientist is a person who conducts scientific research The scientific method is an Empirical evidence, empirical method of acquiring knowledge that has characterized the development of science since at least the 17th century. It involves ...

scientist
s and
mathematician A mathematician is someone who uses an extensive knowledge of mathematics Mathematics (from Greek: ) includes the study of such topics as numbers ( and ), formulas and related structures (), shapes and spaces in which they are contained ( ...

mathematician
s tended to learn. In addition to the language itself, Kemeny and Kurtz developed the
Dartmouth Time Sharing System The Dartmouth Time-Sharing System (DTSS) is a discontinued operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operat ...
(DTSS), which allowed multiple users to edit and run BASIC programs at the same time. This general model became very popular on
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold for much less than Mainframe computer, mainframe and mid-size computers from IBM and BUNCH, its direct competitors. In ...
systems like the
PDP-11 The PDP-11 is a series of 16-bit 16-bit microcomputers are computers in which 16-bit microprocessors were the norm. A 16-bit register can store 216 different values. The range (computer programming), range of integer values that can be stored i ...
and
Data General Nova The Data General Nova is a series of 16-bit 16-bit microcomputers are computers in which 16-bit microprocessors were the norm. A 16-bit register can store 216 different values. The range (computer programming), range of integer values that ca ...
in the late 1960s and early 1970s.
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware compone ...

Hewlett-Packard
produced an entire computer line for this method of operation, introducing the
HP2000 The HP 2100 is a series of 16-bit 16-bit microcomputers are computers in which 16-bit microprocessors were the norm. A 16-bit register can store 216 different values. The range (computer programming), range of integer values that can be stored in ...
series in the late 1960s and continuing sales into the 1980s. Many early video games trace their history to one of these versions of BASIC. The emergence of early
microcomputer A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, Computer memory, memory and minimal input/output (I/O) circuitry mounted on a single printed ci ...
s in the mid-1970s led to the development of a number of BASIC dialects, including
Microsoft BASIC Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC p ...
in 1975. Due to the tiny
main memory Computer data storage is a technology consisting of computer components and Data storage device, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The cent ...
available on these machines, often 4 kB, a variety of
Tiny BASIC Tiny BASIC is a family of dialects The term dialect (from Latin Latin (, or , ) is a classical language belonging to the Italic languages, Italic branch of the Indo-European languages. Latin was originally spoken in the area around Rome, kn ...
dialects was also created. BASIC was available for almost any system of the era, and naturally became the ''de facto'' programming language for the
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...

home computer
systems that emerged in the late 1970s. These machines almost always had a
BASIC interpreter A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programmin ...
installed by default, often in the machine's
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithm of an algorithm (Euclid's algorithm) for calculating the greatest commo ...
or sometimes on a
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality The risk of mortality (ROM) provides a medical classification to estimate the likelihood of inhospital death for a patient. The ROM classes are minor, moderate, major, and ex ...
cartridge. BASIC fell from use in the early 1990s, as newer machines with far greater capabilities came to market and other programming languages (such as
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, French ...
and C) became tenable. In 1991,
Microsoft Microsoft Corporation is an American multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multination ...

Microsoft
released
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic (classic) The original Visual Basic (also referred to as Classic Visual Basic) is a third-generation programming language, third-gener ...
, combining a greatly updated version of BASIC with a visual forms builder. This reignited use of the language and "VB" remains a major programming language in the form of
VB.NET Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented Object-oriented programming (OOP) is a programming paradigm Program, programme, programmer, or programming may refer to: Business and ma ...
.


Origin

John G. Kemeny John George Kemeny (born Kemény János György; May 31, 1926 – December 26, 1992) was a HungarianHungarian may refer to: * Hungary, a country in Central Europe * Kingdom of Hungary, state of Hungary, existing between 1000 and 1946 * Hungarians ...
was the math department chairman at Dartmouth College. Based largely on his reputation as an innovator in math teaching, in 1959 the school won an Alfred P. Sloan Foundation award for $500,000 to build a new department building.
Thomas E. Kurtz Thomas Eugene Kurtz (born February 22, 1928) is a retired Dartmouth professor of mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra) ...
had joined the department in 1956, and from the 1960s Kemeny and Kurtz agreed on the need for programming literacy among students outside the traditional
STEM Stem or STEM may refer to: Biology * Plant stem, the aboveground structures that have vascular tissue and that support leaves and flowers ** Stipe (botany), a stalk that supports some other structure ** Stipe (mycology), the stem supporting the c ...
fields. Kemeny later noted that "Our vision was that every student on campus should have access to a
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operations known as Computer program, programs. These ...

computer
, and any faculty member should be able to use a computer in the classroom whenever appropriate. It was as simple as that." Kemeny and Kurtz had made two previous experiments with simplified languages, DARSIMCO (Dartmouth Simplified Code) and
DOPE (Dartmouth Oversimplified Programming Experiment) DOPE, short for Dartmouth Oversimplified Programming Experiment, was a simple programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/out ...
. These did not progress past a single freshman class. New experiments using
Fortran Fortran (; formerly FORTRAN) is a general-purpose, compiled language, compiled imperative programming, imperative programming language that is especially suited to numerical analysis, numeric computation and computational science, scientific com ...

Fortran
and
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative Imperative may refer to: *Imperative mood, a grammatical mood (or mode) expressing commands, direct requests, and prohibitions *Imperative programming, a programming paradigm ...
followed, but Kurtz concluded these languages were too tricky for what they desired. As Kurtz noted, Fortran had numerous oddly-formed commands, notably an "almost impossible-to-memorize convention for specifying a loop: 'DO 100, I = 1, 10, 2'. Is it '1, 10, 2' or '1, 2, 10', and is the comma after the line number required or not?" Moreover, the lack of any sort of immediate feedback was a key problem; the machines of the era used
batch processing Computerized batch processing is the running of "jobs that can run without end user interaction, or can be scheduled to run as resources permit." History The term "batch processing" originates in the traditional classification of methods of produc ...
and took a long time to complete a run of a program. While Kurtz was visiting
MIT Massachusetts Institute of Technology (MIT) is a private land-grant research university A research university is a university A university ( la, universitas, 'a whole') is an educational institution, institution of higher education, hi ...

MIT
,
John McCarthyJohn McCarthy may refer to: Government * John George MacCarthy (1829–1892), Member of Parliament for Mallow constituency, 1874–1880 * John McCarthy (Irish politician) (1862–1893), Member of Parliament for the Mid Tipperary constituency, 189 ...
suggested that
time-sharing In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softw ...
offered a solution; a single machine could divide up its processing time among many users, giving them the illusion of having a (slow) computer to themselves., p. 23 Small programs would return results in a few seconds. This led to increasing interest in a system using time-sharing and a new language specifically for use by non-STEM students. Kemeny wrote the first version of BASIC. The
acronym An acronym is a word In linguistics, a word of a spoken language can be defined as the smallest sequence of phonemes that can be uttered in isolation with semantic, objective or pragmatics, practical meaning (linguistics), meaning. In many la ...
''BASIC'' comes from the name of an unpublished paper by Thomas Kurtz. The new language was heavily patterned on FORTRAN II; statements were one-to-a-line, numbers were used to indicate the target of loops and branches, and many of the commands were similar or identical to Fortran. However, the
syntax In linguistics Linguistics is the scientific study of language, meaning that it is a comprehensive, systematic, objective, and precise study of language. Linguistics encompasses the analysis of every aspect of language, as well as the ...
was changed wherever it could be improved. For instance, the difficult to remember DO loop was replaced by the much easier to remember FOR I = 1 TO 10 STEP 2, and the line number used in the DO was instead indicated by the NEXT I. Likewise, the cryptic IF statement of Fortran, whose syntax matched a particular instruction of the machine on which it was originally written, became the simpler IF I=5 THEN GOTO 100. These changes made the language much less idiosyncratic while still having an overall structure and feel similar to the original FORTRAN. The project received a $300,000 grant from the
National Science Foundation The National Science Foundation (NSF) is an independent agency of the United States government Independent or Independents may refer to: Arts, entertainment, and media Artist groups * Independents (artist group)The Independents were a group of ...

National Science Foundation
, which was used to purchase a
GE-225file:GE_210_advertisement.jpg, GE 210 advertisement from 1960 The GE-200 series was a family of small Mainframe computer, mainframe computers of the 1960s, built by General Electric (GE). GE marketing called the line ''Compatibles/200'' (GE-205/215/ ...
computer for processing, and a Datanet-30 realtime processor to handle the
Teletype Model 33 The Teletype Model 33 is an electromechanical teleprinter designed for light-duty office use. It is less rugged and cost less than earlier Teletype machines. The Teletype Corporation introduced the Model 33 as a commercial product in 1963 after ...
teleprinter A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point (telecommunications), point-to-point and point- ...
s used for input and output. A team of a dozen undergraduates worked on the project for about a year, writing both the DTSS system and the BASIC compiler. The first version BASIC language was released on 1 May 1964. One of the graduate students on the implementation team was
Mary Kenneth Keller Mary Kenneth Keller, B.V.M. (December 17, 1913 – January 10, 1985) was an American Roman Catholic religious sister A religious sister in the Catholic Church The Catholic Church, often referred to as the Roman Catholic Church, is the Li ...
, one of the first people in the United States to earn a Ph.D. in computer science and the first woman to do so. Initially, BASIC concentrated on supporting straightforward mathematical work, with
matrix Matrix or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols, or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the material in between a eukaryoti ...
arithmetic support from its initial implementation as a batch language, and
character string In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, gene ...
functionality being added by 1965. Usage in the university rapidly expanded, requiring the main CPU to be replaced by a GE-235, and still later by a GE-635. By the early 1970s there were hundreds of terminals connected to the machines at Dartmouth, some of them remotely. Wanting use of the language to become widespread, its designers made the compiler available free of charge. In the 1960s, software became a chargeable commodity; until then, it was provided without charge as a service with the very expensive computers, usually available only to lease. They also made it available to high schools in the
Hanover, New Hampshire Hanover is a New England town, town located along the Connecticut River in Grafton County, New Hampshire, Grafton County, New Hampshire, United States. As of the 2020 United States Census, 2020 census, its population was 11,870. The town is home t ...
area and regionally throughout New England on Teletype Model 33 and Model 35 teleprinter terminals connected to Dartmouth via dial-up phone lines, and they put considerable effort into promoting the language. In the following years, as other dialects of BASIC appeared, Kemeny and Kurtz's original BASIC dialect became known as ''
Dartmouth BASIC Dartmouth BASIC is the original version of the BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming language In computer science Computer science deals with the theor ...
''. New Hampshire recognized the accomplishment in 2019 when it erected a highway historical marker in Hanover describing creation of "the first user-friendly programming language".


Spread on time-sharing services

The emergence of BASIC took place as part of a wider movement towards time-sharing systems. First conceptualized during the late 1950s, the idea became so dominant in the computer industry by the early 1960s that its proponents were speaking of a future in which users would "buy time on the computer much the same way that the average household buys power and water from utility companies."Bauer, W. F.,
Computer design from the programmer's viewpoint
' (Eastern Joint Computer Conference, December 1958) One of the first descriptions of computer time-sharing.
General Electric, having worked on the Dartmouth project, wrote their own underlying operating system and launched an online time-sharing system known as Mark I. It featured BASIC as one of its primary selling points. Other companies in the emerging field quickly followed suit;
Tymshare Tymshare, Inc. was a time-sharing In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both comp ...
introduced SUPER BASIC in 1968,
CompuServe CompuServe (CompuServe Information Service, also known by its initialism CIS) was an American online service provider, the first major commercial one in the United States – described in 1994 as "the oldest of the Big Three information services ...
had a version on the DEC-10 at their launch in 1969, and by the early 1970s BASIC was largely universal on general-purpose
mainframe computers A mainframe computer, informally called a mainframe or big iron, is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic ...
. Even
IBM International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, with operations in over 170 countries. The company began in 1911, founded in Endicott, New York, as the C ...

IBM
eventually joined the club with the introduction of VS-BASIC in 1973. Although time-sharing services with BASIC were successful for a time, the widespread success predicted earlier was not to be. The emergence of minicomputers during the same period, and especially low-cost microcomputers in the mid-1970s, allowed anyone to purchase and run their own systems rather than buy online time which was typically billed at dollars per minute.


Spread on minicomputers

BASIC, by its very nature of being small, was naturally suited to porting to the
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold for much less than Mainframe computer, mainframe and mid-size computers from IBM and BUNCH, its direct competitors. In ...
market, which was emerging at the same time as the time-sharing services. These machines had very small
main memory Computer data storage is a technology consisting of computer components and Data storage device, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The cent ...
, perhaps as little as 4 KB in modern terminology, and lacked high-performance storage like
hard drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device On a reel-to-reel tape recorder (Sony TC-630), the recorder is data storage equipment and the magnetic tape is a data storag ...
s that make compilers practical. On these systems, BASIC was normally implemented as an interpreter rather than a compiler due to the reduced need for working memory. A particularly important example was
HP Time-Shared BASIC HP Time-Shared BASIC (HP TSB) is a BASIC programming language BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming language In computer science Computer science deals with the ...
, which, like the original Dartmouth system, used two computers working together to implement a time-sharing system. The first, a low-end machine in the
HP 2100 The HP 2100 is a series of 16-bit 16-bit microcomputers are computers in which 16-bit microprocessors were the norm. A 16-bit register can store 216 different values. The range (computer programming), range of integer values that can be stored in ...
series, was used to control user input and save and load their programs to tape or disk. The other, a high-end version of the same underlying machine, ran the programs and generated output. For a cost of about $100,000, one could own a machine capable of running between 16 and 32 users at the same time. The system, bundled as the HP 2000, was the first mini platform to offer time-sharing and was an immediate runaway success, catapulting HP to become the third-largest vendor in the minicomputer space, behind DEC and
Data General Data General was one of the first minicomputer firms of the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation (DEC). Their first product, 1969's Data General Nova, was a 16-bit minicomputer intended to b ...
(DG). DEC, the leader in the minicomputer space since the mid-1960s, had initially ignored BASIC. This was due to their work with
RAND Corporation The RAND Corporation ("research and development") is an American nonprofit A nonprofit organization (NPO), also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and ope ...
, who had purchased a
PDP-6 The PDP-6 (''Programmed Data Processor-6'') is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets of operations known ...
to run their
JOSS --> , typing = , scope = Lexical , programming language = assembly language In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result o ...

JOSS
language, which was conceptually very similar to BASIC. This led DEC to introduce a smaller, cleaned up version of JOSS known as FOCAL, which they heavily promoted in the late 1960s. However, with timesharing systems widely offering BASIC, and all of their competition in the minicomputer space doing the same, DEC's customers were clamoring for BASIC. After management repeatedly ignored their pleas,
David H. Ahl David H. Ahl (born 1939) is the founder of '' Creative Computing'' magazine. He is also the author of many how-to book A book is a medium for recording information Information can be thought of as the resolution of uncertainty; it answe ...
took it upon himself to buy a BASIC for the
PDP-8 The PDP-8 is a 12-bit minicomputer that was produced by Digital Equipment Corporation, Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its bas ...

PDP-8
, which was a major success in the education market. By the early 1970s, FOCAL and JOSS had been forgotten and BASIC had become almost universal in the minicomputer market. DEC would go on to introduce their updated version,
BASIC-PLUS BASIC-PLUS is an extended dialect of the BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programming languages whose design philosophy emphasizes ea ...
, for use on the
RSTS/E RSTS () is a multi-user Multi-user software is software, computer software that allows access by multiple User (computing), users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers m ...
time-sharing operating system. During this period a number of simple
text-based game A text game or text-based game is an electronic game An electronic game is a game with separate sliding drawer, from 1390–1353 BC, made of glazed faience, dimensions: 5.5 × 7.7 × 21 cm, in the Brooklyn Museum (New Y ...
s were written in BASIC, most notably Mike Mayfield's ''
Star Trek ''Star Trek'' is an American science fiction media franchise created by Gene Roddenberry, which began with the Star Trek: The Original Series, eponymous 1960s series and quickly became a worldwide Popular culture, pop-culture Cultural influ ...
''. David Ahl collected these, some ported from FOCAL, and published them in an educational newsletter he compiled. He later collected a number of these into book form, ''101 BASIC Computer Games'', published in 1973. During the same period, Ahl was involved in the creation of a small computer for education use, an early
personal computer A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician ...
. When management refused to support the concept, Ahl left DEC in 1974 to found the seminal computer magazine, ''
Creative Computing ''Creative Computing'' was one of the earliest magazines covering the microcomputer revolution. Published from October 1974 until December 1985, the magazine covered the spectrum of hobbyist/home/personal computing in a more accessible format tha ...
''. The book remained popular, and was re-published on several occasions.


Explosive growth: the home computer era

The introduction of the first
microcomputer A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, Computer memory, memory and minimal input/output (I/O) circuitry mounted on a single printed ci ...
s in the mid-1970s was the start of explosive growth for BASIC. It had the advantage that it was fairly well known to the young designers and computer hobbyists who took an interest in microcomputers, many of whom had seen BASIC on minis or mainframes. Despite Dijkstra's famous judgement in 1975, "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration", BASIC was one of the few languages that was both high-level enough to be usable by those without training and small enough to fit into the microcomputers of the day, making it the ''de facto'' standard programming language on early microcomputers. The first microcomputer version of BASIC was co-written by
Bill Gates William Henry Gates III (born October 28, 1955) is an American business magnate A business magnate is someone who has achieved great success and enormous wealth through the ownership of multiple lines of enterprise. The term character ...
,
Paul Allen Paul Gardner Allen (January 21, 1953 – October 15, 2018) was an American business magnate, computer programmer, researcher, investor, and philanthropist. He co-founded Microsoft, Microsoft Corporation with childhood friend Bill Gates in 19 ...

Paul Allen
and
Monte Davidoff Monte Davidoff (; born 1956) is an American American(s) may refer to: * American, something of, from, or related to the United States of America, commonly known as the United States The United States of America (USA), commonly known as the ...
for their newly-formed company, Micro-Soft. This was released by MITS in
punch tape Five- and eight-hole punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data storage ...
format for the
Altair 8800 The Altair 8800 is a microcomputer A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU). It includes a microprocessor, Computer memory, memory and minimal input/output (I/O) cir ...

Altair 8800
shortly after the machine itself, immediately cementing BASIC as the primary language of early microcomputers. Members of the
Homebrew Computer Club The Homebrew Computer Club was an early computer hobbyist group in Menlo Park, California Menlo Park is a city located at the eastern edge of San Mateo County within the San Francisco Bay Area of California in the United States. It is border ...
began circulating copies of the program, causing Gates to write his
Open Letter to Hobbyists The Open Letter to Hobbyists is a 1976 open letter An open letter is a letter Letter, letters, or literature may refer to: Characters typeface * Letter (alphabet) A letter is a segmental symbol A symbol is a mark, sign, or word that ...
, complaining about this early example of
software piracy Copyright infringement (at times referred to as piracy) is the use of Copyright#Scope, works protected by copyright law without permission for a usage where such permission is required, thereby infringing certain exclusive rights granted to the ...
. Partially in response to Gates's letter, and partially to make an even smaller BASIC that would run usefully on 4 KB machines, Bob Albrecht urged
Dennis Allison Dennis Allison is a lecturer at Stanford University, a position he has held since 1976. Allison was a founding member of the People's Computer Company. Allison in 1975 wrote a specification for a microcomputer interpreter (computing), interpret ...
to write their own variation of the language. How to design and implement a stripped-down version of an interpreter for the BASIC language was covered in articles by Allison in the first three quarterly issues of the ''
People's Computer Company People's Computer Company (PCC) was an organization, a newsletter (the ''People's Computer Company Newsletter'') and, later, a quasiperiodical called the ''Dragonsmoke''. PCC was founded and produced by Dennis Allison, Bob Albrecht and George Fire ...
'' newsletter published in 1975 and implementations with source code published in '' Dr. Dobb's Journal of Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte''. This led to a wide variety of
Tiny BASIC Tiny BASIC is a family of dialects The term dialect (from Latin Latin (, or , ) is a classical language belonging to the Italic languages, Italic branch of the Indo-European languages. Latin was originally spoken in the area around Rome, kn ...
s with added features or other improvements, with versions from Tom Pittman and
Li-Chen Wang ; All Wrongs Reserved in 1976 Li-Chen Wang (born 1935) is an American computer engineer, best known for his ''Palo Alto Tiny BASIC'' for Intel 8080 The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured ...
becoming particularly well known. Micro-Soft, by this time
Microsoft Microsoft Corporation is an American multinational Multinational may refer to: * Multinational corporation, a corporate organization operating in multiple countries * Multinational force, a military body from multiple countries * Multination ...

Microsoft
, ported their interpreter for the
MOS 6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit In computer architecture In computer ...
, which quickly become one of the most popular microprocessors of the 8-bit era. When new microcomputers began to appear, notably the "1977 trinity" of the
TRS-80 The TRS-80 Micro Computer System (TRS-80, later renamed the Model I to distinguish it from successors) is a desktop launched in 1977 and sold by through their stores. The name is an abbreviation of ''Tandy Radio Shack, Z80 icroprocessor'. It ...

TRS-80
,
Commodore PET The Commodore PET is a line of personal computer A personal computer (PC) is a multi-purpose computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern comp ...

Commodore PET
and
Apple II The Apple II (stylized as apple ] '') is an 8-bit home computer">8-bit.html" ;"title="'') is an 8-bit">'') is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primari ...

Apple II
, they either included a version of the MS code, or quickly introduced new models with it. By 1978, MS BASIC was a ''de facto'' standard and practically every
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...

home computer
of the 1980s included it in read-only memory, ROM. Upon boot, a BASIC interpreter in
direct mode Direct mode, also known as immediate mode is a computing term referring to the input of textual commands outside the context of a program. The command would be executed immediately and the results printed on screen, in contrast to programming mode ...
was presented.
Commodore Business Machines Commodore International (other names include Commodore International Limited, or just simply Commodore) was an American home computer and electronics manufacturer founded by Jack Tramiel. Commodore International (CI), along with its subsidiary ...
included
Commodore BASIC Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the of the used in 's line, stretching from the of 1977 to the of 1985. The core is based on , and as such it shares many characteristics with other 6502 BASICs of the time, such ...
, based on Microsoft BASIC. The Apple II and TRS-80 each had two versions of BASIC, a smaller introductory version introduced with the initial releases of the machines and an MS-based version introduced as interest in the platforms increased. As new companies entered the field, additional versions were added that subtly changed the BASIC family. The
Atari 8-bit family The Atari 8-bit family is a series of 8-bit In computer architecture In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems. Some ...
had its own
Atari BASIC Atari BASIC is an interpreter (computing), interpreter for the BASIC programming language that shipped with the Atari 8-bit family of MOS Technology 6502, 6502-based home computers. Unlike most BASICs of the home computer era, Atari BASIC is not ...
that was modified in order to fit on an 8 KB
ROM cartridge A game cartridge, usually referred to in context simply as a cartridge, cart, or card, is a replaceable part designed to be connected to a consumer electronics Consumer electronics or home electronics are electronic Electronic may refer ...
.
Sinclair BASIC Sinclair BASIC is a dialect The term dialect (from , , from the word , 'discourse', from , 'through' and , 'I speak') can refer to either of two distinctly different types of phenomena: * One usage refers to a of a that is a charac ...
was introduced in 1980 with the Sinclair
ZX80 The Sinclair ZX80 is a home computer Home computers were a class of s that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were ...

ZX80
, and was later extended for the Sinclair
ZX81 The ZX81 is a home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, ...

ZX81
and the Sinclair
ZX Spectrum The ZX Spectrum () is an 8-bit In computer architecture, 8-bit integer (computer science), integers or other data#Uses of data in computing, data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit, CPU ...

ZX Spectrum
. The
BBC The British Broadcasting Corporation (BBC) is a public service broadcaster, headquartered at Broadcasting House in Westminster, London. It is the world's oldest national broadcaster, and the largest broadcasting, broadcaster in the world by ...

BBC
published
BBC BASIC BBC BASIC is a version of the BASIC programming language released in 1981 as the native programming language for the BBC Micro home/personal computer, providing a standardized language for a UK computer literacy project of the BBC. It was writt ...
, developed by
Acorn Computers Acorn Computers Ltd. was a British computer company established in Cambridge, England, in 1978. The company produced a number of computers which were especially popular in the United Kingdom, UK, including the Acorn Electron and the Acorn Archim ...
Ltd, incorporating many extra
structured programming Structured programming is a programming paradigm Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with impl ...
keywords and advanced floating-point operation features. As the popularity of BASIC grew in this period, computer magazines published complete source code in BASIC for video games, utilities, and other programs. Given BASIC's straightforward nature, it was a simple matter to type in the code from the magazine and execute the program. Different magazines were published featuring programs for specific computers, though some BASIC programs were considered universal and could be used in machines running any variant of BASIC (sometimes with minor adaptations). Many books of type-in programs were also available, and in particular, Ahl published versions of the original 101 BASIC games converted into the Microsoft dialect and published it from ''Creative Computing'' as ''
BASIC Computer Games ''BASIC Computer Games'' is a compilation of type-in computer games in the BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programming languages wh ...
''. This book, and its sequels, provided hundreds of ready-to-go programs that could be easily converted to practically any BASIC-running platform. The book reached the stores in 1978, just as the
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...

home computer
market was starting off, and it became the first million-selling computer book. Later packages, such as Learn to Program BASIC would also have gaming as an introductory focus. On the business-focused
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system An operating system (OS) is system software System software is software designed to provide a platform ...
computers which soon became widespread in small business environments,
Microsoft BASIC Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first version of BASIC p ...
(
MBASIC MBASIC is the Microsoft BASIC implementation of BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming language In computer science Computer science deals with the theor ...
) was one of the leading applications. In 1978, David Lien published the first edition of ''The BASIC Handbook: An Encyclopedia of the BASIC Computer Language'', documenting keywords across over 78 different computers. By 1981, the second edition documented keywords from over 250 different computers, showcasing the explosive growth of the microcomputer era.


IBM PC and compatibles

When IBM was designing the
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first computer released in the IBM PC model line and the basis for the IBM PC compatible IBM PC compatible computers are similar to the original IBM PC The IBM ...

IBM PC
they followed the paradigm of existing home computers in wanting to have a built-in BASIC. They sourced this from Microsoft –
IBM Cassette BASIC The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Micro ...

IBM Cassette BASIC
– but Microsoft also produced several other versions of BASIC for
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Example ...
/
PC DOS PC or pc may refer to: Arts and entertainment * Player character A player character (also known as a playable character or PC) is a fictional Character (arts), character in a video game or tabletop role-playing game whose actions are control ...
including IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A),
GW-BASIC GW-BASIC is a dialect of the BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. ...
(a BASICA-compatible version that did not need IBM's ROM) and
QBasic QBasic is an integrated development environment#REDIRECT Integrated development environment {{Redirect category shell, 1= {{R from other capitalisation ... (IDE) and interpreter for a variety of dialects of BASIC BASIC (Beginners' All-pur ...
, all typically bundled with the machine. In addition they produced the Microsoft BASIC Compiler aimed at professional programmers. Turbo
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, French ...
-publisher
Borland Borland Software Corporation was a computer technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn. Its main business was the development and sale of software development and software deployment products. ...
published
Turbo Basic PowerBASIC, formerly Turbo Basic, is the brand of several commercial compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) ...
1.0 in 1985 (successor versions are still being marketed by the original author under the name
PowerBASIC PowerBASIC, formerly Turbo Basic, is the brand of several commercial compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) ...
). Microsoft wrote the windowed AmigaBASIC that was supplied with version 1.1 of the pre-emptive multitasking GUI Amiga computers (late 1985 / early 1986), although the product unusually did not bear any Microsoft marks. These later variations introduced many extensions, such as improved string manipulation and graphics support, access to the
file system In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...
and additional
data type In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , ...
s. More important were the facilities for
structured programming Structured programming is a programming paradigm Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainly with impl ...
, including additional
control structures In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algor ...
and proper
subroutine In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, gener ...
s supporting
local variable In computer science, a local variable is a Variable (programming), variable that is given ''local scope (programming), scope''. Local variable references in the subroutine, function or block (programming), block in which it is declared override the ...
s. However, by the latter half of the 1980s, users were increasingly using pre-made applications written by others rather than learning programming themselves; while professional programmers now had a wide range of more advanced languages available on small computers. C and later
C++ C++ () is a general-purpose programming language In computer software, a general-purpose programming language is a programming language dedicated to a general-purpose, designed to be used for writing software in a wide variety of application ...

C++
became the languages of choice for professional "shrink wrap" application development.


Visual Basic

In 1991, Microsoft introduced
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to: * Visual Basic (classic) The original Visual Basic (also referred to as Classic Visual Basic) is a third-generation programming language, third-gener ...
, an evolutionary development of QuickBasic. It included constructs from that language such as block-structured control statements, parameterized subroutines and optional
static typing In programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming languages are used in computer programming to ...
as well as
object-oriented Object-oriented programming (OOP) is a programming paradigm Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * P ...
constructs from other languages such as "With" and "For Each". The language retained some compatibility with its predecessors, such as the Dim keyword for declarations, "Gosub"/Return statements and optional line numbers which could be used to locate errors. An important driver for the development of Visual Basic was as the new macro language for
Microsoft Excel Microsoft Excel is a spreadsheet A spreadsheet is a computer application for organization, analysis, and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program ope ...
, a
spreadsheet A spreadsheet is a computer application for organization, analysis, and storage of data in table (information), tabular form. Spreadsheets were developed as computerized analogs of paper accounting Worksheet#Accounting, worksheets. The program op ...

spreadsheet
program. To the surprise of many at Microsoft who still initially marketed it as a language for hobbyists, the language came into widespread use for small custom business applications shortly after the release of VB version 3.0, which is widely considered the first relatively stable version. While many advanced programmers still scoffed at its use, VB met the needs of
small business Small businesses are privately owned corporation A corporation is an organization—usually a group of people or a company—authorized by the State (polity), state to act as a single entity (a legal entity recognized by private and pu ...
es efficiently as by that time, computers running Windows 3.1 had become fast enough that many business-related processes could be completed "in the blink of an eye" even using a "slow" language, as long as large amounts of data were not involved. Many small business owners found they could create their own small, yet useful applications in a few evenings to meet their own specialized needs. Eventually, during the lengthy lifetime of VB3, knowledge of Visual Basic had become a marketable job skill. Microsoft also produced
VBScript VBScript (''"Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company with headquarters in Redmond, Washington. It develops, manufactures, licenses, supports, and sells Software, computer softw ...
in 1996 and Visual Basic .NET in 2001. The latter has essentially the same power as C# and
Java Java ( id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 147.7 million people, Java is the world's List of ...
but with syntax that reflects the original Basic language. The
IDE #REDIRECT IDE IDE, iDE, or Ide may refer to: Organisations * ''Institut für Dokumentologie und Editorik'', a German think tank for the application of digital methods on historical documents * Institute of Developing Economies, a semi-governmental ...
, with its event-driven
GUI builder A graphical user interface builder (or GUI builder), also known as GUI designer, is a software development tool that simplifies the creation of graphical user interface, GUIs by allowing the designer to arrange graphical control elements (often cal ...
, was also influential on other tools, most notably
Borland Software Borland Software Corporation was a computer technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn. Its main business was the development and sale of software development and software deployment products. B ...
's
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
for
Object Pascal Object Pascal is an extension to the programming language Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of ...
and its own descendants such as Lazarus. Mainstream support for the final version 6.0 of the original Visual Basic ended on March 31, 2005, followed by extended support in March 2008. On March 11, 2020, Microsoft announced that evolution of the VB.NET language had also concluded, although it was still supported. Meanwhile, competitors exist such as
Xojo The Xojo programming environment#REDIRECT Integrated development environment#REDIRECT Integrated development environment {{Redirect category shell, 1= {{R from other capitalisation ... {{Redirect category shell, 1= {{R from other capitalisatio ...
and
Gambas Gambas is the name of an object-oriented Object-oriented programming (OOP) is a programming paradigm Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing s ...

Gambas
.


Post-1990 versions and dialects

Many other BASIC dialects have also sprung up since 1990, including the
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized softwa ...
QB64 QB64 (originally QB32) is a Self-hosting (compilers), self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a C++ Code generation (compiler), emitter, which ...
and
FreeBASIC FreeBASIC is a multiplatform, free/ open source ( GPL) BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of General-purpose programming language, general-purpose, high-level programming languages whose design philosop ...
, inspired by QBasic, and the Visual Basic-styled
RapidQ RapidQ (also known as ''Rapid-Q'') is a Freeware, free, cross-platform, semi-object-oriented dialect of the BASIC programming language. It can create console application, console, graphical user interface, and Common Gateway Interface applicatio ...
, Basic For Qt and
Gambas Gambas is the name of an object-oriented Object-oriented programming (OOP) is a programming paradigm Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing s ...

Gambas
. Modern commercial incarnations include PureBasic,
PowerBASIC PowerBASIC, formerly Turbo Basic, is the brand of several commercial compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) ...
,
Xojo The Xojo programming environment#REDIRECT Integrated development environment#REDIRECT Integrated development environment {{Redirect category shell, 1= {{R from other capitalisation ... {{Redirect category shell, 1= {{R from other capitalisatio ...
, Monkey X and True BASIC (the direct successor to Dartmouth BASIC from a company controlled by Kurtz). Several web-based simple BASIC interpreters also now exist, including Microsoft's Small Basic. Many versions of BASIC are also now available for
smartphone A smartphone is a portable device A mobile device (or handheld computer) is a computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations automatically. Modern computers can per ...

smartphone
s and tablets via the Apple
App Store An app store (or app marketplace) is a type of digital distribution Digital distribution (also referred to as content delivery, online distribution, or electronic software distribution (ESD), among others) is the delivery or distribution of di ...

App Store
, or
Google Play Google Play, also branded as the Google Play Store and formerly Android Market, is a digital distribution Digital distribution (also referred to as content delivery, online distribution, or electronic software distribution (ESD), among other ...

Google Play
store for Android. On game consoles, an application for the
Nintendo 3DS The is a handheld game console produced by Nintendo. It was announced in March 2010 and unveiled at E3 2010 as the successor to the Nintendo DS. The system features backward compatibility with older Nintendo DS video games. As an eighth-gener ...
and
Nintendo DSi The Nintendo DSi is a dual-screen handheld game console released by Nintendo is a Japanese Multinational corporation, multinational consumer electronics and video game company headquartered in Kyoto. The company was founded in 1889 as ...

Nintendo DSi
called '' Petit Computer'' allows for programming in a slightly modified version of BASIC with DS button support. A version has also been released for
Nintendo Switch The is a video game console A video game console is an electronic device that output Output may refer to: * The information produced by a computer, see Input/output In computing, input/output (I/O, or informally io or IO) is the comm ...
.


Calculators

Variants of BASIC are available on graphing and otherwise
programmable calculator Programmable calculators are calculators that can automatically carry out a sequence of operations under control of a stored computer programming, program, much like a computer. The first programmable calculators such as the IBM CPC used punched c ...
s made by
Texas Instruments Texas Instruments Incorporated (TI) is an America The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or America, is a country primarily located in North America North America is a ...
, HP, Casio, and others.


Windows command-line

QBasic QBasic is an integrated development environment#REDIRECT Integrated development environment {{Redirect category shell, 1= {{R from other capitalisation ... (IDE) and interpreter for a variety of dialects of BASIC BASIC (Beginners' All-pur ...
, a version of Microsoft
QuickBASIC Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the c ...
without the linker to make EXE files, is present in the
Windows NT Windows NT is a proprietary {{Short pages monitor {{DEFAULTSORT:Basic BASIC programming language family, American inventions Articles with example BASIC code Programming languages Programming languages created in 1964 Programming languages with an ISO standard