Fact-checked by Grok 2 weeks ago

BASIC

BASIC (Beginner's All-purpose Symbolic Instruction Code) is a family of high-level, interpreted programming languages designed for simplicity and accessibility, enabling beginners and non-technical users to write and execute code with minimal complexity. Developed in 1964 by mathematicians and at in , it was created to democratize computing for students across disciplines, particularly those outside mathematics and science, through an interactive system. The language launched on May 1, 1964, at 4:00 a.m. Eastern Time on a GE-225 as part of the Dartmouth Time-Sharing System (DTSS), marking the first widespread use of for general-purpose programming. Featuring a straightforward syntax with just 15 core commands—such as PRINT, GOTO, and IF—BASIC emphasized line-by-line execution and immediate feedback, making it ideal for educational settings and . Its impact extended far beyond academia, profoundly shaping personal computing in the 1970s and 1980s by becoming the default language on early microcomputers like the , , Commodore 64, and PC. A pivotal adaptation was , developed by and in 1975 for the , which fueled the company's growth and embedded BASIC in ROM on millions of home computers, enabling widespread software experimentation and hobbyist innovation. By 1967, over 2,000 Dartmouth students had learned to program in BASIC, and its adoption spread globally, introducing to diverse fields like business, education, and engineering. Over decades, BASIC evolved into numerous dialects, including Dartmouth BASIC, for resource-constrained systems, (bundled with ), and for graphical applications, though it faced criticism for promoting unstructured "" via heavy reliance on statements. Standardized efforts, such as ANSI Minimal BASIC in 1978 and Full BASIC in 1987, aimed to unify variants, but its influence persists in modern languages like and through shared emphasis on readability and beginner-friendliness. Today, legacy implementations like VBA () remain in use for automation in tools such as , underscoring BASIC's enduring role in making programming approachable.

History

Origins at

BASIC, or Beginner's All-purpose Symbolic Instruction Code, was developed in 1964 by mathematicians and at to make computing accessible to a broad range of students, including those in the arts, s, and , rather than limiting it to and mathematics majors. The primary goals were to create a language emphasizing simplicity, interactivity, and an English-like syntax that contrasted with the more complex and formulaic structure of languages like , thereby democratizing programming for non-experts. The first implementation occurred on the Dartmouth Time-Sharing System (DTSS), a custom operating system built for a GE-225 , which allowed multiple users to interact with the machine simultaneously via remote terminals. This initial version of Dartmouth BASIC supported and basic operations, reflecting its focus on foundational computing concepts accessible to beginners without advanced numerical precision. Key features included line-numbered statements for organizing code, an immediate execution mode for instant feedback on commands, and a small set of keywords such as LET for assignments, PRINT for output, and IF for conditional logic. On May 1, 1964, at 4 a.m., Kemeny and a student programmer successfully ran the first programs simultaneously from separate terminals in the basement of 's College Hall, marking the language's operational debut and confirming the viability of its approach. This original Dartmouth laid the groundwork for later dialects, including , by establishing core principles of accessibility and ease of use.

Early Spread on Time-Sharing Systems

Following the initial development at , BASIC quickly spread to commercial systems in the late , adapting its foundational principles of simplicity and interactivity to multi-user environments. (DEC) played a key role by integrating BASIC-like capabilities into its PDP-8 minicomputers, which were popular for educational and small-scale computing. DEC's FOCAL interpreter, released in 1969, served as an early analog to on the PDP-8 family, enabling formula-based calculations in setups like the TSS-8 operating system, which supported multiple virtual 4K machines for concurrent users. By the early 1970s, DEC's own -8 dialect extended this further, running under TSS-8 to facilitate remote programming sessions on PDP-8 systems marketed through the EduSystem program, thus broadening access beyond academic labs. Hewlett-Packard advanced 's time-sharing adoption with the HP 2000A system in 1968, built around the HP 2116 processor and dedicated to a multi-user . This implementation supported up to 16 simultaneous terminals, emphasizing conversational programming for education and problem-solving, with automatic to handle results beyond six-digit integers, such as converting large computations to (e.g., 1.698990E9). The system's disc-based storage allowed for 250,000 words of program libraries, enabling users to save and share code efficiently in real-time sessions. General Electric (GE) further propelled BASIC's proliferation through its collaboration on the Dartmouth Time-Sharing System (DTSS), operational by 1965 on GE-225 and GE-635 hardware with a Datanet-30 controller. GE's BASIC implementation supported up to 32 remote teletype terminals, compiling and executing programs in 1-4 seconds while handling floating-point operations via the GE-235. This setup influenced widespread adoption in education for undergraduate instruction and faculty research, as well as in business for general-purpose data processing, by providing a user-friendly interface with commands like HELLO for login and SAVE for program storage. These systems democratized programming by offering low-cost remote access via lines, with connections as affordable as $7 per hour for light use on platforms like the HP 2000. Such pricing, combined with no additional line charges for local terminals, allowed students, educators, and small businesses to engage in interactive coding without owning expensive hardware, fostering BASIC's growth from an academic tool to a commercial staple. However, early time-sharing BASIC dialects faced significant constraints due to limited hardware, particularly on systems like the PDP-8 with only 4K words (approximately 6KB) of core memory per virtual machine. These restrictions resulted in minimalistic implementations, often lacking advanced features like subroutines in initial versions to fit within memory budgets, prioritizing basic arithmetic, loops, and input/output for short numerical tasks.

Adoption on Minicomputers

In the early 1970s, BASIC began transitioning from environments to standalone s, enabling local execution on dedicated hardware for small businesses and emerging hobbyist applications. (DEC) played a pivotal role with the release of BASIC-PLUS in 1970 for its PDP-11 series, an extended dialect that introduced robust string handling capabilities and direct disk input/output operations to support text processing and file management tasks. This version enhanced BASIC's utility for commercial and educational computing on the PDP-11, a 16-bit launched that year, by allowing efficient manipulation of alphanumeric data without relying on remote systems. A landmark development occurred in 1975 when and created the 4K BASIC interpreter for the MITS , the first commercially successful kit based on the . This compact version, fitting within 4 kilobytes of memory, marked the founding of and was distributed via cassette tapes or paper tape, making it accessible for hobbyists to load and run programs on affordable hardware kits priced around $397. The emphasized simplicity for experimentation, with core features like line-numbered statements and basic arithmetic, fostering early software distribution models in the minicomputer era. Other vendors developed hardware-specific BASIC dialects to meet business needs. Wang Laboratories extended for its VS series minicomputers, introduced in 1977, incorporating interactive extensions for workstation-based data entry and report generation to streamline tasks such as formatted output and validation. These enhancements, including screen formatting and file integration, positioned Wang VS as a tool for applications like tracking and on systems supporting multiple users. The adoption of BASIC on minicomputers was driven by falling hardware costs, with systems like Computer Automation's Alpha LSI-2 available for under $2,000 in 1972 and IBM's Series/1 starting at $10,000 by 1976, allowing small businesses to perform on-site programming without the recurring fees of services. This affordability, combined with BASIC's ease of use, enabled non-expert users in firms and hobbyist clubs to develop custom applications for and process control, expanding computing beyond large institutions. Technical evolutions in these dialects addressed the demands of larger programs on minicomputers, with variants incorporating structured elements such as the GOSUB statement for subroutine calls and for modular code organization, as seen in implementations derived from Dartmouth BASIC. These features improved program maintainability on systems like the PDP-11, where memory constraints necessitated efficient without excessive GOTOs.

Explosive Growth in Home Computing

The explosive growth of home computing in the late 1970s was catalyzed by the introduction of affordable, fully assembled microcomputers that featured as a built-in programming language, making coding accessible to hobbyists, educators, and families without requiring specialized expertise. In 1977, three landmark systems—the , , and —collectively known as the "1977 Trinity," ignited this surge by offering turnkey solutions with BASIC interpreters stored in (ROM), allowing users to begin programming immediately upon powering on. These machines drew from earlier practices of memory-efficient coding to fit within limited resources, enabling widespread adoption in homes and schools. The , released in 1977, exemplified this trend with its 8 KB version including a built-in 6502 , , full , and cassette drive, all integrated into a single metal-cased unit priced at around $795; its 4 KB or 8 KB ROM-based enabled instant programming for tasks like simple games and data entry. Similarly, the , also launched in 1977 and designed by , incorporated in ROM, supporting color primitives and sound generation through its expansion slots and TV output, which facilitated creative applications such as and early experiments. The Model I, introduced by in the same year for $599.95, came with 4 KB RAM and Level I in 4 KB ROM, later upgradable to Level II with extensions for and basic , appealing to budget-conscious consumers through widespread retail availability. Building on this momentum, Atari's 400 and 800 models, released in , further expanded BASIC's reach with dialects that leveraged custom chips for advanced graphics (via ANTIC and GTIA) and sound (via ), alongside four joystick ports for interactive programming of games and simulations; , typically provided on a or disk, integrated these hardware features through dedicated commands. By 1985, the market had exploded, with over 10 million units sold cumulatively—many pre-installed with in —empowering non-programmers to create custom games, utilities, and household applications, and fostering a vibrant ecosystem of user-shared software that democratized . Preceding this boom, variants like , developed by Li-Chen Wang in 1976 and published in , targeted ultra-low-memory machines with just 2-4 KB of RAM, offering a compact interpreter that promoted open-source sharing through magazines such as Byte, where enthusiasts exchanged code listings to adapt it for emerging hardware. This grassroots dissemination laid the groundwork for BASIC's ubiquity, as it encouraged experimentation and community-driven innovation in the constrained environments of early home systems.

Evolution on Personal Computers

The introduction of the Personal Computer in 1981 marked a pivotal shift for , transitioning it from the diverse 8-bit landscape to the standardized 16-bit IBM PC and compatible ecosystem running . IBM bundled Microsoft's Cassette BASIC in for basic functionality, but for disk-based systems, it included BASICA (Basic Advanced), a disk-resident interpreter that extended the ROM BASIC with additional commands for file handling and disk operations. BASICA was provided as OEM software with PC-DOS, enabling compatibility across IBM's and fostering BASIC's dominance in early business and hobbyist programming on the platform. Microsoft further solidified its position with , released in 1983 as a standalone interpreter for non-IBM systems, derived directly from BASICA to ensure binary compatibility. supported advanced graphics modes, including those for CGA and later EGA adapters, allowing programmers to leverage the PC's expanding hardware capabilities for color and high-resolution output—building on simpler graphics primitives from earlier home computers. This version was bundled with distributions for IBM PC compatibles, promoting portability and ease of use in the growing DOS environment, where programs shifted from cassette tapes to floppy disks and hard drives, accommodating larger codebases up to the system's 640 KB RAM limit. By the late 1980s, competition intensified with Borland's Turbo in 1987, a that emphasized speed and efficiency, compiling programs faster than Microsoft's offerings while supporting inline for performance-critical sections. This tool appealed to developers seeking optimized executables without sacrificing BASIC's accessibility. Meanwhile, BASIC played a key role in early PC software ecosystems, such as extending —the landmark —with custom macros and functions written in BASIC to add features like advanced mathematical operations. Microsoft's , introduced in 1991 with 5.0, represented the culmination of this command-line era for PC BASIC interpreters, featuring an integrated full-screen editor for streamlined program development and enhanced file handling capabilities. maintained with while incorporating elements like improved error handling, reflecting the maturing platform and preparing users for more sophisticated dialects. These evolutions underscored BASIC's adaptability to the PC standard, driving its widespread use in , utilities, and small applications throughout the .

Post-1990 Developments and Dialects

Following the shift toward graphical user interfaces in the early , Microsoft introduced 1.0 in May 1991, marking a significant evolution in BASIC by integrating drag-and-drop form designers and specifically for applications. This release transformed BASIC from a primarily text-based scripting tool into a environment, enabling developers to visually assemble user interfaces and respond to user events like button clicks without extensive manual coding. Over a decade later, launched VB.NET in 2002 as an integral part of the .NET Framework, fundamentally redesigning the language with comprehensive features such as classes, inheritance, and polymorphism. VB.NET incorporated automatic garbage collection for and supported cross-language within the .NET ecosystem, allowing seamless integration with languages like C# and leveraging shared libraries for enhanced scalability in . These advancements positioned VB.NET as a bridge between classic BASIC simplicity and modern, robust application development. In parallel, open-source efforts emerged to revive and extend legacy BASIC dialects for contemporary hardware. , first released in 2004, serves as an open-source that maintains syntax compatibility with while generating native executables for Windows, , and other platforms, including support for pointers, inline assembly, and object-oriented extensions. Similarly, QB64, developed in the mid-2000s, functions as a self-hosting and that preserves 's syntax and commands—such as those from the DOS-era —while compiling to 64-bit binaries for modern operating systems like Windows, macOS, and , facilitating the porting of vintage games and utilities. Specialized dialects also proliferated for targeted domains. , originating in the late 1990s, focuses on cross-platform application development across Windows, , macOS, and , offering a clean syntax with built-in support for creation, database access, and networking without requiring external libraries. BlitzBasic, likewise introduced in the 1990s, targeted game development with an emphasis on , incorporating graphics acceleration, , and handling to streamline the creation of applications on platforms like and later Windows. As of 2025, dialects continue to evolve in niche contexts despite a broader decline in mainstream adoption. , a Linux-oriented and runtime that emulates syntax, saw its version 3.20.0 released in January 2025, featuring improved theming, enhanced web application , and better integration with desktop environments like and . While has receded from general-purpose software development in favor of languages like and , it persists in embedded systems for tasks such as programming and simple , where its straightforward syntax aids quick prototyping in resource-constrained environments.

Language Features

Syntax Fundamentals

BASIC employs a line-based structure for program organization, where each line consists of a unique number followed by a single statement. This design, introduced in the original implementation, ensures that statements are executed in ascending numerical order unless altered by control mechanisms, facilitating simple sequential processing. Line numbers, ranging from 1 to 99999, also act as labels for referencing during editing or flow redirection, with common practice incrementing by 10 (e.g., 10, 20) to accommodate insertions without renumbering. The fundamental format of a BASIC statement begins with a keyword denoting the operation, such as or output, followed by any necessary operands, expressions, or parameters. Statements are concise and English-like, promoting for beginners, and must fit within a single line unless extended in later dialects. Every program requires an END statement as the final line to terminate execution and return control to the . BASIC distinguishes between direct mode and program mode to support interactive use. In direct mode, unnumbered statements entered at the prompt are executed immediately upon input, enabling quick computations or diagnostics without storing . Numbered statements, conversely, accumulate in program mode to form a complete , which is then run holistically via the , allowing for persistent, repeatable execution. Early BASIC variants provided rudimentary error handling, where runtime errors like would interrupt execution and display an , reverting to the without trapping. Extended dialects, starting with implementations like those from in the late , added the ON ERROR GOTO construct to intercept errors and transfer control to a designated line for custom recovery or logging. From its unstructured beginnings reliant on unconditional jumps, BASIC gradually incorporated optional structured elements in dialects from the onward. Versions such as True BASIC and ANSI-standard extensions introduced block-delimited constructs, including multi-line conditional statements ending with END IF, to encourage while maintaining compatibility with legacy line-numbered code.

Data Types and Variables

BASIC, designed for accessibility, employs implicit typing where the data type of a variable is inferred from its name rather than requiring explicit declarations, a feature that simplifies programming for beginners. In the original BASIC, variables are numeric by default and consist of a single uppercase letter optionally followed by a digit (e.g., A or X5), supporting up to 286 possible names without suffixes for types. Strings, introduced later in this dialect, are denoted by appending a () to the variable name (e.g., A), distinguishing them from numeric variables. Subsequent dialects, particularly those from such as , expanded this system with type es to specify precision and category, while retaining implicit typing as the default mechanism. Numeric variables without a default to single-precision floating-point (4 bytes, sufficient for most basic calculations), but can be explicitly typed as integers (%) for ranging from -32,768 to 32,767 (2 bytes ), double-precision (#) for higher accuracy (8 bytes), or single-precision (!) explicitly. variables end with $ and are limited to 255 characters in early implementations, stored with variable-length allocation plus overhead. This allows flexible naming—up to 40 characters in —while embedding type information directly, reducing errors for novice users. DEF statements (e.g., DEFINT A-Z) further customize defaults across name ranges, overriding es where applicable. Arrays in BASIC extend scalar variables into collections, declared using the DIM statement to allocate and define dimensions, promoting structured handling without complex syntax. In Dartmouth BASIC, arrays (called lists or tables) are one- or two-dimensional, with subscripts in parentheses (e.g., A(I) for a list, B(I,J) for a ); without DIM, the range defaults to 0 through 10, but larger sizes require explicit dimensioning like DIM A(25). Microsoft dialects maintain this with DIM supporting up to 255 dimensions and 32,767 elements per dimension, using zero-based indexing by default (e.g., DIM C(10) accesses C(0) to C(10)); the OPTION BASE 1 statement shifts to one-based indexing for compatibility with mathematical conventions. Arrays follow the same typing rules as scalars, inheriting suffixes for elements (e.g., DIM D$(5) for a array). Variable scope in BASIC is global by default, meaning all variables and arrays are accessible throughout the program unless chained to another via COMMON statements in dialects like , facilitating simple, linear code structures ideal for education. Later structured variants, such as , introduce LOCAL declarations within procedures to limit to that subroutine, enhancing while preserving global access via DIM or for broader use. This evolution balances beginner simplicity with advanced control. Type conversion in BASIC relies on built-in functions for explicit between types, addressing implicit mismatches and preventing issues like . The CINT function, common in dialects, rounds a numeric expression to the nearest within -32,768 to 32,767, truncating the decimal (e.g., CINT(45.67) yields 46); exceeding limits triggers an error (code 6). Similar functions include CSNG for single-precision and CDBL for double-precision, with string-to-numeric conversions like CVI handling . These tools ensure safe , though early dialects like Dartmouth offered fewer options, relying on basic assignment.

Control Structures and Program Flow

In early implementations of BASIC, such as the original Dartmouth version developed by and in 1964, program flow relied heavily on unstructured mechanisms like unconditional jumps. The statement transfers control directly to a specified , allowing arbitrary branching within the code. This was essential for creating loops and decisions in the absence of more structured alternatives, though it later drew criticism for complicating program readability. Subroutines were supported via the GOSUB statement, which jumps to a designated while saving the return address on a , paired with the statement to resume execution at the calling point. This enabled modular code organization without full procedures, with GOSUB syntax simply GOSUB line_number and RETURN as a standalone command. Conditional branching was introduced through the IF statement, which evaluates a relational expression and executes a if true, typically in a single-line format like IF condition THEN line_number. Later dialects, such as Microsoft BASIC 7.1 (1990), extended this to multi-line blocks with for handling false conditions, as in IF condition THEN statements ELSE statements. This evolution supported more readable logic, where variables could be referenced in conditions to compare numeric or string values. Looping constructs began with FOR-NEXT in original BASIC, where FOR variable = start TO end [STEP increment] initializes a counter, and NEXT variable increments it (default step of 1) until exceeding the end value. For instance, a simple calculation might use:
10 LET F = 1
20 FOR I = 1 TO 5
30 LET F = F * I
40 NEXT I
50 PRINT F
This outputs 120, demonstrating iterative . Structured dialects like introduced WHILE-WEND for condition-checked repetition (WHILE condition ... WEND) and DO-LOOP variants (DO [WHILE|UNTIL condition] ... LOOP or post-tested equivalents), providing indefinite loops without fixed counters. Multi-way selection was handled by the ON statement, which evaluates an integer expression and branches to one of several line numbers via ON expression GOTO/GOSUB line1, line2, ..., with the index determining the target (values beyond the list often defaulting to the last). This facilitated switch-like behavior in both early and later variants.

Input/Output Operations

Input/output operations in were designed to support its interactive, beginner-friendly nature, emphasizing simple commands for screen display and user prompts in the original Dartmouth implementation. The statement outputs values or strings to the terminal, with comma-separated items advancing to fixed-width zones (typically 15 characters) and semicolon-separated items continuing on the same line without zone advancement. For instance, in early Dartmouth , the statement PRINT X1, X2 would display the variables side by side in zoned format, while PRINT "NO UNIQUE SOLUTION" outputs a literal message followed by a . Later dialects introduced the PRINT USING statement for more precise formatting, allowing templates with symbols like # for digits and . for decimals to control output appearance, such as PRINT USING "###.##"; PI to display pi rounded to two decimal places. User input via the INPUT statement prompts the terminal for values, assigning them to specified and often displaying a or custom prompt. Syntax like INPUT A pauses execution until the user enters a numeric value for A, with multiple variables allowed (e.g., INPUT X, Y), though early versions required the LET keyword for assignments and could halt on mismatches, such as entering text for a numeric variable. The READ statement, paired with statements, provided internal data input without user interaction, sequentially assigning constants from DATA lines to variables (e.g., 10 READ A1, A2 followed by 20 DATA 1, 2), advancing a pointer through the data pool until exhaustion, at which point execution typically stopped. File handling emerged in extended dialects for minicomputers and personal systems, enabling persistent beyond terminal sessions. The OPEN statement establishes access to a , specifying mode (INPUT for reading, OUTPUT for writing/overwriting, or for adding), filename, and file number (an integer identifier, e.g., 1–255). Reading occurs with INPUT # or LINE INPUT # for delimited or whole-line strings, while writing uses PRINT # or WRITE # to output formatted or comma-separated data. Files are closed with CLOSE # to free the file number and flush buffers. For example, a basic read loop might appear as:
OPEN "data.txt" FOR INPUT AS #1
DO WHILE NOT EOF(1)
    LINE INPUT #1, S$
    PRINT S$
LOOP
CLOSE #1
This iterates until the condition, detected by the EOF function, which returns true (-1 in some dialects) when no more data is available, preventing "Input Past End" errors. String/number mismatches during INPUT could trigger runtime errors, requiring careful variable typing, while EOF checks were essential for robust loops over variable-length files. Some dialects added device-specific I/O for peripherals like printers, using PRINT # with a number or commands like LPRINT for direct printer output. Non-blocking input appeared in variants such as with INKEY$, which returns a single keypress string immediately (or empty if none pressed), facilitating responsive applications without pausing execution. These features, while varying across implementations, underscored BASIC's adaptability to hardware constraints while maintaining simplicity.

Mathematical and Miscellaneous Functions

BASIC included a core set of arithmetic functions designed for straightforward numerical computations, drawing from the original implementation. The function returns the of its argument, such as ABS(-5) yielding 5, while SGN returns the sign of the argument as 1 for positive, 0 for zero, and -1 for negative values. These functions accepted numeric variables or expressions as inputs, enabling operations like determining magnitudes in simple algorithms. The function, , computed the principal square root of a positive argument, as in (25) returning 5. A practical example was its use in the , where the could be calculated as HYP = [SQR](/page/SQR)(A*A + B*B) for legs A and B, illustrating BASIC's emphasis on accessible geometric computations. Trigonometric functions in the original Dartmouth BASIC operated exclusively in radians, aligning with standard mathematical conventions for computational efficiency. (X), (X), and (X) provided the sine, cosine, and tangent of argument X, respectively; for instance, (π/2) returned 1. Users converting from degrees performed manual adjustments, such as multiplying degrees by π/180 to obtain radians, due to the absence of built-in conversion utilities. For random number generation, the RND function produced a pseudo-random value between 0 and 1, with the argument ignored in early implementations but later dialects allowing seeding via the RANDOMIZE statement to initialize the generator, such as RANDOMIZE TIMER for time-based variability. This facilitated simulations and games without requiring advanced seeding knowledge. String manipulation functions emerged prominently in dialects like Microsoft BASIC, supporting text processing for beginners. LEN(S) returned the number of characters in string S, as in LEN("HELLO") yielding 5; LEFT(S, N) extracted the first N characters, such as LEFT("BASIC", 3) returning "BAS"; and MID(S, I, J) retrieved J characters starting from position I, for example MID("PROGRAM", 4, 3) producing "GRA". Miscellaneous functions provided system-level utilities in later dialects. DATE and TIME returned the current system date and time as strings, enabling timestamped outputs like DATE$; while USR(X) invoked user-defined routines with argument X, allowing low-level extensions in resource-constrained environments. These features underscored BASIC's practicality for both educational and applied programming tasks.

Implementations and Standards

Interpreters and Compilers

BASIC implementations have historically relied on interpreters for immediate execution and accessibility, particularly in resource-constrained environments of the 1970s. Early interpreters, such as those for microcomputers, employed tokenized execution to optimize performance by converting into compact tokens upon entry, avoiding repeated during . This approach, common in dialects like for the , significantly reduced memory usage and improved execution speed compared to pure line-by-line interpretation. For instance, the original , while initially designed as a for systems, influenced subsequent interpreters that prioritized interactive, line-oriented for educational use. Compilers emerged to address the performance limitations of interpreters, enabling BASIC programs to generate standalone executables. The first notable BASIC compiler for microcomputers was BASIC-E, developed around 1977 by Gordon Eubanks for systems, translating code into efficient p-code for portability across platforms. Later, Microsoft's BASIC Compiler, released in 1984, produced native executables from source, marking a shift toward tools with and optimization features. Modern compilers like continue this tradition, compiling to native for Windows, , and other systems, supporting object-oriented extensions while maintaining compatibility with older dialects. Hybrid approaches combine interpretation and compilation for balanced performance and flexibility. In Visual Basic .NET (VB.NET), code is first compiled to Common Intermediate Language (CIL) by the VB.NET compiler, then just-in-time (JIT) compiled by the .NET Common Language Runtime (CLR) into native code at runtime. This on-demand JIT process optimizes execution by generating architecture-specific instructions only for invoked methods, improving startup time over full ahead-of-time compilation while ensuring type safety through verification. Such methods allow BASIC-derived languages to achieve near-native speeds in managed environments. Portability across diverse was a key challenge for in the , addressed through standards like BASICODE. Developed by engineer Hessel for the (NOS), BASICODE defined a minimal, unified of features compatible with approximately 23 platforms, excluding platform-specific elements like graphics in early versions. Programs were broadcast via radio for cassette recording, with machine-specific subroutines handling I/O, enabling dialect convergence and cross-system execution without full recompilation. This initiative, active until 1992, facilitated software sharing in regions like the and , prefiguring modern concepts. As of 2025, open-source tools sustain BASIC's vitality, particularly for mobile and embedded applications. SmallBASIC, an interpreter available for and systems, supports scripting with built-in functions for graphics, sound, and algebra, allowing users to develop and run programs directly on mobile devices via an integrated . While lacking explicit JIT enhancements, its lightweight design and cross-platform builds via source compilation ensure broad accessibility, with ongoing community updates for modern hardware.

Standardization Efforts

Efforts to standardize began in the to address the proliferation of incompatible dialects across early personal computers and minicomputers, aiming for program portability and interchangeability. The (ANSI) and European Computer Manufacturers Association (ECMA) led initial initiatives, producing minimal subsets that prioritized core functionality over advanced features. The ANSI Minimal BASIC standard, ratified as X3.60-1978 and concurrently as ECMA-55, defined a limited supporting floating-point numeric variables, string variables, one-dimensional numeric arrays, and basic structures like IF-THEN and FOR loops, explicitly excluding file I/O, multi-dimensional arrays, and procedures to ensure simplicity and broad implementability. It includes approximately 20 statements and 11 built-in functions. This standard promoted the interchangeability of BASIC programs across diverse systems but saw limited adoption due to vendors' preference for proprietary extensions that enhanced performance or added platform-specific capabilities, such as Microsoft's additions. Although these ANSI standards were later withdrawn, they provided a foundation for subsequent BASIC developments. Building on this foundation, the ANSI Full standard (X3.113-1987) expanded the language significantly, incorporating multi-dimensional arrays, user-defined procedures, and enhanced handling while maintaining with the minimal version. This was subsequently adopted internationally as ISO/IEC 10279:1991, which derived its syntax and semantics directly from the ANSI document and included amendments for modules and enhanced input functions by 1994, further izing BASIC for professional and educational use. Despite these advancements, widespread vendor non-compliance persisted, limiting full . In parallel, the BASICODE project, initiated in by the public broadcaster NOS and supported by telecom efforts from PTT, developed a portable of compatible with over 20 dialects, including those on , Apple, and machines, through standardized subroutines and a exchange format for radio-broadcast program distribution. This initiative facilitated hobbyist program sharing in without requiring full standard compliance, addressing gaps in formal standards by focusing on practical cross-platform execution. After 2000, no major new international standards emerged for classic BASIC, as focus shifted to object-oriented evolutions like Visual Basic .NET; however, the .NET Common Language Specification (CLS) ensured interoperability by defining a compliant subset of types and features, allowing VB.NET code to seamlessly integrate with other .NET languages such as C# and access shared class libraries. This framework effectively standardized BASIC's role within the .NET ecosystem, prioritizing managed code portability over standalone language unification.

Influence and Legacy

Impact on Programming Education and Accessibility

BASIC was conceived at with a deliberate focus on accessibility for non-experts, prioritizing to empower students across disciplines rather than restricting programming to specialists. This student-first facilitated rapid in educational settings, with 80% of Dartmouth's incoming freshmen learning the language by , integrated into the curriculum and used by 40% of faculty in various fields. The approach extended to other institutions, becoming a staple in introductory courses at East Coast colleges like Harvard and Princeton during the late and , as well as some high schools connected via networks. The language's forgiving syntax, employing everyday English words like and LET while minimizing punctuation requirements, made it particularly suitable for beginners by reducing the associated with memorizing complex rules. This design encouraged immediate experimentation through interactive interpreters, allowing users to receive instant feedback on code execution without extensive setup. Such traits lowered compared to more rigid contemporaries like , enabling novices to focus on logical problem-solving rather than syntactic precision. BASIC's global dissemination included adaptations tailored to local educational contexts, with translations and variants integrated into non-English curricula to broaden accessibility. For instance, in the during the 1980s, powered the Microcomputer, deployed widely in schools as part of the 's Computer Literacy Project, where over 1 million units were sold by the 1990s to teach programming to students. These efforts extended to other regions, such as educational labs in the 1980s, fostering computing literacy in diverse linguistic environments. By democratizing programming, played a key role in promoting inclusivity, enabling early engagement for women and underrepresented minorities in fields that were otherwise dominated by elite, male-centric academic paths. Historical accounts highlight how its approachable nature allowed broader participation, contributing to the initial diversification of the during the and when computing expanded beyond specialized roles. Through its prevalence on home computers, BASIC reached learners worldwide, as personal machines like the Commodore 64 and —often booting directly into BASIC interpreters—became fixtures in households and supported self-taught programming among youth. This widespread exposure laid foundational skills for generations, with its legacy influencing modern educational tools that emphasize intuitive coding interfaces.

Cultural and Technical Legacy

BASIC's cultural footprint is evident in early computer games that popularized interactive entertainment, such as , a text-based written in by Gregory Yob in 1973 for the PDP-11 . This game, involving navigation through a cave system to track a mythical beast while avoiding hazards like bottomless pits and giant bats, exemplified BASIC's role in democratizing game development and influenced later genres. Similarly, early activities on the Commodore 64 in the mid-1980s often incorporated for loaders and simple graphical effects, blending programming creativity with audiovisual artistry in the pre-internet era. A notable is the 2012 book 10 PRINT CHR$(205.5+(1)); : 10, published by , which analyzes a single line of Commodore 64 code that generates random mazes, exploring its implications for creativity, computation, and media history. This work highlights BASIC's simplicity as a medium for , transforming a mundane programming exercise into a lens for examining and cultural patterns in computing. On the technical side, BASIC's heavy reliance on the statement sparked significant debates that shaped modern programming practices, most famously critiqued by in his 1968 letter "Go To Statement Considered Harmful" published in Communications of the ACM. Dijkstra argued that unstructured jumps led to unmaintainable "," a reputation that BASIC earned due to its permissive syntax encouraging non-linear program flow without enforced structure, though this was often a result of its design for rapid, interactive experimentation rather than inherent flaws. Despite this controversy, BASIC receives credit for pioneering the interactive computing paradigm, as developed by and at in 1964, which emphasized immediate feedback in a environment to make computing accessible beyond experts. BASIC's technical legacy includes its influence on subsequent language designs prioritizing readability and educational use, such as , where Seymour Papert's 1980 book Mindstorms positioned Logo as a more structured alternative to BASIC while building on its goal of child-friendly programming. Archived repositories like David H. Ahl's BASIC Computer Games (1978, Creative Computing Press), a collection of over 100 type-in programs, preserve this era's hobbyist spirit and served as a key resource for early personal computing enthusiasts. Emulators such as Altirra for 8-bit systems and for further sustain this legacy by accurately reproducing 8-bit environments, allowing original BASIC programs to run and be preserved digitally. Quantitatively, BASIC powered a substantial portion of 1980s personal computing; for instance, by the mid-1980s, it was the built-in language on dominant 8-bit platforms like the Commodore 64 (over 12 million units sold) and Apple II series, forming the foundation for much of the era's homebrew software and educational applications.

Modern Relevance and Revivals

Despite its diminished prominence in mainstream software development, BASIC persists in niche applications, particularly through interpreters like YABasic, which remains actively maintained with version 2.91.4 released in August 2025 and supports cross-platform development for simple graphics and utilities on Unix and Windows systems. Similarly, Run BASIC continues to facilitate web application development by providing an all-in-one server environment that leverages BASIC syntax for browser-based programming, enabling rapid prototyping of interactive web tools without complex setup. Variants of BASIC have also found use in IoT scripting on platforms like the Raspberry Pi, where community ports such as BBC BASIC adaptations allow for lightweight automation and hardware control in resource-constrained environments. Community-driven revivals have extended BASIC's lifespan into the 2020s, exemplified by for SDL 2.0, a cross-platform implementation that supports 64-bit architectures, mobile devices, and web browsers while incorporating modern features like enhanced graphics and sound via the library. This project, updated regularly with version 1.42a in July 2025, builds on historical dialects to run legacy code alongside new applications on systems including and . In enterprise settings, Visual Basic .NET (VB.NET) maintains relevance through the maintenance of legacy Microsoft applications, with surveys indicating that over 80% of organizations still depend on VB6 and related classic systems as of 2023, many of which have been migrated or coexist with VB.NET components. Emerging AI-assisted tools further support BASIC by generating code snippets in the language; for instance, general-purpose AI coders like GitHub Copilot, used by over 20 million developers as of July 2025, can produce BASIC-compatible scripts when prompted, aiding hobbyists and educators in quick prototyping. BASIC's overall decline stems from its supersession by more versatile languages like and , which dominate in 2025 for scripting and due to superior libraries and support, though ranks #7 in the as of November 2025. However, a notable uptick in retro gaming has bolstered its cultural niche, with fantasy consoles like —emulating 1980s-era constraints and seeing active releases such as version 0.2.7 in August 2025—driving interest in BASIC-inspired environments for creation. Looking ahead, BASIC holds potential in low-resource educational contexts, where its simplicity aids introductory programming in developing regions or systems.

References

  1. [1]
    What is BASIC (Beginner's All-purpose Symbolic Instruction Code)?
    Sep 12, 2024 · BASIC, short for Beginner's All-purpose Symbolic Instruction Code, is an early programming language that was designed to help non-technical users and students.<|control11|><|separator|>
  2. [2]
    Milestones:BASIC Computer Language, 1964
    Nov 25, 2024 · BASIC was the principal programming language used on early microcomputers. Its simplicity and wide acceptance made it useful in fields beyond science and ...
  3. [3]
    Celebrating the Birth of BASIC—and Beyond - Dartmouth Campaign
    BASIC was invented by Kemeny and Professor of Mathematics Thomas Kurtz. That moment revolutionized computing for Dartmouth and the world.
  4. [4]
    BASIC turns 60: Why simplicity was this programming language's ...
    May 8, 2024 · BASIC's allure came from its simplicity. Designed as an interpreted language, it allowed programs to be written and executed line-by-line.
  5. [5]
    Fifty Years of BASIC, the Language That Made Computers Personal
    Apr 29, 2014 · Invented by John G. Kemeny and Thomas E. Kurtz of Dartmouth College in Hanover, New Hampshire, BASIC was first successfully used to run programs on the school' ...
  6. [6]
    Thomas Kurtz & John Kemeny Invent BASIC - History of Information
    Kurtz and Kemeny designed BASIC to allow students to write mainframe computer programs for the Dartmouth Time-Sharing System Offsite Link.
  7. [7]
    None
    ### Summary of Thomas Kurtz on BASIC Goals and Features
  8. [8]
    50 years of the computer language BASIC
    Aug 5, 2014 · Fifty years ago, mathematicians John Kemeny and Thomas Kurtz of Dartmouth College in New Hampshire introduced BASIC, a new language for programming computers.
  9. [9]
    BASIC at Dartmouth
    Jul 25, 2018 · Origins of BASIC ... In 1963, Kemeny, a mathematician who later became Dartmouth's 13th president, applied for a National Science Foundation grant ...
  10. [10]
    Doug Jones's DEC PDP-8 FAQs - University of Iowa
    FOCAL, an interpretive language comparable to BASIC, was available on all models of the family, including the PDP-5 and PDP-8/S. Versions of FOCAL run under ...
  11. [11]
    Early Computer - HP Memory Project
    HP computers entered the education field in 1968. The HP 2000A Time-Shared BASIC System, along with its successors, provided cost-effective computer aided ...
  12. [12]
    [PDF] Hewlett - Computer History Museum - Archive Server
    HP 2000A Time-Shared System. (shown with control teleprinter). : Introduction. The HP 2000A Time-Shared "BASIC" System represents a new philosophy in the.
  13. [13]
    GE Timesharing Systems
    The system at Dartmouth, where the original development was done, is used both for teaching large numbers of undergraduate students, and for faculty research ...Missing: education | Show results with:education
  14. [14]
    Hewlett-Packard HP 2000 Time Shared Basic - Decode Systems
    Jul 16, 2010 · Hewlett-Packard introduced the HP 2000A Time-Shared BASIC System in 1968, a multi-user system dedicated to running a BASIC interpreter.
  15. [15]
    [PDF] DEC PDP-11, 1970
    The company behind the system is * important too. Digital Equipment Corporation is the world's largest and most experienced manufacturer of small computer.
  16. [16]
    [PDF] Digital Equipment Corporation - Computer History Museum
    and reliably to the PDP-11/34 or 11/70 system host. PDP-11/60. In March, DIGITAL announced a new mid-range price/ performance system, the PDP-11/60. The 11/60 ...
  17. [17]
    The Altair 8800 - | Nuts & Volts Magazine
    Paul Allen wrote the first boot loader for the 4K BASIC, it was over 50 bytes. Bill Gates wrote one in just 17 bytes. I had the pleasure to write a boot loader ...
  18. [18]
    [PDF] WANG - Bitsavers.org
    The VS languages are based on industry stan- dards and include Wang extensions that provide interactive programming capabilities. Because the VS has the ability ...Missing: dialect | Show results with:dialect
  19. [19]
    Rise and Fall of Minicomputers
    Oct 24, 2019 · While mainframes cost up to $1,000,000, minicomputers cost well under $100,000. ... By 1970, about half of the new minicomputer companies ...
  20. [20]
    Minicomputers - What They Are and What They Can Do, June 1972 ...
    Even with price tags for the breadbox-size computers ranging from $6000 to $25,000, more than 10,000 of them have found their ways into new kinds of electronic ...
  21. [21]
    BASIC Commands - Dartmouth
    Jul 20, 2018 · It was a simple language, used English words, and gave almost ... GOSUB Does a GOTO to a subroutine. RETURN Returns from the end of the ...The Original-Original... · Arithmetic Expressions · Example ProgramsMissing: history | Show results with:history
  22. [22]
    Computers for Everybody - CHM Revolution
    Commodore PET​​ Commodore produced hand-held calculators. Designer Chuck Peddle convinced Commodore president Jack Tramiel to transform his KIM-1 design into the ...
  23. [23]
    1977 | Timeline of Computer History
    The first of several personal computers released in 1977, the PET comes fully assembled with either 4 or 8 KB of memory, a built-in cassette tape drive, and a ...Missing: details | Show results with:details
  24. [24]
  25. [25]
    [PDF] The Radio Shack TRS-80: An Owner's Report
    Priced at $599.95 for a 4 K byte version, this personal computer includes a BASIC interpreter and cassette interface software in 4 K bytes of read only memory.
  26. [26]
    Polish engineer creates postage stamp-sized 1980s Atari computer
    Jun 3, 2025 · In 1979, Atari released the Atari 400 and 800, groundbreaking home computers that included custom graphics and sound chips, four joystick ...
  27. [27]
    Total share: 30 years of personal computer market share figures
    Dec 14, 2005 · By the end of 1976, over 40,000 personal computers had been sold, with MITS selling approximately 25%, IMSAI 17%, Processor Technology 8%, and ...
  28. [28]
    [PDF] dr. dobb's journal of - COMPUTER Calisthenics & Orthodontia
    Jun 9, 1976 · Palo Alto Tiny BASIC: User documentation & complete, annotated source. Letters & Notes code • Li-Chen Wang. TBX Mods for a SWTP-TVT-2 ·Adolph ...
  29. [29]
    IBM BASICA - IT History Society
    IBM BASICA (short for "Advanced BASIC") is a disk-based BASIC interpreter written by Microsoft for PC-DOS. BASICA used the ROM-resident code of "IBM ...
  30. [30]
    Microsoft Open-Sources GW-BASIC - Windows Command Line
    May 21, 2020 · GW-BASIC was a BASIC interpreter derived from IBM's Advanced BASIC/BASICA, which itself was a port of Microsoft BASIC. Microsoft's various ...
  31. [31]
    Microsoft BASIC - Computer History Wiki
    Jan 16, 2024 · GW-BASIC, launched in 1983, was a disk-based Microsoft product distributed with non-IBM MS-DOS computers, and supported all the graphics modes ...
  32. [32]
    [PDF] Turbo Basic - Bitsavers.org
    And for maximum speed and memory efficiency, Turbo Basic is written entirely in assembly language. Some other distinguishing characteristics include the ...
  33. [33]
    [PDF] Microcomputer Spreadsheets - Bitsavers.org
    The arrival of VisiCalc, the first truly commercial spreadsheet program for ... Product Type • spreadsheet program; report generator; basic language extensions ...
  34. [34]
    The Sundial Primer - Dialling with QBASIC - mySUNDIAL.ca
    QBASIC is a version that does not contain all the features available with QuickBasic. It was released in 1991 and came free with MS-DOS 5 and later versions. It ...
  35. [35]
    The History of Microsoft - 1991
    May 28, 2009 · May 20, 1991. Microsoft announces Visual BASIC for Windows at Windows World 1991 in Atlanta, Georgia. June 11, 1991. Microsoft announces the ...
  36. [36]
    Visual Basic.NET: New Programming Model and Language ...
    The history of COM has been plagued with problems concerning interoperability of various languages. While a certain degree of interoperability exists ...
  37. [37]
    NET garbage collection - Microsoft Learn
    Sep 15, 2021 · Learn about garbage collection in .NET. The .NET garbage collector manages the allocation and release of memory for your application.
  38. [38]
    Object-oriented programming - Visual Basic | Microsoft Learn
    Sep 15, 2021 · In the .NET Framework, the garbage collector automatically manages the allocation and release of memory for the managed objects in your ...
  39. [39]
    About - FreeBASIC Language
    FreeBASIC is not a "new" BASIC language. You don't need to learn much new if you are familiar with any Microsoft-BASIC variant.Missing: QBASIC | Show results with:QBASIC
  40. [40]
    QB64.com | QB64 is a modern extended BASIC programming ...
    QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS ...Source repo · QBjs · Samples · Community • More…
  41. [41]
    PureBasic - A powerful BASIC programming language
    PureBasic is a modern BASIC programming language. The key features of PureBasic are portability (Windows, Linux, OS X and Raspberry supported with the same ...Download · Support · News · OrderingMissing: 1990s cross-
  42. [42]
  43. [43]
    Gambas - Gambas Almost Means Basic
    Gambas 3.21.0 has been released! · A new GUI theme with configurable roundness, flatness and contrast. · A better debugging of web applications. · The image editor ...
  44. [44]
  45. [45]
    [PDF] First BASIC Instruction Manual, 1964 - Dartmouth
    An instruction in BASIC consists of three parts, an instruction number, an operation, and an operand. The instruction number may be any integer from 1 to 99999,.
  46. [46]
    Line Numbers in Fortran, Cobol, Joss, and Basic - Troy Press
    Sep 19, 2020 · BASIC. Introduced in 1964, Dartmouth BASIC adopted mandatory line numbers, as in JOSS, but made them integers, as in FORTRAN. As defined ...Missing: syntax | Show results with:syntax
  47. [47]
    On Error Statement - Visual Basic - Microsoft Learn
    Sep 15, 2021 · The `On Error` statement enables or disables error-handling routines, specifying their location, and is used in unstructured error handling.
  48. [48]
    Structured programming in Basic; part 4: ANSI Basic, Macintosh ...
    Structured programming in Basic; part 4: ANSI Basic, Macintosh Basic, and True Basic. From Creative Computing Vol. 10, No. 9 / September 1984.
  49. [49]
    [PDF] dartmouth :: BASIC 4th Edition Jan68 - RetroFun.PL
    line numbers? The answer is that the particular choice of line numbers is arbitrary, as long as the statements are numbered in the order which we want the ...Missing: syntax | Show results with:syntax
  50. [50]
    [PDF] User's Guide and Ref ere nee - Bitsavers.org
    This book is a guide to the use of the GW-BASIC Interpreter; it makes no attempt to teach the BASIC programming language. The following texts may.Missing: suffixes | Show results with:suffixes
  51. [51]
    Scope - Visual Basic | Microsoft Learn
    Sep 15, 2021 · The scope of a declared element is the set of all code that can refer to it without qualifying its name or making it available through an Imports Statement.Specifying Scope and Defining... · Levels of Scope
  52. [52]
    Kemeny & Kurtz - The Invention Of BASIC
    ### Summary of Original BASIC Control Structures from Kemeny and Kurtz
  53. [53]
    MS BASIC 7.1 Programming Guide - PCjs Machines
    This chapter shows you how to use control-flow structures -- specifically, loops and decision statements -- to control the flow of your program's execution.
  54. [54]
    [PDF] BASIC - Alan Dix
    A Manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System. 1 October 1964. Copyright 1964 by the Trustees of.Missing: syntax | Show results with:syntax
  55. [55]
    PRINT USING Statement - GW-BASIC User's Guide
    Purpose: To print strings or numbers using a specified format. Syntax: PRINT USING string expressions;list of expressions[;]
  56. [56]
    Basic Lesson 10
    Lesson 10 covers OPEN, WRITE #, CLOSE, INPUT #, PRINT #, and EOF (End of File) commands for file handling in Basic.
  57. [57]
    EOF Function - GW-BASIC User's Guide
    Use EOF to test for end of file while inputting to avoid "Input Past End" errors. Examples: 10 OPEN "I", 1, "DATA" 20 C=0 30 IF EOF(1) THEN 100 40 INPUT ...
  58. [58]
    INPUT (file statement) - QB64.com
    QB64 is a modern extended BASIC language compatible with QBasic 4.5. The INPUT # statement reads sequential data using file number and variable types.<|separator|>
  59. [59]
    [PDF] Microsoft Basic Reference Manual 8101-530-11 1982 - vtda.org
    MICROSOFT BASIC FUNCTIONS. 3.21. LEN. Format. LEN (X$). Page 3-13. Action ... Also see the LEFT$ and MID$ functions,. Sections. 3.20 and 3.25, respectively ...
  60. [60]
    What type of interpreter were most 8-bit BASIC implementations?
    Nov 18, 2019 · Tokenized to reduce the size of the program text, as well as speed up the interpreter by not have to parse text at runtime, and runtime ...Missing: 1970s | Show results with:1970s
  61. [61]
    What were the first BASIC interpreters to be programmed in high ...
    Sep 6, 2020 · Wikipedia suggests that 7th edition Dartmouth BASIC (1978) was ... I wrote the tree-meta interpreter and basic compiler/interpreter and ...
  62. [62]
  63. [63]
    Managed Execution Process - .NET - Microsoft Learn
    Apr 20, 2024 · At execution time, a just-in-time (JIT) compiler translates the CIL into native code. During this compilation, code must pass a verification ...
  64. [64]
    BASICODE: A Bit Like Java, But From The 1980s | Hackaday
    Oct 14, 2025 · It's kind of like a manually loaded bootloader, except it includes an additional software library that the application can use. Later versions ...Missing: convergence | Show results with:convergence
  65. [65]
    SmallBASIC | one more basic
    ### Summary of SmallBASIC (as of 2025)
  66. [66]
    ECMA-55
    ECMA-55, or Minimal BASIC, is a standard to promote interchangeability of BASIC programs, establishing syntax, data formats, and error handling.Missing: adoption | Show results with:adoption
  67. [67]
    The new ANSI BASIC standard | ACM SIGPLAN Notices
    {ANSI 78} American National Standard for the Programming Language Minimal BASIC, ANSI X3. ... Cited By. View all. Ham J(2014)An ECMA-55 Minimal BASIC Compiler for ...Missing: adoption | Show results with:adoption
  68. [68]
    ISO/IEC 10279:1991 - Programming languages — Full BASIC
    Specifies the programming language which is derived from the ANSI X3.113-1987. For details of the syntax and semantics see ANSI X3.113-1987.
  69. [69]
    Transnational (Dis)Connection in Localizing Personal Computing in ...
    May 21, 2015 · ... Basicode allowed Dutch computer hobbyists to align the. differences in design that foreign computer manufacturers had created. Basicode ...
  70. [70]
    How the BBC Micro started a computing revolution - The Guardian
    Jan 10, 2012 · Acorn Computers of Cambridge changed lives in Britain's classrooms in the 1980s with its hardware for the BBC's computer literacy project.Missing: global adaptations
  71. [71]
    The Secret History of Women in Coding - The New York Times
    Feb 13, 2019 · The secret history of women in coding: Computer programming once had much better gender balance than it does today. What went wrong?
  72. [72]
    [PDF] The History and Nature of Interactive Fiction - DSpace@MIT
    One of these was an earlier cave simulation, Hunt the Wumpus, a BASIC program written by Gregory Yob and first published in print in 1973. This game was set on ...
  73. [73]
    FREAX - The Brief History of the Demoscene
    The first computer with reasonable scene activity was the Commodore 64. ... An assembly code on the Commodore 64 ran around thirty times faster than a BASIC ...<|separator|>
  74. [74]
    [PDF] Edgar Dijkstra: Go To Statement Considered Harmful - CWI
    Edgar Dijkstra: Go To Statement Considered Harmful. 1. Edgar Dijkstra: Go To Statement ... Aus: Communications of the ACM 11, 3 (March 1968). 147-148.
  75. [75]
    Logo and Learning - MIT
    Logo is designed to be an environment in which Piagetian learning can occur and is supported. Papert's widely read and highly influential book Mindstorms was ...
  76. [76]
    Tandy/Radio Shack Book:: Basic Computer Games (1978)(David Ahl)
    May 20, 2013 · Tandy/Radio Shack Book:: Basic Computer Games (1978)(David Ahl) ; Publication date: 1978 ; Topics: print, goto, input, tou, theh, computer, ...
  77. [77]
    Altirra, an 8-bit Atari computer emulator - virtualdub.org
    Contains reimplemented versions of OS, BASIC, and handler ROMs to run 8-bit software with high compatibility without needing Atari ROMs. ... * Cassette: BASIC ...
  78. [78]
    1980 | Timeline of Computer History
    Inside was a Z80 microprocessor and a built-in BASIC language interpreter. Output was displayed on the user's home TV screen through use of an adapter. About ...
  79. [79]
    Yabasic - Wikipedia
    Yabasic was originally developed by Marc-Oliver Ihm, who released the last stable version 2.91.2 in 2025. From version 2.77.1, the project has adopted the MIT ...
  80. [80]
    Run BASIC - Easy and pain free web programming!
    Run BASIC Personal Server is an all-in-one system that makes web programming easy and fun. With a knowledge of the BASIC programming language
  81. [81]
    rtrussell/BBCSDL: BBC BASIC for SDL 2.0 - GitHub
    BBC BASIC for SDL 2.0 (BBCSDL) is a cross-platform implementation of the BBC BASIC programming language for Windows, Linux (x86), MacOS, Raspbian (Raspberry Pi ...Missing: revival 2020s
  82. [82]
    BBC Basic for SDL 2.0
    It combines the simplicity of BASIC with the sophistication of a structured language, allowing you to write utilities and games, use sound and graphics, and ...Missing: revival 2020s
  83. [83]
    BBC BASIC for SDL 2.0 version 1.39a released
    Feb 28, 2024 · I have released version 1.39a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, Mac OS, Linux, Raspberry Pi OS ...
  84. [84]
    [PDF] State of Legacy ASP/VB6 2023 PDF
    Despite both ASP and VB-based applications reaching their end-of-life status some time ago, our survey found that over 80% of companies still rely on legacy ...
  85. [85]
    GitHub Copilot Surpasses 20 Million All-Time Users, Accelerates ...
    Key Points. GitHub Copilot has surpassed 20 million all-time users, up from 15 million only three months ago; 90% of Fortune 100 companies ...<|control11|><|separator|>
  86. [86]
    TIOBE Index - TIOBE - TIOBE Software
    The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month.Paul Jansen · Other Programming Languages · Very Long Term History
  87. [87]
    PICO-8 0.2.7 | RELEASE OVERVIEW - YouTube
    Sep 12, 2025 · We are looking at the newest release of the Fantasy Console PICO-8. Demo carts from this video https://www.lexaloffle.com/bbs/?tid=151487 ...
  88. [88]
    Yabasic - A simple Basic interpreter for Unix and Windows - GitHub
    Yabasic is a traditional basic-interpreter. It comes with goto and various loops and allows to define subroutines and libraries. It does simple graphics and ...