BASIC was not just a programming language

Personal memories of 8‑bit home computers highlight how built‑in BASIC interpreters effectively served as instant‑on operating systems, IDEs, and teaching tools, dropping users straight into a programmable environment stored in ROM. Commenters contrast that immediacy and simplicity with today’s multi‑layered stacks and JavaScript-in-the-browser model, debating whether modern tools are more powerful yet less discoverable for beginners. The thread also revisits long‑running critiques of BASIC’s structure and performance, while noting how it evolved over time and how its spirit lives on in ubiquitous, accessible languages and retro‑inspired systems.

ROM-based machines and “booting”

  • 8‑bit systems like the Amstrad CPC, C64, and others had OS and BASIC in ROM, so they appeared “instant-on,” going from power-up to BASIC prompt in under a second.
  • Some argue these machines technically didn’t “boot” since no OS was loaded from external media; others counter that hardware init and environment setup still constitute booting.
  • Examples given of variations: Sharp “clean computers” that only had a monitor in ROM; Amstrad PCW booting from floppy; add‑on disk systems (e.g., DDI‑1) layering AMSDOS and CP/M.

BASIC as environment and learning tool

  • BASIC on home computers functioned as an integrated environment: editor, interpreter, OS hooks, and often direct hardware access.
  • Users recall learning from manuals, magazines, and typing listings, seeing it as an approachable way into programming and understanding the whole machine.
  • The ability to move the cursor around the screen, edit in place, and re‑run lines made it more than a simple REPL on many systems.

Comparisons with JavaScript and modern platforms

  • Some argue modern JavaScript in a browser console is strictly more powerful and convenient than 8‑bit BASIC (graphics, UI elements, sharing via links, vast free resources).
  • Others note that JS is less “discoverable” because you must navigate browsers and dev tools, whereas the BASIC prompt was the default UI.
  • Browsers are praised as remarkably stable platforms over time, though build‑tool bitrot is a frustration.

Dijkstra’s BASIC criticism and language evolution

  • The famous “BASIC causes brain damage” line is heavily discussed.
  • Several comments stress it was aimed at very early, extremely limited BASIC dialects and was part of a broader, humorous critique of many languages.
  • Many doubt it “killed” BASIC, pointing out BASIC’s later popularity and evolution (structured BASIC, Visual Basic, VB.NET).
  • Some feel tools shape thinking, but also reject the idea that early exposure to BASIC permanently harms programmers.

Line numbers and RENUM

  • RENUM/RENUMBER commands existed on many but not all BASICs (e.g., Amstrad CPC, BBC Micro, C128, some Microsoft BASICs, various Eastern bloc and CP/M systems).
  • Behavior varied: configurable start and step sizes, 16‑bit or signed‑int limits, and sometimes quirky wrapping or broken GOTO renumbering at high line numbers.
  • Several popular 8‑bit machines (C64, Apple II, Atari 800 with built‑in BASIC) lacked RENUM, which made manual line management tedious.

Performance, stacks, and low-level control

  • BASIC is frequently criticized for poor performance compared with assembly, Pascal, or Forth on 8‑bit hardware.
  • A common pattern was to use BASIC as a high‑level script/driver, delegating heavy work to machine‑language routines—likened to modern Python calling C.
  • Discussion of GOSUB/RETURN shows that many BASICs had real call stacks, supported nesting and even recursion, with stack overflow producing “formula too complex” or “memory full” errors.
  • Forth is mentioned as an alternate “OS‑like” environment with editors and multitaskers, though its postfix syntax was seen as less approachable.

Nostalgia, education, and modern echoes

  • Several commenters credit BASIC (on C64, MSX, CPC, ZX Spectrum, etc.) with sparking lifelong interest in programming.
  • There is debate over whether platforms like Raspberry Pi should drop straight into a BASIC‑like environment; today they typically ship with Python and IDEs instead.
  • Some lament today’s abstraction layers and feeling of distance from the hardware, while others celebrate cross‑platform reach (JS, WebAssembly) as a different kind of empowerment.
  • A recurring wish: a modern BASIC computer with direct hardware access plus updated features like internet support.