I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

Finding and Running Old Code

  • Many commenters share stories of rediscovering decades‑old programs (Perl, Java, Turbo Pascal, BASIC, HyperCard, Amiga, C64, etc.) and getting them running via emulators or on modern systems.
  • Several note that “temporary” or stopgap systems written quickly (e.g., a Perl publishing workflow from 2002, database publishing platforms, small Perl utilities) ended up in long‑term production and are still heavily used, often disliked but too entrenched to replace.
  • Others failed to recover old work because media (5.25" floppies, tapes) or ecosystems (Flash, Java applets, early iOS, legacy Python GUIs) have decayed or lost runtime support.

Wayback Machine & Digital Preservation

  • Strong appreciation for the Internet Archive/Wayback Machine as a “society‑wide memory” preserving old sites, images, videos, and even obscure files.
  • Some donate regularly and encourage others to do so, while one commenter worries that legal judgments might simply divert donations to lawsuit plaintiffs.
  • People report successfully using Wayback to recover lost images and personal projects that no longer exist on the live web.

Language and Platform Longevity

  • Java is repeatedly cited as a standout for binary and source backward compatibility: jars from the late 1990s–2000s often still run on current JVMs.
  • Others note similar longevity for Objective‑C iOS apps, Emacs Lisp, Common Lisp, Erlang, Fortran, C, and old Windows executables.
  • There is debate over whether Java is uniquely strong here versus “older” or more niche languages, and how much the Lindy effect applies given ecosystem size.
  • Some highlight that applets and CORBA are effectively dead and that internal APIs and deprecated features have been pruned in newer Java versions.

Tooling, Ecosystems, and Churn

  • Java build tools: Maven is praised for stability and declarative configs; Gradle is seen as more fragile over time despite the wrapper.
  • Other ecosystems (TypeScript/Node, Go pre‑modules, C++ with CMake) are criticized for dependency and tooling churn that makes old projects hard to build.
  • Decompilers (Fernflower/Vineflower, JD‑GUI) and tools like CheerpJ and appletviewer are suggested for reviving or inspecting old Java code.

Nostalgia and Reflections

  • Many reflect on how much has changed since the 1990s–2010s (web, tooling, frameworks) yet how simple, framework‑free code (plain JS, small scripts) often still works.
  • There’s recurring humor about “write once, read never,” “nothing more permanent than the temporary,” and realizing code outlives both its authors’ careers and sometimes its users’ birthdates.