According to AbbreviationFinder, BASIC stands for Beginner’s All-Purpose Symbolic Instruction Code, which is a programming language that was originally developed as a teaching tool; it spread to home microcomputers starting in the 1980s. Today it continues to be very popular, in many dialects quite different from the original.
In the early 1960s, computers were extremely expensive machines that were used only for special purposes, performing “one task” at a time. However, during that decade, prices began to drop to the point that even small businesses could afford them. The speed of the machines was increased to the degree that they were often idle because there were not enough tasks for them. All of this was due to the rapid evolution of hardware. The programming languages of those days were designed with orientation for specific purposes, like the machines they ran on; For example, for the development of calculation programs or formula processing, Fortran was designed and for information management or administration, COBOL was developed.
In order to increase performance and better amortize costs (by reducing the processor’s leisure time), and since the speed of the machines began to allow it, the idea of executing more than one task “simultaneously” was proposed, it was so the concept of the timeshare system emerged, which began to become popular. In such systems, the main computer’s processing time was split, and each user was sequentially and cyclically given a small portion or “quota” of processing time. The machines were fast enough to fool most users into the illusion that they had the functionality of the machine all the time to themselves (“pseudo-concurrency” of processes).
The BASIC language was invented in 1964 by John George Kemeny (1926 – 1993) and Thomas Eugene Kurtz (1928-) at Dartmouth College. In subsequent years, as other dialects of BASIC appeared, Kemeny and Kurtz’s original BASIC became known as Dartmouth BASIC.
BASIC was designed to allow students to write programs using time-share computer terminals. It was designed to significantly reduce the complexity of the other languages of the moment, with one specifically designed for the kind of users that timesharing systems allowed: a simpler user, outside the area of computer science, who does not care. Speed was so important, just being able to program and use the machine without too many complications. The designers of the language also wanted it to remain in the public domain, which contributed to its rapid spread.
The eight principles that governed the design of BASIC were:
- Be easy to use for beginners.
- Be a general purpose language (not oriented).
- Allow experts to add advanced features while keeping the language simple for beginners.
- Be interactive.
- Provide clear and friendly error messages.
- Respond fast on small programs.
- Not require knowledge of computer hardware.
- Protect the user from the operating system.
The language was partly based on FORTRAN II and partly on Algol 60, with additions to make it suitable for time-sharing systems and with elements to facilitate the arithmetic operation of matrices. BASIC was first implemented for the GE-265 mainframe, a machine that supported multiple terminals.
In 1968 Edsger Dijkstra published a letter with a famous criticism  in which he considered that programming languages that used GOTO statements to structure a program were detrimental to the productivity of the programmer, and to the quality of the resulting code. No particular programming language is mentioned in this article; it only indicates that excessive use of GOTO in high-level languages is not recommended, and provides the technical reasons why this is so. But it was observed, from its inception, a marked tendency of programmers to use GOTO excessivelyin BASIC, especially in the novices; this fact that was decreasing with the incorporation of other resources into the language, such as parameterized subroutines, and later with the appearance of structured programming techniques.
Contrary to popular belief, BASIC was initially not an interpreted but a compiled language. Almost immediately after its release, computer professionals began claiming that BASIC was very slow and simple. Such an argument, until not long ago, was a recurring theme in the computer industry.
Still, BASIC spread to many machines and platforms, and was moderately popular on minicomputers such as the DEC PDP series and the Data General Nova. In these cases, the language was implemented as an interpreter, instead of a compiler, or alternatively, in both ways.
New and more powerful versions of BASIC were created in this period. Microsoft sold several versions of BASIC for MS-DOS / PC-DOS including BASICA, GW-BASIC (a compatible version with BASIC did not need the ROM of IBM), and Quick BASIC. The manufacturer of Turbo Pascal, Borland published Turbo BASIC 1.0 in 1985 (successor versions are still sold under the name PowerBASIC by another company). Several BASIC extensions appeared for home computers, typically capable of graphics, sound, and commands. DOS, as well as facilities for structured programming. There were languages that used the BASIC syntax as the basis for totally different systems, for example GRASS.
However in the late 1980s new computers were much more complex, and included features (such as the Graphical User Interface) that made BASIC less suitable for programming. At the same time computers were progressing from hobbyists’ interest to tools used primarily to run applications written by others, and programming itself became less important to a growing majority of users. BASIC began to fade, although numerous versions were still available.
One of the most powerful was the so-called Basic 2 designed for the GEM graphical environment. This new version of the language allowed the creation of applications with graphical interfaces equipped with windows, menus, different types of statistical graphs…
BASIC’s fortunes turned around again with the introduction of Microsoft’s Visual Basic. Although this language uses practically all the keywords (sentences, control structures and intrinsic functions) and handling and data type that previous BASIC versions (DOS); VB is vastly more powerful and evolved; and it has become one of the most used languages on the Windows platform; It is estimated that between 70 and 80% of all commercial applications are programmed in VB. As of 2002, and with the introduction of the platform. NET Framework from Microsoft, VB begins to use the “object-oriented” paradigm, increasing the power of the language and making it cross-platform. Visual Basic for Applications (VBA) was added to Microsoft Excel 5.0 in 1993 and the rest of the Microsoft Office product line in 1997. Windows 98 included a VBScript interpreter. The latest version of Visual Basic is called VB.NET. On the other hand, there is also the less powerful but VBA- like variant of Microsoft’s OpenOffice.org Basic.
The minimum BASIC syntax requires only the LET, INPUT, PRINT, IF, and GOTO commands. An interpreter that runs programs with this minimal syntax does not need a stack. Some of the early implementations were that simple. If you add a stack to it, you can also add nested FORloops and the GOSUB command. A BASIC interpreter with these characteristics requires the code to have line numbers.
Line numbers were a very distinctive aspect of classic BASIC. However, the use of line numbers has the disadvantage of requiring the programmer to estimate how many lines the part of the program that he writes will occupy. This requirement is generally fulfilled by incrementing the line numbers in a regular interval, such as 10, but this leads to problems when the code after added exceeds the available space between the original lines. To alleviate this problem for early BASIC interpreters, expert users soon wrote their own utility programs to renumber their programs, after initial login. Later BASIC interpreters appeared that included a specific RENUMBER command, which allowed you to quickly renumber (and as many times as you wanted) all the code again, with any interval between lines indicated and from a given integer; thus eliminating the main problem of mandatory line numbering.
In modern dialects of MIUN BASIC it is no longer necessary to include line numbers (although they are allowed), and most (or all) have added structured flow control and data declaration constructors similar to those in other languages, such as C and Pascal:
- on… goto
- select… case
Recent variants like Visual Basic have introduced some object-oriented features, and even inheritance in the latest version. Memory management is easier than with many other procedural programming languages because of the use of a Garbage Collector (and at the cost of execution speed).