Information about Basic

Basic may be:
Enlarge picture
Screenshot of Atari BASIC, an early BASIC language for small computers.


In computer programming, BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code[1]) refers to a family of high-level programming languages. The original BASIC was designed in 1963, by John George Kemeny and Thomas Eugene Kurtz at Dartmouth College, to provide access for non-science students to computers. At the time, nearly all computer use required writing custom software, which was something only scientists and mathematicians tended to do. The language (in one variant or another) became widespread on microcomputers in the late 1970s and home computers in the 1980s, and remains popular to this day in a handful of heavily evolved dialects.

History

Prior to the mid-1960s, computers were extremely expensive tools used only for special-purpose tasks. A simple batch processing arrangement ran only a single "job" at a time, one after another. During the 1960s, however, 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). Since even the newer, less expensive machines were still major investments, there was 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.

As prices decreased, the possibility of sharing computer access began to move from research labs to commercial use. Newer computer systems supported time-sharing, a system which allows multiple users or processes to use the CPU and memory. In such a system the operating system 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 and Thomas Kurtz 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 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 attractive enough. In the following years, as other dialects of BASIC appeared, Kemeny and Kurtz' original BASIC dialect became known as Dartmouth BASIC.

The eight design principles of BASIC were:
  1. Be easy for beginners to use.
  2. Be a general-purpose programming language.
  3. Allow advanced features to be added for experts (while keeping the language simple for beginners).
  4. Be interactive.
  5. Provide clear and friendly error messages.
  6. Respond quickly for small programs.
  7. Not require an understanding of computer hardware.
  8. Shield the user from the operating system.


The language was based partly on FORTRAN II and partly on ALGOL 60, with additions to make it suitable for timesharing. (The features of other time-sharing systems such as JOSS 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 mainframe which supported multiple terminals. Contrary to popular belief, it was a compiled 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 programming problems such as numerical integration Simpson's Rule.

The designers of the language decided to make the compiler available without 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 minicomputers like the DEC PDP series and the Data General Nova. 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, instead of (or in addition to) a compiler.

Several years after its release, highly-respected computer professionals, notably Edsger W. Dijkstra, expressed their opinions that the use of GOTO statements, which existed in many languages including BASIC, promoted poor programming practices.[2] 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 Altair 8800 microcomputer in 1975 that provided BASIC a path to universality. Most programming languages required more memory (and/or disk space) than were available on the small computers most users could afford. With the slow memory access that tapes provided and the lack of suitable text editors, a language like BASIC which could satisfy these constraints was attractive. BASIC also had the advantage that it was fairly well known to the young designers who took an interest in microcomputers. Kemeny and Kurtz's earlier proselytizing paid off in this respect. One of the first to appear for the 8080 machines like the Altair was Tiny BASIC, a simple BASIC implementation originally written by Dr. Li-Chen Wang, and then ported onto the Altair by Dennis Allison at the request of Bob Albrecht (who later founded Dr. Dobb's Journal). The Tiny BASIC design and the full source code were published in 1976 in DDJ.

Enlarge picture
MSX BASIC version 3.0
In 1975, MITS released Altair BASIC, developed by Bill Gates and Paul Allen as Micro-Soft. The first Altair version was co-written by Gates, Allen and Monte Davidoff. Versions of Microsoft BASIC soon started appearing on other platforms under license, and millions of copies and variants were soon in use; it became one of the standard languages on the Apple II (based on the quite different 6502 MPU). By 1979, Microsoft was talking with several microcomputer vendors, including IBM, about licensing a BASIC interpreter for their computers. A version was included in the IBM PC ROM chips and PCs without floppy disks automatically booted into BASIC just like many other small computers.

Newer companies attempted to follow the successes of MITS, IMSAI, North Star and Apple, thus creating a home computer industry; meanwhile, BASIC became a standard feature of all but a very few home computers. Most came with a BASIC interpreter in ROM, thus avoiding the unavailable, or too expensive, disk problem. Soon there were many millions of machines running BASIC variants around the world, likely a far greater number than all the users of all other languages put together.

There are more dialects of BASIC than there are of any other programming language. Most of the home computers of the 1980s had a ROM-resident BASIC interpreter.

The BBC published BBC BASIC, developed for them by Acorn Computers Ltd, incorporating many extra structuring keywords, as well as comprehensive and versatile direct access to the operating system. It also featured a fully integrated assembler. BBC BASIC was a very well-regarded dialect, and made the transition from the original BBC Micro computer to more than 30 other platforms.

During this growth time for BASIC, many magazines were published such as Creative Computing 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 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's series of Basic Computer Games. [1] [2] [3]

Maturity — the personal computer era

Enlarge picture
GW-BASIC 3.22, shown here with the simple Hello world program
Enlarge picture
Microsoft MS-DOS QBASIC 1.1 opening screen
Many newer BASIC versions were created during this period. Microsoft sold several versions of BASIC for MS-DOS/PC-DOS including BASICA, GW-BASIC (a BASICA-compatible version that did not need IBM's ROM) and QuickBASIC. Turbo Pascal-publisher Borland published Turbo BASIC 1.0 in 1985 (successor versions are still being marketed by the original author under the name PowerBASIC).

These languages introduced many extensions to the original home computer BASIC, such as improved string manipulation and graphics support, access to the file system and additional data types. More important were the facilities for structured programming, including additional control structures and proper subroutines supporting local variables.

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 is still used in many IBM 4690 OS point of sale systems.

BASIC's fortunes reversed once again with the introduction of Visual Basic 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 and event-driven 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, such as line numbers 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 and True BASIC (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 MiniBasic.

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 mourns the loss of ubiquitous BASIC in a recent Salon article.[3]

Examples

A first program

New BASIC programmers on a home computer might start with a simple program similar to the Hello world program made famous by Kernighan and Ritchie. This generally involves a 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 was used to fill the display with the message.

Classic BASIC

Note that this example is actually well structured, demonstrating that use of the GOTO statement does not necessarily lead to an unstructured program.
>
10 INPUT "What is your name: "; U$
20 PRINT "Hello "; U$
30 REM
40 INPUT "How many stars do you want: "; N
50 S$ = ""
60 FOR I = 1 TO N
70   S$ = S$ + "*"
80 NEXT I
90 PRINT S$
100 REM
110 INPUT "Do you want more stars? "; A$
120 IF LEN(A$) = 0 THEN GOTO 110
130 A$ = LEFT$(A$, 1)
140 IF (A$ = "Y") OR (A$ = "y") THEN GOTO 40
150 PRINT "Goodbye ";
160 FOR I = 1 TO 200
170   PRINT U$; " ";
180 NEXT I
190 PRINT

Modern BASIC

"Modern" structured BASICs (for example QuickBASIC and PowerBASIC) support classic commands such as GOTO statements to varying degrees, while adding many more modern keywords.

The previous example in QuickBASIC:
>
INPUT "What is your name"; UserName$
PRINT "Hello "; UserName$
DO
INPUT "How many stars do you want"; NumStars
Stars$ = ""
Stars$ = REPEAT$("*", NumStars) ' <- ANSI BASIC
''--or--''
Stars$ = STRING$(NumStars, "*") ' <- MS BASIC
PRINT Stars$
DO
INPUT "Do you want more stars"; Answer$
LOOP UNTIL Answer$ <> ""
Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye ";
FOR I = 1 TO 200
PRINT UserName$; " ";
NEXT I
PRINT

See also

Notes

1. ^ The acronym is tied to the name of an unpublished paper by Thomas Kurtz and is not a backronym, as is sometimes suggested in older versions of The Jargon File
2. ^ In a 1968 letter, Dutch computer scientist Edsger Dijkstra considered programming languages using GOTO statements for program structuring purposes harmful for the productivity of the programmer as well as the quality of the resulting code ("Go To Statement Considered Harmful", Communications of the ACM Volume 11, 147-148. 1968). The letter, which contributed the phrase considered harmful to programming jargon, did not mention any particular programming language; instead it states that the overuse of GOTO is damaging and gives technical reasons why this should be so. In a 1975 tongue-in-cheek article, "How do We Tell Truths that Might Hurt", Sigplan Notices Volume 17 No. 5, Dijkstra gives a list of uncomfortable "truths", including his opinion of several programming languages of the time, such as BASIC. While the GOTO statement is often associated with BASIC, it receives no worse treatment in the piece than PL/I, COBOL or APL.
3. ^ [4] Why Johnny Can't Code

References

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"

External links

In foundationalism, basic beliefs (also commonly called foundational beliefs) are the axioms of a belief system.

Foundationalism holds that all beliefs must be justified in order to be believed.
..... Click the link for more information.
Foundationalism is any theory in epistemology (typically, theories of justification, but also of knowledge) that holds that beliefs are justified (known, etc.) based on what are called basic beliefs (also commonly called foundational beliefs).
..... Click the link for more information.
Epistemology or theory of knowledge is the branch of philosophy that studies the nature, methods, limitations, and validity of knowledge and belief.

The term "epistemology" is based on the Greek words "
..... Click the link for more information.
    In chemistry, a base is most commonly thought of as a substance that can accept protons. This refers to the Brønsted-Lowry theory of acids and bases. Alternate definitions of bases include electron pair donors (Lewis), and as sources of hydroxide anions (Arrhenius).
    ..... Click the link for more information.
    In the context of an HTTP transaction, the basic access authentication is a method designed to allow a web browser, or other client program, to provide credentials – in the form of a user name and password – when making a request.
    ..... Click the link for more information.
    Basic is a brand of lower-cost cigarettes manufactured by Philip Morris, a division of Altria Group.

    As of 2005, Basic is the fourth most popular cigarette brand in the United States (following Marlboro, Newport, and Camel)[1]
    ..... Click the link for more information.
    The basic step, basic movement, basic pattern, or simply basic is the dance move that defines the character of a particular dance. It sets the rhythm of the dance; it is the default move to which a dancer returns, when not performing any other moves.
    ..... Click the link for more information.
    The swingout (also known as Lindy turn or whip) is the defining dance move of Lindy Hop. The swingout evolved from the breakaway, which in turn evolved from the Texas Tommy.
    ..... Click the link for more information.
    Basic English is a constructed language with a small number of words created by Charles Kay Ogden and described in his book Basic English: A General Introduction with Rules and Grammar (1930).
    ..... Click the link for more information.
    IMDb profile

    Basic is a 2003 action/mystery film directed by John McTiernan.

    Plot

    A helicopter circles over the Panamanian jungle. On board is a team of Army Ranger trainees, and their commander, Sergeant Nathan West (Samuel L. Jackson).
    ..... Click the link for more information.
    The novelty of research or terms used in this article is disputed.
    This is a dispute over the novelty of research/terminology introduced in this article or title. Wikipedia is not the place to publish original research.

    ..... Click the link for more information.
    Recruit training is the initial indoctrination and instruction given to new military personnel. It may be common to all recruits, officers being selected on the basis of competency shown during recruit training, or for the enlisted ranks only.
    ..... Click the link for more information.
    Founded by Moritz Von Oswald and Mark Ernestus of Rhythm and Sound, Basic Replay is an imprint in the Basic Channel record label family, focusing primarily on reissues of reggae albums and singles.
    ..... Click the link for more information.
    Basic

    Studio album by Robert Quine/Fred Maher
    Released 1984

    A 1984 instrumental album by guitarist Robert Quine and drummer Fred Maher.

    Track listing

    1. Pick Up
    2. Bluffer
    3. Fala
    4. Stray
    5. Summer Storm
    6. '65
    7. Dark Place
    8.
    ..... Click the link for more information.
    LifeChurch.tv (also known as Life Covenant Church or simply "Life Church") is an American evangelical multi-site church with multiple locations in six states. Craig Groeschel is the founder and senior pastor of LifeChurch.tv.
    ..... Click the link for more information.
    Tulsa, Oklahoma

    Flag
    Seal
    Nickname: Oil Capital of the World, America's Most Beautiful City, T-Town
    Location in the state of Oklahoma
    Coordinates:
    Country
    ..... Click the link for more information.
    The British American Security Information Council, also known as "BASIC", is a think tank based in London and Washington, D.C.. It deals with global security issues, such as nuclear policies, armament and disarmament.
    ..... Click the link for more information.
    Computer programming (often shortened to programming or coding) is the process of writing, testing, and maintaining the source code of computer programs. The source code is written in a programming language.
    ..... Click the link for more information.
    Acronyms and initialisms are abbreviations, such as NATO, laser, and IBM, that are formed using the initial letters of words or word parts in a phrase or name.
    ..... Click the link for more information.
    A high-level programming language is a programming language that, in comparison to low-level programming languages, may be more abstract, easier to use, or more portable across platforms.
    ..... Click the link for more information.
    BASIC
    Paradigm: imperative
    Appeared in: 1964
    Designed by: John Kemeny, Thomas Kurtz
    Influenced by: FORTRAN, ALGOL
    Influenced: Cf. list of BASIC dialects

    Dartmouth BASIC is the original version of the BASIC programming language.
    ..... Click the link for more information.
    19th century - 20th century - 21st century
    1930s  1940s  1950s  - 1960s -  1970s  1980s  1990s
    1960 1961 1962 - 1963 - 1964 1965 1966

    Year 1963 (MCMLXIII
    ..... Click the link for more information.
    John George Kemeny (Kemény János) (May 31, 1926–December 26, 1992), U.S. mathematician, computer scientist, and educator best known for co-developing the BASIC programming language in 1964 with Thomas Eugene Kurtz.
    ..... Click the link for more information.
    Thomas Eugene Kurtz (born February 22, 1928) is an American computer scientist who co-developed the BASIC programming language in 1963/64 together with John George Kemeny.

    In 1951, Dr.
    ..... Click the link for more information.
    Dartmouth College is a private, coeducational university located in Hanover, New Hampshire, USA. Incorporated as "Trustees of Dartmouth College,"[6][7]
    ..... Click the link for more information.
    This article or section may contain original research or unverified claims.
    Please help Wikipedia by adding references. See the for details.
    This article has been tagged since September 2007.
    ''This article is about the profession.

    ..... Click the link for more information.
    mathematician is a person whose primary area of study and research is the field of mathematics.

    Problems in mathematics

    Some people incorrectly believe that mathematics has been fully understood, but the publication of new discoveries in mathematics continues at an immense
    ..... Click the link for more information.
    microcomputer (in the 1970s and 80s sometimes shortened to micro[2]) is most often taken to mean a computer with a microprocessor as its CPU. Another general characteristic of these computers is that they occupy physically small amounts of space.
    ..... Click the link for more information.
    home computer was the description of the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. They are also members of the class known as personal computers.
    ..... Click the link for more information.
    A dialect of a programming language is a (relatively small) 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
    ..... Click the link for more information.


    This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
    Herod_Archelaus


    page counter