Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language.... , BASIC (an acronym
Acronym and initialism
Acronyms, initialisms, and alphabetisms are abbreviations that are formed using the initial components in a phrase or name. These components may be individual letters or parts of words .... for Beginner's All-purpose Symbolic Instruction Code) is a family of high-level programming language
High-level programming language
In computing, a high-level programming language is a programming language with strong Abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or more Porting across platforms.... s. The original BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College.... was designed in 1964 by John George Kemeny
John George Kemeny
John George Kemeny , was a Hungary-United States mathematician, Computer science, and educator best known for co-developing the BASIC programming language in 1964 with Thomas Eugene Kurtz.... and Thomas Eugene Kurtz
Thomas Eugene Kurtz
Thomas Eugene Kurtz is an American computer scientist who co-developed the BASIC programming language in 1963/64 together with John George Kemeny.... at Dartmouth
Dartmouth College
Dartmouth College is a private university, coeducational university located in Hanover, New Hampshire, New Hampshire. Incorporated as "Trustees of Dartmouth College,"... in New Hampshire
New Hampshire
New Hampshire is a U.S. state in the New England region of the Northeastern United States United States of America. The state was named after the southern English Counties of England of Hampshire.... , USA
United States
The United States of America is a Federal government constitutional republic comprising U.S. state and a federal district. The country is situated mostly in central North America, where its Contiguous United States and Washington, D.C., the Capital districts and territories, lie between the Pacific Ocean and Atlantic Oceans, Borders of the U... to provide computer access to non-science students. At the time, nearly all use of computers required writing custom software, which was something only scientist
Scientist
A scientist, in the broadest sense, refers to any person that engages in a system activity to acquire knowledge or an individual that engages in such practices and traditions that are linked to schools of thought or philosophy.... s and mathematician
Mathematician
A mathematician is a person whose primary area of study and/or research is the field of mathematics.... s tended to be able to do.
Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language.... , BASIC (an acronym
Acronym and initialism
Acronyms, initialisms, and alphabetisms are abbreviations that are formed using the initial components in a phrase or name. These components may be individual letters or parts of words .... for Beginner's All-purpose Symbolic Instruction Code) is a family of high-level programming language
High-level programming language
In computing, a high-level programming language is a programming language with strong Abstraction from the details of the computer. In comparison to low-level programming languages, it may use natural language elements, be easier to use, or more Porting across platforms.... s. The original BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College.... was designed in 1964 by John George Kemeny
John George Kemeny
John George Kemeny , was a Hungary-United States mathematician, Computer science, and educator best known for co-developing the BASIC programming language in 1964 with Thomas Eugene Kurtz.... and Thomas Eugene Kurtz
Thomas Eugene Kurtz
Thomas Eugene Kurtz is an American computer scientist who co-developed the BASIC programming language in 1963/64 together with John George Kemeny.... at Dartmouth
Dartmouth College
Dartmouth College is a private university, coeducational university located in Hanover, New Hampshire, New Hampshire. Incorporated as "Trustees of Dartmouth College,"... in New Hampshire
New Hampshire
New Hampshire is a U.S. state in the New England region of the Northeastern United States United States of America. The state was named after the southern English Counties of England of Hampshire.... , USA
United States
The United States of America is a Federal government constitutional republic comprising U.S. state and a federal district. The country is situated mostly in central North America, where its Contiguous United States and Washington, D.C., the Capital districts and territories, lie between the Pacific Ocean and Atlantic Oceans, Borders of the U... to provide computer access to non-science students. At the time, nearly all use of computers required writing custom software, which was something only scientist
Scientist
A scientist, in the broadest sense, refers to any person that engages in a system activity to acquire knowledge or an individual that engages in such practices and traditions that are linked to schools of thought or philosophy.... s and mathematician
Mathematician
A mathematician is a person whose primary area of study and/or research is the field of mathematics.... s tended to be able to do. The language and its variants became widespread on microcomputer
Microcomputer
A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers.... s in the late 1970s and 1980s. BASIC remains popular to this day in a handful of highly modified dialect
Programming language dialect
A dialect of a programming language is a variation or extension of the language that does not change its intrinsic nature. With languages such as Scheme and Forth , standards may be considered insufficient, inadequate or even illegitimate by implementors, so often they will deviate from the standard, making a new dialect.... s and new languages based on BASIC such as Microsoft
Microsoft
Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices.... Visual Basic
Visual Basic
'Visual Basic' is the third-generation programming language event-driven programming and integrated integrated development environment from Microsoft for its Component Object Model programming model.... . As of 2006, 59% of developers for the .NET platform used Visual Basic as their only language
History
Background
Before the mid-1960s, computers were extremely expensive and used only for special-purpose tasks. A simple batch processing
Batch processing
Batch processing is execution of a series of Computer programs on a computer without human interaction.Batch jobs are set up so they can be run to completion without human interaction, so all input data is preselected through Script s or command-line parameters.... arrangement ran only a single "job" at a time, one after another. But during the 1960s faster and more affordable computers became available. With this extra processing power, computers would sometimes sit idle, without jobs to run.
Programming languages in the batch programming era tended to be designed, like the machines on which they ran, for specific purposes (such as scientific formula calculations or business data processing or eventually for text editing
Text editor
A text editor is a type of software application used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code.... ). Since even the newer, less expensive machines were still major investments, there was a strong tendency to consider efficiency to be the most important feature of a language. In general, these specialized languages were difficult to use and had widely disparate syntax
Syntax
In linguistics, syntax is the study of the principles and rules for constructing Sentence s in natural languages. In addition to referring to the discipline, the term syntax is also used to refer directly to the rules and principles that govern the sentence structure of any individual language, as in "the Irish syntax".... .
As prices decreased, the possibility of sharing computer access began to move from research labs to commercial use. Newer computer systems supported time-sharing
Time-sharing
Time-sharing refers to sharing a computing resource among many users by Computer multitasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major historical shift in the history of computing.... , a system which allows multiple users or processes to use the CPU and memory. In such a system the operating system
Operating system
An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer.... alternates between running processes, giving each one running time on the CPU before switching to another. The machines had become fast enough that most users could feel they had the machine all to themselves. In theory, timesharing reduced the cost of computing tremendously, as a single machine could be shared among (up to) hundreds of users.
Early years: the mini-computer era
The original BASIC language was designed in 1963 by John Kemeny
John George Kemeny
John George Kemeny , was a Hungary-United States mathematician, Computer science, and educator best known for co-developing the BASIC programming language in 1964 with Thomas Eugene Kurtz.... and Thomas Kurtz
Thomas Eugene Kurtz
Thomas Eugene Kurtz is an American computer scientist who co-developed the BASIC programming language in 1963/64 together with John George Kemeny.... and implemented by a team of Dartmouth students under their direction. BASIC was designed to allow students to write programs for the Dartmouth Time-Sharing System. It was intended to address the complexity issues of older languages with a new language design specifically for the new class of users that time-sharing systems allowed—that is, a less technical user who did not have the mathematical background of the more traditional users and was not interested in acquiring it. Being able to use a computer to support teaching and research was quite novel at the time. In the following years, as other dialects of BASIC appeared, Kemeny and Kurtz's original BASIC dialect became known as Dartmouth BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College.... .
The eight design principles of BASIC were:
Be easy for beginners to use.
Be a general-purpose programming language.
Allow advanced features to be added for experts (while keeping the language simple for beginners).
An error message is a message displayed when an unexpected condition occurs, usually on a computer or other device. Error messages are often displayed using dialog boxes.... s.
Respond quickly for small programs.
Not to require an understanding of computer hardware.
Shield the user from the operating system.
The language was based partly on the FORTRAN II and partly on the ALGOL 60, with additions to make it suitable for timesharing. (The features of other time-sharing systems such as JOSS
JOSS
JOSS was one of the very first interactive, time sharing programming languages.JOSS I, developed by J. Clifford Shaw at RAND was first implemented, in beta form, on the JOHNNIAC computer in May 1963.... and CORC, and to a lesser extent LISP, were also considered.) It had been preceded by other teaching-language experiments at Dartmouth such as the DARSIMCO (1956) and DOPE (1962 implementations of SAP and DART (1963) which was a simplified FORTRAN II). Initially, BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as a batch language and full string functionality being added by 1965. BASIC was first implemented on the GE-265
GE-200 series
The GE-200 series was a family of small Mainframe computer computers of the 1960s, built by General Electric.The main machine in the line was the GE-225.... mainframe
Mainframe computer
Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing.... which supported multiple terminals
Computer terminal
A computer terminal is an electronic or electromechanical computer hardware device that is used for entering data into, and displaying data from, a computer or a computing system.... . Contrary to popular belief, it was a compiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program.... language at the time of its introduction. It was also quite efficient, beating FORTRAN II and ALGOL 60 implementations on the 265 at several fairly computationally intensive (at the time) programming problems such as numerical integration by Simpson's Rule
Simpson's rule
In numerical analysis, Simpson's rule is a method for numerical integration, the numerical approximation of definite integrals. Specifically, it is the following approximation:... .
The designers of the language decided to make the compiler available free of charge so that the language would become widespread. They also made it available to high schools in the Dartmouth area and put a considerable amount of effort into promoting the language. As a result, knowledge of BASIC became relatively widespread (for a computer language) and BASIC was implemented by a number of manufacturers, becoming fairly popular on newer minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems .... s like the DEC
Digital Equipment Corporation
Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC .... PDP
Programmed Data Processor
Programmed Data Processor was the name of a series of minicomputers made by Digital Equipment Corporation. The name 'PDP' intentionally avoided the use of the term 'computer' because at the time of the first PDPs, computers had a reputation of being large, complicated, and expensive machines, and the venture capitalists behind Digital would... series and the Data General
Data General
Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation.... Nova
Data General Nova
The Data General Nova was a popular 16-bit minicomputer built by the United States company Data General starting in 1969. The Nova was packaged into a single rack mount case and had enough power to do most simple computing tasks.... . The BASIC language was also central to the HP Time-Shared BASIC system in the late 1960s and early 1970s. In these instances the language tended to be implemented as an interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that execution , i.e. performs, instructions written in a programming language.... , instead of (or in addition to) a compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program.... .
Several years after its release, highly-respected computer professionals, notably Edsger W. Dijkstra, expressed their opinions that the use of GOTO
GOTO
GOTO is a statement found in many computer programming languages. It is a combination of the English words wiktionary:go and wiktionary:to.... statements, which existed in many languages including BASIC, promoted poor programming practices. Some have also derided BASIC as too slow (most interpreted versions are slower than equivalent compiled versions) or too simple (many versions, especially for small computers left out important features and capabilities).
Explosive growth: the home computer era
Notwithstanding the language's use on several minicomputers, it was the introduction of the MITS
Micro Instrumentation and Telemetry Systems
Micro Instrumentation and Telemetry Systems was an Albuquerque, New Mexico, New Mexico company founded in 1969 by Forrest Mims and H. Edward Roberts.... Altair 8800
Altair 8800
The Micro Instrumentation and Telemetry Systems Altair 8800 was a microcomputer design from 1975, based on the Intel 8080 central processing unit and sold as a mail-order kit through advertisements in Popular Electronics, Radio-Electronics and other hobbyist magazines.... "kit" microcomputer
Microcomputer
A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe computer and minicomputers.... in 1975 that provided BASIC a path to universality. Most programming languages required more memory (and/or disk space) than was available on the small computers most users could afford. With the slow memory access that audio tapes provided and the lack of suitable text editors, a language like BASIC which could satisfy these constraints, as well as being interpreted line by line from a tape device, was attractive.
BASIC also had the advantage that it was fairly well known to the young designers and computer hobbyists who took an interest in microcomputers, and generally worked in the electronics industries of the day. Kemeny and Kurtz's earlier proselytizing paid off in this respect and the few hobbyists journals of the era were filled with columns that made mentions of the language or focused entirely on one version compared to others.
The Intel 8080 was an early microprocessor designed and manufactured by Intel. The 8-bit microprocessor was released in April 1974 running at 2 megahertz , and is generally considered to be the first truly usable microprocessor.... machines like the Altair was Tiny BASIC, a simple BASIC implementation originally written by Dr. Li-Chen Wang
Li-Chen Wang
Dr. 'Li-Chen Wang' wrote Palo Alto Tiny BASIC for Intel 8080-based microcomputers. This was the fourth version of Tiny BASIC that appeared in Dr.... , and then ported onto the Altair by Dennis Allison at the request of Bob Albrecht (who later founded Dr. Dobb's Journal
Dr. Dobb's Journal
Dr. Dobb's Journal was a monthly journal published in the United States by CMP Technology. It covered topics aimed at computer programmers. DDJ was the first regular periodical focused on microcomputer software, rather than hardware.... ). The Tiny BASIC design and the full source code were published in 1976 in DDJ.
Altair BASIC was an interpreter for the BASIC programming language that ran on the Micro Instrumentation and Telemetry Systems Altair 8800 and subsequent S-100 bus computers.... , developed by college drop-outs Bill Gates
Bill Gates
William Henry "Bill" Gates III is an United States business magnate, philanthropist, author, the List of the 100 wealthiest people , and chairman of the board of Microsoft, the software company he founded with Paul Allen.... and Paul Allen
Paul Allen
Paul Gardner Allen is an American computer programmer and entrepreneur who co-founded Microsoft with Bill Gates. Allen regularly appears on lists of the richest people in the world.... as the company Micro-Soft (who started today's corporate giant, Microsoft
Microsoft
Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices.... ). The first Altair version was co-written by Gates, Allen and Monte Davidoff
Monte Davidoff
Monte Davidoff is an United States computer programmer. He graduated from Nicolet High School in Glendale, Wisconsin in 1974. He went on to Harvard University, where he majored in applied mathematics, the department at Harvard that, at the time, included computer science.... in a burst of enthusiasm and neglect of studies. Versions of Microsoft BASIC
Microsoft BASIC
Microsoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC programming language available for the Altair 8800 hobbyist microcomputer.... (also known then, and most widely as M BASIC or MBASIC
MBASIC
MBASIC is the Microsoft BASIC implementation of BASIC for the CP/M operating system. MBASIC is a descendant of the original Altair BASIC interpreters that were among Microsoft's first products.... , see sidebar) was soon bundled with the original floppy disk
Floppy disk
A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell.... -based CP/M
CP/M
CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors.... computers, which became widespread in small business applications. As the popularity of BASIC on CP/M spread, newer computer designs also introduced their own version of the language, or had Micro-Soft port its version to their platform.
When three major new computers were introduced in what Byte Magazine would later call the "1977 Trinity", all three had BASIC as their primary programming language and operating environment. The Commodore PET
Commodore PET
The PET was a home computer-/personal computer produced by Commodore International starting in 1977. Although it was not a top seller outside the Canadian, US, and UK educational markets, it was Commodore's first full-featured computer and would form the basis for their future success.... licensed a version of Micro-Soft BASIC that was ported to the MOS 6502, while Apple II and TRS-80
TRS-80
TRS-80 was Tandy Corporation's desktop microcomputer model line, sold through Tandy's Radio Shack stores in the late 1970s and early 1980s. The line won popularity with hobbyists, home users, and small-businesses.... both introduced new versions of the language that were largely similar. As new companies entered the field, additional versions were added that subtly changed the BASIC family. The Atari 8-bit family
Atari 8-bit family
The Atari 8-bit family is a series of 8-bit home computers manufactured from 1979 to 1992. All are based on the MOS Technology MOS Technology 6502 central processing unit and were the first home computers designed with custom coprocessor chips, giving them the most powerful graphic, sound and I/O subsystems of any 8 bit machine of their time... had their own Atari BASIC
Atari BASIC
ATARI BASIC is a read-only memory resident BASIC programming language interpreter for the Atari 8-bit family of MOS Technology 6502-based home computers.... that was modified in order to fit on 8 kB ROM cartridge. The BBC published BBC BASIC
BBC BASIC
BBC BASIC is a programming language, developed in 1981 as a native programming language for the MOS Technology 6502 based Acorn Computers BBC Micro home/personal computer, mainly by Sophie Wilson.... , developed for them by Acorn Computers Ltd, incorporating many extra structuring keywords. Most of the home computer
Home computer
A home computer was a class of personal computer entering the market in 1977 and becoming common during the 1980s. They were marketed to consumers as accessible personal computers, more capable than video game consoles.... s of the 1980s had a ROM
Read-only memory
Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware .... -resident BASIC interpreter, allowing the machines to boot directly into BASIC. There are more dialects
Programming language dialect
A dialect of a programming language is a variation or extension of the language that does not change its intrinsic nature. With languages such as Scheme and Forth , standards may be considered insufficient, inadequate or even illegitimate by implementors, so often they will deviate from the standard, making a new dialect.... of BASIC than there are of any other programming language.
Creative Computing was one of the earliest magazines covering the microcomputer revolution. Published from 1974 until 1985, Creative Computing covered the whole spectrum of hobbyist/home/personal computing in a more accessible format than the rather technically-oriented BYTE magazine.... that included complete source codes for games, utilities, and other programs. Given BASIC's straightforward nature, it was considered a simple matter to type in the code
Type-in program
A type-in program, or just type-in, is a computer program listing printed in a computer magazine or book, meant to be typed in by the reader in order to run the program on a computer.... from the magazine and execute the program. Different magazines were published featuring programs for specific computers, though some BASIC programs were universal and could be input into any BASIC-using machine. A logical extension of the magazine idea was the publishing of BASIC source code in full-fledged books: probably the classic example was David Ahl
David H. Ahl
David H. Ahl is the founder of Creative Computing magazine. He is also the author of many how-to books, including BASIC Computer Games, the first million-selling computer book.... 's series of Basic Computer Games.
Maturity: the personal computer era
As early as 1979 Microsoft was in negotiations with IBM to supply them with a version of BASIC. Microsoft sold several versions of BASIC for MS-DOS
MS-DOS
MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s.... /PC-DOS
PC-DOS
IBM PC DOS was a DOS operating system for the IBM Personal Computer, sold throughout the 1980s and 2000s.... including BASICA, GW-BASIC (a BASICA-compatible version that did not need IBM's ROM) and QuickBASIC
QuickBASIC
Microsoft QuickBASIC is an Integrated Development Environment and compiler for the BASIC programming language that was developed by Microsoft Corporation.... . Turbo Pascal
Pascal (programming language)
Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure.... -publisher Borland
Borland
Borland Software Corporation is a Computer software company headquartered in Austin, Texas. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.... published Turbo BASIC 1.0 in 1985 (successor versions are still being marketed by the original author under the name PowerBASIC). Microsoft wrote the windowing based AmigaBASIC
AmigaBASIC
AmigaBASIC was an Interpreter BASIC programming language implementation for the Amiga, designed and written by Microsoft. AmigaBASIC shipped with AmigaOS versions 1.1 to 1.3.... 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 languages introduced many extensions to the original home computer BASIC, such as improved string manipulation and graphics support, access to the file system
File system
In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them.... and additional data types. More important were the facilities for structured programming
Structured programming
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO Statement .... , including additional control structures and proper subroutine
Subroutine
In computer science, a subroutine or subprogram is a portion of computer code within a larger computer program, which performs a specific task and is relatively independent of the remaining code.... s supporting local variable
Local variable
In computer science, a local variable is a variable that is given local scope . Such a variable is accessible only from the subroutine or statement block in which it is declared.... s.
However, by the latter half of the 1980s newer computers were far more capable with more resources. At the same time, computers had progressed from a hobbyist interest to tools used primarily for applications written by others, and programming became less important for most users. BASIC started to recede in importance, though numerous versions remained available. Compiled BASIC or CBASIC
CBASIC
CBASIC is a compiled version of the BASIC programming language written for the CP/M operating system by Gordon Eubanks in 1976?77. It is an enhanced version of BASIC-E, his master's thesis project.... is still used in many IBM 4690 OS point of sale systems.
BASIC's fortunes reversed once again with the introduction of Visual Basic
Visual Basic
'Visual Basic' is the third-generation programming language event-driven programming and integrated integrated development environment from Microsoft for its Component Object Model programming model.... by Microsoft. It is somewhat difficult to consider this language to be BASIC, because of the major shift in its orientation towards an object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs.... and event-driven
Event-driven programming
In computer programming, event-driven programming or event-based programming is a programming paradigm in which the Program flow is determined by event s — i.e., sensor outputs or user actions or Message passing from other programs or Thread_.... perspective. The only significant similarity to older BASIC dialects was familiar syntax. Syntax itself no longer "fully defined" the language, since much development was done using "drag and drop" methods without exposing all code for commonly-used objects such as buttons and scrollbars to the developer. While this could be considered an evolution of the language, few of the distinctive features of early Dartmouth BASIC
Dartmouth BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It is so named because it was designed and implemented at Dartmouth College.... , such as line number
Line number
In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.... s and the INPUT keyword, remain (although Visual Basic still uses INPUT to read data from files, and INPUTBOX is available for direct user input; line numbers can also optionally be used in all VB versions, even VB.NET, albeit they cannot be used in certain places, for instance before SUB).
Ironically given the origin of BASIC as a "beginner's" language, and apparently even to the surprise of many at Microsoft who still initially marketed Visual Basic or "VB" as a language for hobbyists, the language had come 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 businesses efficiently wherever processing speed was less of a concern than easy development. (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 massive 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.
Many BASIC dialects have also sprung up in the last few years, including Bywater BASIC
Bywater BASIC
The Bywater BASIC Interpreter is an interpreter for the BASIC programming language. It supports a large superset of the ANSI Standard for Minimal BASIC and a large subset of the ANSI Standard for Full BASIC .... and True BASIC
True BASIC
True BASIC is a variant of the BASIC programming language descended from Dartmouth BASIC – the original BASIC – invented by college professors John G.... (the direct successor to Dartmouth BASIC from a company controlled by Kurtz). Many other BASIC variants and adaptations have been written by hobbyists, equipment developers, and others, as it is a relatively simple language to develop translators for. An example of an open source interpreter, written in C, is .
The ubiquity of BASIC interpreters on personal computers was such that textbooks once included simple "Try It In BASIC" exercises that encouraged students to experiment with mathematical and computational concepts on classroom or home computers. Futurist and sci-fi writer David Brin
David Brin
Glen David Brin, Ph.D. is an United States scientist and award-winning author of science fiction. He has received both the Hugo award and Nebula Awards .... mourns the loss of ubiquitous BASIC in a recent Salon article.
Examples
Unstructured BASIC
New BASIC programmers on a home computer might start with a simple program similar to the Hello world program
Hello world program
A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language.... made famous by Kernighan and Ritchie. This generally involves simple use of the language's PRINT statement to display the message (such as the programmer's name) to the screen. Often an infinite loop
Infinite loop
An infinite loop is a sequence of instructions in a computer program which control flow#Loops endlessly, either due to the loop having no terminating condition or having one that can never be met.... was used to fill the display with the message. Most first generation BASIC languages such as MSX BASIC
MSX BASIC
MSX BASIC is a dialect of the BASIC programming language. It is an extended version of Microsoft Standard BASIC Version 4.5, and includes support for graphic, music, and various peripherals attached to MSX Personal Computers.... and GW-BASIC
GW-BASIC
GW-BASIC was a dialect of BASIC programming language developed by Microsoft from BASICA, originally for Compaq. It is compatible with Microsoft/IBM Microsoft BASICA, but was disk based and did not require the Read-only memory BASIC.... supported simple data types, loop cycles and arrays. The following example is written for GW-BASIC, but will work in most versions of BASIC with minimal changes:
10 INPUT "What is your name: ", U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? ", A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye ";U$
140 END
Microsoft QuickBASIC is an Integrated Development Environment and compiler for the BASIC programming language that was developed by Microsoft Corporation.... and PowerBASIC
PowerBASIC
PowerBASIC is the brand of several commercial compilers by Venice, Florida-based PowerBASIC Inc. that compile a dialect of the BASIC programming language.... ) introduced a number of features into the language, primarily related to structured and procedure-oriented programming. Usually, line number
Line number
In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.... ing is omitted from the language and replaced with label
Label (programming language)
A label in a programming language is a sequence of characters that identifies a location within source code. In most languages labels take the form of an identifier, often followed by a punctuation .... s (for GOTO
GOTO
GOTO is a statement found in many computer programming languages. It is a combination of the English words wiktionary:go and wiktionary:to.... ) and procedure
Subroutine
In computer science, a subroutine or subprogram is a portion of computer code within a larger computer program, which performs a specific task and is relatively independent of the remaining code.... s to encourage easier and more flexible design.
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
INPUT "How many stars do you want: ", NumStars
Stars$ = STRING$(NumStars, "*")
PRINT Stars$
DO
INPUT "Do you want more stars? ", Answer$
LOOP UNTIL Answer$ <> ""
Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$
BASIC with object-oriented features
Third generation BASIC dialects such as Visual Basic
Visual Basic
'Visual Basic' is the third-generation programming language event-driven programming and integrated integrated development environment from Microsoft for its Component Object Model programming model.... , REALbasic
REALbasic
REALbasic is an object-oriented dialect of the BASIC programming language developed and commercially marketed by REAL Software, Inc in Austin, Texas for Mac OS X, Microsoft Windows, and Linux.... , StarOffice Basic
StarOffice Basic
StarOffice Basic is a dialect of BASIC that is included with the OpenOffice.org and StarOffice office suites.Although StarBasic itself is similar to other dialects of Basic, such as Microsoft's Visual Basic for Applications, the application programming interface is very different, as the example below of a Macro illustrates.... and BlitzMax introduced features to support object-oriented and event-driven programming paradigm. Most built-in procedures and functions now represented as methods of standard objects rather than operators.
Visual Basic , formerly called Visual Basic .NET , is an object-oriented programming computer language that can be viewed as an evolution of Microsoft Visual Basic implemented on the .NET Framework.... :
Class stars
Sub Main
Dim UserName, Answer, stars As String ' UserName$, Answer$, stars$ may be used as well.
Dim NumStars, I As Integer
Console.Write("What is your name: ")
UserName = Console.ReadLine
Console.WriteLine("Hello ", UserName)
Do
Console.Write("How many stars do you want: ")
NumStars = CInt(Console.ReadLine)
stars = New String("*", NumStars)
Console.WriteLine(stars)
Do
Console.Write("Do you want more stars? ")
Answer = Console.ReadLine
Loop Until Answer <> ""
Answer = Answer.Substring(0, 1)
Loop While Answer.ToUpper = "Y"
Console.WriteLine("Goodbye ", UserName)
End Sub
End Class
This article gives an alphabetical list of BASIC dialects—a flat list of interpreter and compiler variants of the BASIC Computer programming programming language....
List of BASIC dialects by platform: This is a list of dialects of the BASIC computer programming language, sorted into groups for better conceptual organization....
Standards
ANSI/ISO/IEC Standard for Minimal BASIC:
ANSI X3.60-1978 "FOR MINIMAL BASIC"
ISO/IEC 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC"
ANSI/ISO/IEC Standard for Full BASIC:
ANSI X3.113-1987 "PROGRAMMING LANGUAGES FULL BASIC"
ISO/IEC 10279:1991 "INFORMATION TECHNOLOGY - PROGRAMMING LANGUAGES - FULL BASIC"
ANSI/ISO/IEC Addendum Defining Modules:
ANSI X3.113 INTERPRETATIONS-1992 "BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987"
ISO/IEC 10279:1991/ Amd 1:1994 "MODULES AND SINGLE CHARACTER INPUT ENHANCEMENT"
Ecma or ECMA may refer to one of the following:Ecma is short for*Ecma International , formerly : the European Computer Manufacturers Association , an international standards organization for Information Communication Technology and Consumer Electronics ... -116 BASIC (withdrawn, similar to ANSI X3.113-1987)
External links
All Basic language information and code repository.
by David Ahl
by David Ahl
BASIC in your web browser!
- Open source Basic interpreter (utility, CGI and multi-threaded HTTP application server)
On-phone Open Source Mobile BASIC Interpreter for J2ME
- thinBasic programming language - Free Basic interpreter full of features (more than 1300 native commands covering many different programming areas: console programming, windows programming, math, OpenGL, FTP, SMTP, automation, ...) - Windows only. Full online help at