True BASIC
A structured, line-number-free BASIC created in 1985 by the original inventors of BASIC, John Kemeny and Thomas Kurtz, to reclaim their language from fragmented microcomputer dialects.
Created by John G. Kemeny and Thomas E. Kurtz (True BASIC, Inc.)
True BASIC is the language its own inventors built to rescue BASIC from itself. By the mid-1980s, John Kemeny and Thomas Kurtz — who had created BASIC at Dartmouth College two decades earlier — watched their simple teaching language splinter into dozens of incompatible microcomputer dialects. True BASIC was their answer: a clean, structured, portable BASIC that abandoned line numbers, embraced modern control flow, and ran the same source code on every machine they supported.
History & Origins
BASIC (Beginner’s All-purpose Symbolic Instruction Code) was created by Kemeny and Kurtz at Dartmouth in 1964 to make programming accessible to students across every discipline, not just engineers and mathematicians. Over the following years it spread far beyond Dartmouth — but as it did, vendors like Microsoft shipped their own interpreters, each with platform-specific quirks and limitations. Kemeny and Kurtz came to regard these as “Street BASIC,” a corrupted version of their original idea.
The path toward True BASIC ran through Structured BASIC (SBASIC), an offshoot of Dartmouth BASIC developed around 1975–1976 that removed the reliance on line numbers and GOTO. In 1983, a group of former Dartmouth students persuaded Kemeny and Kurtz to turn these ideas into a commercial product. Together they founded True BASIC, Inc., with the twin goals of producing quality educational software and a genuinely platform-independent BASIC compiler.
True BASIC was released in 1985, based on Dartmouth BASIC 7, with versions for MS-DOS and the Classic Mac OS. That same year Kemeny and Kurtz published Back to BASIC: The History, Corruption, and Future of the Language, a manifesto for their vision of what BASIC should have remained.
Design Philosophy
True BASIC was deliberately conservative about hardware and liberal about structure. Its guiding principles included:
- Structured programming — Programs are written with named procedures and modern control constructs rather than tangled
GOTOjumps. Line numbers are optional, not required. - Hardware independence — Source code was designed to run identically on every version of the compiler, with no direct machine access. Portability was a feature, not an afterthought.
- Fidelity to standard BASIC — True BASIC drew on the Full BASIC standardization effort (later formalized as ANSI X3.113-1987 and ISO/IEC 10279:1991) rather than chasing vendor extensions.
- A teaching tool first — The language was aimed at the academic community, prioritizing clarity and correctness over hardware tricks.
Key Features
True BASIC modernized BASIC while keeping it approachable:
- No mandatory line numbers or
GOTO— though both remain available for backward compatibility. - Structured control flow — including
DO/LOOP,SELECT CASE, andIF/ELSEIF/END IF. - Procedures and functions with true local and global variables, enabling recursion — a capability many contemporary BASICs lacked.
- Matrix arithmetic — built-in statements for operating on entire matrices, inherited from early Dartmouth BASIC and valuable for mathematical and scientific work.
- Device-independent graphics — commands such as
SET WINDOW,PLOT,BOX, andFLOODexpress graphics in user coordinates rather than pixels. - Modular libraries — code can be organized into reusable library modules.
! A structured True BASIC program — no line numbers required
DECLARE NUMERIC total
LET total = 0
FOR i = 1 TO 10
LET total = total + i
NEXT i
PRINT "Sum of 1..10 is"; total
! A recursive function with local scope
FUNCTION Factorial(n)
IF n <= 1 THEN
LET Factorial = 1
ELSE
LET Factorial = n * Factorial(n - 1)
END IF
END FUNCTION
PRINT "5! ="; Factorial(5)
END
Standards and the Full BASIC Effort
True BASIC was part of a broader movement to standardize BASIC. The Full BASIC standard was ratified as ECMA-116 in 1986, as ANSI X3.113-1987 in January 1987, and internationally as ISO/IEC 10279:1991. Dartmouth participants were closely involved in this work, and True BASIC incorporated concepts from it. However, the full standard was extraordinarily large, and there is little documentation that True BASIC — or any implementation — ever conformed to it completely. In practice the standards saw limited adoption and were eventually withdrawn, while the vendor BASICs the standard was meant to tame continued to dominate.
Evolution and Platforms
True BASIC, Inc. ported the language to several systems over the years. According to the project’s documentation, compilers existed for MS-DOS, Microsoft Windows, and Classic Mac OS, and at various points versions were offered for the TRS-80 Color Computer, Commodore Amiga, and Atari ST, along with a UNIX command-line compiler. Because the language forbade direct machine access, the same program could generally be moved between these targets unchanged — the payoff of its hardware-independent design.
The product line continued to be maintained for decades. The last widely referenced release is version 6.007, which ran only on Microsoft Windows.
Current Status
True BASIC’s story tracks the long twilight of the classic BASIC family. Development slowed considerably in the language’s later years. Co-creator John Kemeny died in 1992, and Thomas Kurtz — who had continued to champion the language — passed away on November 12, 2024, at the age of 96. After several years of inactivity, the TrueBASIC website was reported to be officially closed as of February 2026, leaving the version 6.007 Windows product as its effective final form.
As a result, True BASIC is best understood today as a historically significant but largely dormant language. Its Windows binaries and archived programs still run for enthusiasts, but active commercial development appears to have ended.
Why It Matters
True BASIC is a rare artifact: a language rebuilt by its own creators to correct what they saw as a decades-long corruption of their work. It demonstrates a clear, principled vision of what BASIC could have been — structured, portable, mathematically capable, and free of line numbers — years before those ideas became universal in mainstream programming. Even though it never displaced the vendor dialects it was meant to replace, True BASIC stands as Kemeny and Kurtz’s final statement on the language they invented, and as a well-designed teaching tool that carried the original Dartmouth spirit into the microcomputer age.
Timeline
Notable Uses & Legacy
Academic and Classroom Teaching
True BASIC was aimed primarily at the academic community as a disciplined alternative to microcomputer BASIC interpreters. Its structured design and hardware independence made it a teaching vehicle for introductory programming at colleges and schools.
Mathematics and Scientific Computing
True BASIC inherited matrix arithmetic statements from Dartmouth BASIC, allowing concise linear-algebra and numerical work. This made it well suited to teaching mathematics, physics, and scientific computation where matrix and vector operations are central.
Textbooks and Instructional Materials
The language's creators authored books and course materials around it, including 'Back to BASIC' (1985). True BASIC was distributed alongside instructional texts intended to teach structured programming the way Kemeny and Kurtz originally envisioned BASIC.
Cross-Platform Educational Software
A stated goal of True BASIC, Inc. was portable educational software: source code was designed to run identically across the company's compilers for MS-DOS, Windows, and Classic Mac OS, sparing educators from rewriting programs per machine.