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.