Gerald Sussman: Programming is (should be) fun (2022) [video]

Impact of SICP and Lisp

  • Many commenters describe SICP and related lectures as deeply formative, changing how they think about abstraction, modularity, and computation.
  • Lisp/Scheme is praised for exposing the “creative” and aesthetic side of programming, contributing to SICP’s perceived timelessness.
  • Some stories highlight Lisp as both “high-level” and a low-level virtual machine language, and point to the historic “Lambda the Ultimate …” papers as influential.

Programming, Fun, and Industry Reality

  • Strong tension between “programming as fun, exploration, and art” and “software engineering as bean‑counting, deadlines, and risk aversion.”
  • Some argue fun and craftsmanship boost productivity and quality; others note that customers primarily care about reliability and not “fun.”
  • Several blame modern process-heavy “Taylorist” management and misapplied “Agile” for squeezing out joy, though others say such management existed well before.
  • Freelancing/consulting and high-pressure environments are seen as especially likely to turn coding into “just getting it done.”

Teaching Languages and CS Education

  • Debate around replacing Scheme/Lisp with Python in introductory courses.
  • One side laments a shift from learning about computation to learning a commercial “duct-tape” language.
  • Others note Lisp is niche in practice and see value in Python’s popularity, while critics say commercial relevance shouldn’t dominate pedagogy.
  • Clarifications: SICP was retired at MIT; a new Python-based intro course appeared; a separate, advanced Lisp-based course continues.

Programming as Knowledge and Expression

  • Several describe code as a medium to store and clarify understanding of math, physics, or domain concepts—“executable notes” that remove ambiguity.
  • Programming is framed as cumulative knowledge and decision management over long-lived systems, where readability for future humans matters as much as executability.

Tools, Frameworks, and Lost Simplicity

  • Many distinguish “coding” (generally fun) from surrounding complexity (CI/CD, cloud platforms, frameworks, orchestration), which is often frustrating.
  • Nostalgia for simpler workflows (“make and run”) contrasts with today’s multi-tool pipelines and “yak shaving.”

Rigor, Reliability, and Liability

  • Some argue industrial software should be “boring,” like safe infrastructure, and suggest stronger liability for programmers, akin to electricians or bridge builders.
  • Claims about “bug‑free” methods from historical aerospace work are raised and then challenged as overstated or poorly documented.

Vocational vs Academic Views

  • One line of argument treats most programming as vocational (like welding), where pragmatic skills matter more than deep theory.
  • Others counter that in any craft, curiosity and broader understanding distinguish excellent work, and that education should cultivate those capacities, not just job skills.