basic instinct 2



basic

basic

This article is about the programming language. For the think tank, see British American Security Information Council.
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. It was originally 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 home microcomputers in the 1980s, and remains popular to this day in a handful of heavily evolved dialects.

Contents

  • 1 History
    • 1.1 Early years — the mini computer era
    • 1.2 Explosive growth — the home computer era
    • 1.3 Maturity — the personal computer era
  • 2 Examples
    • 2.1 A first program
    • 2.2 Classic BASIC
    • 2.3 Modern BASIC
  • 3 See also
  • 4 Notes
  • 5 References
    • 5.1 Standards
  • 6 External links

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 (ie, execution speed, and such) 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 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 maximization 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

Commodore BASIC V2.

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.

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 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.

Maturity — the personal computer era

GW-BASIC 3.22, shown here with the simple Hello world program

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. 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.

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). Recently, the remaining community using Microsoft's pre-Visual Basic products have begun to switch wholesale to FreeBASIC, a GPLed compiler which has been in the process of moving BASIC onto a GCC backend. 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 Why Johnny Can't Code.

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 need 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, BCX, FreeBasic, PureBasic, BBC BASIC for Windows, Blitz BASIC, PowerBASIC, and TrueBASIC) 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

For comparison, the same program in the more modern PureBasic:

OpenConsole()
Print("What is your name ")
UserName$ = Input()
PrintN("Hello " + UserName$)
Repeat
   Print("How many stars do you want ")
   NumStars = Val(Input())
   Stars$ = RSet("", NumStars, "*")
   PrintN(Stars$)
   Repeat
      Print("Do you want more stars ")
      Answer$ = Input()
   Until Answer$ <> ""
   Answer$ = Left(Answer$, 1)
Until UCase(Answer$) <> "Y"
Print("Goodbye ")
For I = 1 To 200
   Print(UserName$ + " ")
Next I
PrintN("")
CloseConsole()

basic news and basic articles

Here's our top rated basic links for the day:

Gonsales completes basic training 

Savannah Morning News - 12 minutes ago
Air Force Airman Benjamin M. Gonsales graduated from basic military training at Lackland Air Force Base, San Antonio, Texas.

Basic To Face Ex-Workers In Court 
The Morning News - Feb 09 1:24 AM
Four workers laid off from General Trucking, LLC and Basic Construction Co. in Springdale last fall are suing the company in federal court for failing to notify them ahead of time.

Get An In-Depth Company Profile For Saudi Basic Industries Corporation 
[Press Release] Business Wire via Yahoo! Finance - Feb 09 4:39 AM
DUBLIN, Ireland----Research and Markets has announced the addition of "Saudi Basic Industries Corporation - Company Profile and Executive Databank" to their offering.

Thank you for viewing the basic page basic instinct. 

 

Ever wondered what others are searching for in relation to basic? Now you can see.  Below is a listing of  what everyone else is searching for in regard to basic.

1. basic instinct
2. basic instinct 2
3. visual basic
4. basic
5. basketball basic rules
6. sharon stone basic instinct
7. basic math
8. basic electricity
9. basic rules of soccer
10. basic chemistry
11. basic meth recipes
12. basic soccer rules
13. basic shapes
14. basic html
15. basic electrical wiring
16. basic baseball rules
17. basic guitar cords
18. basic first aid
19. basic grey
20. basic football rules
21. basic genetics
22. visual basic 6
23. air force basic training
24. basic color wheel
25. basic softball rules
26. basic computer terms
27. basic purposes of government
28. basic electronics
29. basic volleyball rules
30. basic stamp
31. basic algebra
32. basic soccer skills
33. basic wrestling moves
34. basic guitar chords
35. basic instinct scene
36. visual basic tutorial
37. limewire basic
38. basic earth science
39. basic meatloaf recipe
40. basic instinct video clip
41. basic rules of football
42. back to basic toys
43. basic programming
44. basic free real player download
45. basic ekg interpretation
46. basic plumbing
47. basic baseball rules listed
48. basic music theory
49. basic rules of volleyball
50. basic jewish beliefs
51. army basic training
52. iowa test of basic skills
53. basic plant parts
54. basic training
55. basic rules for youth soccer
56. basic economics
57. basic beliefs of buddhism
58. basic step aerobics
59. basic knitting
60. basic life support
61. basic geometry
62. basic pancake recipe
63. basic home wiring
64. sharon stone basic instinct 2
65. basic quiche recipe
66. basic cable television
67. basic requirements to connecting to the internet
68. basic accounting concepts
69. 5 basic components of physical fitness
70. me a basic introduction to nanotechnology
71. visual basic code
72. basic embroidery stitches
73. basic banana bread recipe
74. basic cable services
75. basic statistics
76. basic accounting principles
77. accounting basic
78. basic accounting equation
79. norming iowa tests of basic skills
80. geography basic skills
81. visual basic help
82. basic facts about the sun part 2
83. basic blindz
84. basic floral design
85. 6 basic nutrients
86. basic spanish
87. basic sugar cookie recipes
88. basic instinct film clips
89. watch basic instinct
90. basic thugonomics
91. basic personal hygiene
92. visual basic download
93. basic house wiring
94. basic cigarettes
95. basic accounting
96. basic instinct movie clip
97. microsoft visual basic
98. basic dietary requirements
99. back to basic
100. basic difference between democrat and republican