Was BASIC that horrible or better?
BASIC’s legacy splits opinion between those who see it as a crude, spaghetti-inducing relic and those who credit it with opening the door to programming for an entire generation. Commenters note that early 8‑bit BASICs were intentionally minimal, fitting into a few kilobytes of RAM and doubling as OS, shell, and teaching tool, while later dialects like QBasic, VB and GFA BASIC added structure, functions and even GUI capabilities. Many argue that despite its technical flaws, BASIC’s immediacy, low conceptual overhead, and tight feedback loop are still largely unmatched by modern on‑ramps like Python, JavaScript, Scratch, or visual tools, and that its “bad habits” are easily unlearned once learners move on.
Breadth of BASIC Dialects
- Commenters stress that “BASIC” is a large family: from tiny 4–8K ROM interpreters with line numbers to structured, modular, even OO dialects (e.g., QBasic, VB, Rocky Mountain BASIC, GFA BASIC).
- This diversity makes blanket judgments (“BASIC is horrible” or “BASIC is great”) misleading; experiences differ widely by platform and era.
Gateway to Computing
- Many recall BASIC as their first language on 8‑bit home computers that booted straight into a READY prompt.
- The extremely low barrier to entry (no build step, no IDE, instant feedback, printed manuals and magazine listings) is seen as its greatest achievement.
- Non-programmers (kids, accountants, plant operators) built useful systems and even small businesses with BASIC and later Visual Basic / VBA.
Simplicity vs. Structure
- Proponents praise BASIC’s tiny concept set: variables, PRINT, IF, loops, GOTO/GOSUB; easy graphics and key input made games and visual programs approachable.
- Critics report that larger BASIC codebases (especially with global variables, GOTO, line numbers, no real functions/procedures) become fragile and hard to maintain.
- Some argue that “bad habits” like unstructured flow are harmful; others say they are a natural learning phase and later make structured languages feel clearly superior.
Dijkstra, GOTO, and Language Design
- The famous criticism of BASIC and GOTO is debated:
- One side notes historical context: early Fortran/BASIC codebases used massive amounts of GOTOs and were hard to reason about; Dijkstra wanted higher-level constructs.
- Others argue that his stance became overgeneralized into “BASIC permanently ruins programmers,” which does not match their experience.
- Several point out that even in modern systems, limited use of GOTO-like constructs can be practical, but languages should steer novices toward safer patterns.
Environment and “Closeness to the Machine”
- BASIC on 8‑bit machines doubled as OS, shell, script language, and teaching tool; users could PEEK/POKE hardware and feel they “owned” the machine.
- This tight, distraction-free, graphics-and-sound-ready environment is contrasted with today’s smartphones and PCs, where programming is hidden behind complex stacks.
Modern Successors and Alternatives
- Candidates mentioned as “modern BASICs”: Python, JavaScript (especially in browsers), Scratch, Pico‑8, Godot/GDScript, MicroPython/CircuitPython, Gambas, Xojo, etc.
- Many feel none fully replicate the combination of ubiquity, immediacy, and simplicity that 1980s BASIC provided.