True BASIC
   HOME

TheInfoList



OR:

True BASIC is a variant of the
BASIC programming language Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * ''Basic'' (film), a 2003 film * Basic, on ...
descended from
Dartmouth BASIC Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interac ...
— the original BASIC. Both were created by college professors John G. Kemeny and Thomas E. Kurtz.


History

True BASIC traces its history to an offshoot of
Dartmouth BASIC Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interac ...
called Structured BASIC, or SBASIC for short. This was released sometime in 1975 or 1976, but was not installed as the mainline version of BASIC on the
Dartmouth Time-Sharing System The Dartmouth Time-Sharing System (DTSS) is a discontinued operating system first developed at Dartmouth College between 1963 and 1964. It was the first successful large-scale time-sharing system to be implemented, and was also the system for wh ...
(DTSS) that supported the campus. Shortly after, Kemeny became involved in an effort to produce an
ANSI The American National Standards Institute (ANSI ) is a private nonprofit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organiz ...
standard BASIC in an attempt to bring together the many small variations of the language that had developed through the late 1960s and early 1970s. This effort initially focused on a system known as Minimal BASIC that was similar to earliest versions of Dartmouth BASIC, while later work was aimed at a Full BASIC that was essentially SBASIC with various extensions. By the early 1980s, tens of millions of
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
s were running some variation of
Microsoft BASIC Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first v ...
, which had become the ''de facto'' standard. The ANSI efforts eventually became pointless, as it became clear that these versions were not going to have any market impact in a world dominated by Microsoft. Both versions were eventually ratified but saw little or no adoption and the standards were later withdrawn. Kemeny and Kurtz, however, decided to continue their efforts to introduce the concepts from SBASIC and the ANSI Standard BASIC efforts. This became True BASIC. Initially based on Dartmouth BASIC 7, True BASIC was introduced in 1985. There are versions of the True BASIC
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
for
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
,
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, and
Classic Mac OS Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
. At one time, versions for
TRS-80 Color Computer The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer, is a series of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Computer is a completely different ...
,
Amiga Amiga is a family of personal computers produced by Commodore International, Commodore from 1985 until the company's bankruptcy in 1994, with production by others afterward. The original model is one of a number of mid-1980s computers with 16-b ...
and
Atari ST Atari ST is a line of personal computers from Atari Corporation and the successor to the company's Atari 8-bit computers, 8-bit computers. The initial model, the Atari 520ST, had limited release in April–June 1985, and was widely available i ...
computers were offered, as well as a
UNIX Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
command-line compiler.


Features

Being a
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making specific disciplined use of the structured control flow constructs of selection ( if/then/else) and repet ...
implementation of the language, it dispenses with the need for
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 increm ...
s and GOTO statements, although these can still be used. True BASIC provides statements for
matrix Matrix (: matrices or matrixes) or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the m ...
arithmetic, a feature that had been present in Dartmouth BASIC since early times, but had been dropped in almost all
microcomputer A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (P ...
versions of
BASIC interpreter A BASIC interpreter is an Interpreter (computing), interpreter that enables users to enter and run programs in the BASIC programming language, language and was, for the first part of the microcomputer era, the default Application software, applica ...
s. It implements
global Global may refer to: General *Globe, a spherical model of celestial bodies *Earth, the third planet from the Sun Entertainment * ''Global'' (Paul van Dyk album), 2003 * ''Global'' (Bunji Garlin album), 2007 * ''Global'' (Humanoid album), 198 ...
and
local variable In computer science, a local variable is a variable that is given ''local scope''. A local variable reference in the function or block in which it is declared overrides the same variable name in the larger scope. In programming languages with ...
s which make it possible to write
recursive Recursion occurs when the definition of a concept or process depends on a simpler or previous version of itself. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in m ...
functions and
subroutine In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times. Callable units provide a ...
s. The designers wanted to make the language hardware-independent, so True BASIC
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
would run equally well on any version of their compiler. For the most part, they succeed in this endeavor. The drawback for users was that direct access to some features of their machines was not available, but this could be remedied with callable functions and subroutines specially written in
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
. Using newer versions of True BASIC, some of the older functions are blocked out. An example of the recent code would be more like this: RANDOMIZE SET WINDOW 0,20,0,20 SET COLOR 5 !Set the pen and text colour to 5 as true basic has 0-15 colours PRINT "Welcome To ..." !Print "Welcome To ..." on the user's screen. DO !Begin the loop LET x=rnd*20 !Let the value 'x' equal a random number between '0' and '20' LET y=rnd*20 !Let the value 'y' equal a random number between '0' and '20' Pause .1 !Waits 1/10 of a second PLOT TEXT, at x, y: "Fabulous Wikipedia!" !Plot 'Fabulous Wikipedia!' at coordinates 'x' and 'y' LOOP !End the loop END !End the program This simple program plots the text "Welcome To ..." at the top left-hand corner of the screen, and then continues into a never-ending loop plotting "Fabulous Wikipedia!" at random coordinates. An example of simple animation could be like this: !Draw the Car SET WINDOW 0,20,0,20 SET COLOR 5 BOX AREA 2,6,2,3 BOX AREA 9,13,2,3 BOX AREA 16,20,2,3 SET COLOR 249 PLOT LINES :0,5;20,5 FLOOD 10,1 BOX KEEP 0,20,0,5 IN road$ BOX CIRCLE 2,3,5,6 FLOOD 2.5,5.5 BOX CIRCLE 5,6,5,6 FLOOD 5.5,5.5 SET COLOR 35 PLOT LINES :2.5,6;5.5,6 PLOT LINES :5,6;8,6;8,8;6,8;6,10;2,10;2,8;0,8;0,6;3,6 FLOOD 4,8 SET COLOR 248 BOX AREA 4,5,8,9 BOX KEEP 0,8,5,10 IN car$ !Save the car in 'car$' FOR x=1 TO 20 STEP 1 !Create a 'for' loop BOX SHOW road$ AT 0,0 BOX SHOW car$ AT x,5 PAUSE .1 CLEAR NEXT x !End the 'for' loop END !End the programs


Reception

Jerry Pournelle Jerry Eugene Pournelle (; August 7, 1933 – September 8, 2017) was an American scientist in the area of operations research and ergonomics, human factors research, a science fiction writer, essayist, journalist, and one of the first bloggers. ...
in 1985 asked, "why do we need True BASIC at all? tdoesn't seem to do anything regular BASIC doesn't do, and what it does do isn't attacked in a logical or intuitive manner." He criticized the lack of output when encountering an error, preventing interactive debugging by " inserting print statements as diagnostics". Pournelle concluded, "I think I'll pass up the opportunity to become a born-again True BASIC believer. I'll enjoy my
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
and CBASIC heresies." Some users have complained about their programs and the editor using up 100% of their CPU (or core). This appears to be caused by the editor and user's programs using a loop which constantly polls the keyboard and mouse for events. The problem has been known since at least the end of 2010, yet as of early 2014 is still being worked on.


Further reading

* Kemeny, John G.; Kurtz, Thomas E. (1985). ''Back To BASIC: The History, Corruption, and Future of the Language''. Addison-Wesley Publishing Company, Inc. 141 pp. .


References


External links

* {{Authority control Articles with example BASIC code BASIC interpreters BASIC programming language family