BASIC History of the language

Lecture



In 1963, two professors of Dartmouth College, J. Kemeny, and T. Curts, created a programming language for people who are not professional programmers, but who deal with computers. It was called Basic. The authors intended to create a simple and convenient language containing only a few keywords that could be learned in an hour. The idea was successful. When in the mid-70s personal computers appeared, this language was the best suited for them, since it occupied only 4KW of memory. In addition, at the same time, a version of the compiler for the QUASIC microcomputer was a fast BASIC, which had the same small size of the compiler and allowed to generate executable modules that used the maximum speed of the processor.

There were new types of personal computers and the Basic language was changing, adapting to the capabilities of various machines.

In the first versions of BASIC, in the 1960s, 1970s, at the beginning of each line it was necessary to put a numeric label of the operator number:

  10 FOR a = 0 TO 1000 STEP .01
 20 LET x = .8 * COS (4 * a - .7): y = .8 * SIN (4 * a)
 30 LET x1 = .8 * COS (2 * a - .7): y1 = .8 * SIN (2 * a)
 40 LET x2 = .8 * COS (3 * a - .7): y2 = .8 * SIN (3 * a)
 50 LET c = 14: GOSUB 100: FOR t = 1 TO 1000: NEXT t
 60 LET c = 0: GOSUB 100
 70 NEXT a
 100 LET Y = x1 + x2
 120 RETURN

In later versions, this tedious task was eliminated. The LET (take) keyword in mathematical operators was excluded.

Each new version of the language had its own characteristics, while maintaining the basic principle - simplicity and convenience. Unfortunately, the developed versions were not compatible, i.e. programs written in one version of the language could not work on other computers or with another version of BASIC. This continued until Microsoft offered a new version of the QuickBasic language - a separate software package for the IBM PC, which allowed the creation of universal programs.

QBASIC, unlike earlier versions of the Basic language, supports modern modular programming tools. This properties raises it to modern programming languages. The advantages of this language also include the fact that:

  1. contains a good screen editor
  2. does not limit the length of the program
  3. overrides the need for line numbering
  4. It offers operators that allow organizing structures within programs.
  5. supports program procedures called from the main program.
  6. allows you to use local variables.

QBASIC is an interpreter , i.e. programs written in this language can be executed by the QBASIC translator itself without the need to create an executable module in machine codes. However, this is also a disadvantage. In further BASIC improvements this was overcome - if you wish, you can compile the boot exe-module for using debugged programs without a translator, which means faster, easier and more stable for distribution.

Another version of BASIC - Turbo-BASIC already had the ability to create exe-modules. It was widely used until the MS-DOS operating system was popular.

BASIC is still popular with novice programmers.

The modern development of the BASIC language is the Visual-BASIC visual programming environment with its version of the structural BASIC. Designed for rapid application development, Visual-BASIC unfortunately has a significantly more complex dialect of the BASIC language, which is more difficult to learn and, generating very long names of variables and constants, having long names of functions, is critical to the programmer's misprints attention and vision.

Download archive with qbasic.zip translator (Russified). The program works in the DOS window, there is a Russian help and examples of texts in BASIC.

created: 2014-09-30
updated: 2021-03-13
132442



Rating 9 of 10. count vote: 2
Are you satisfied?:



Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Programming Languages and Methods / Translation Theory

Terms: Programming Languages and Methods / Translation Theory