93% of paint splatters are valid Perl programs (2019)

Perl, Paint Splatters, and the Joke Premise

  • Thread centers on a SIGBOVIK/April 1–style joke: OCR-ing random paint splatters, most of which parse as syntactically valid Perl.
  • Many see it as a clever twist on old “Perl looks like line noise” jokes.
  • Some note the generated programs are syntactically valid but semantically trivial, usually no more meaningful than 0-0.

Language Theory and Esoteric Connections

  • Perl is noted as not context-free, so syntactic validity isn’t checkable by a simple stack machine.
  • Discussion of concatenative languages where every token sequence can be valid; some correct this to “some concatenative languages.”
  • Links to binary combinator languages (Jot, zot, Binary Lambda Calculus) and Gödel numbering as ways to map arbitrary bitstrings to programs.
  • Clarifications: Gödel numbering must be injective; multiple programs can encode the same algorithm.

Perl in 2024: Usefulness and Niche

  • Strong theme: Perl is no longer “mainstream,” but still heavily used in sysadmin glue, automation, text processing, and legacy backends.
  • Examples: Debian tooling, banking, telecoms, email providers, internal enterprise systems, cron jobs, ad‑hoc data munging, code generation.
  • CPAN and strong backward compatibility are repeatedly praised; old scripts often “just keep working” decades later.
  • Several argue Perl remains fast, portable, and productive for those who know it, even if you’d be mocked for proposing it for greenfield projects.
  • Consensus: Perl will persist quietly for many years, especially in existing stacks and smaller firms, but won’t regain broad popularity.

Ergonomics, Readability, and Safety

  • Some insist Perl can be readable if you avoid one‑liners and enable strict/warnings; others dislike its permissive and implicit behaviors.
  • Barewords and implicit type coercions are highlighted via a quine based on “Illegal division by zero…”, prompting comparisons to JavaScript’s quirks.
  • Dynamic vs static typing and IDE support vs simple editors are debated, with differing views on what most affects productivity.
  • A few contrast Perl’s “anything parses” tendency with safer languages (e.g., Elm) where many classes of runtime errors are unrepresentable.

OCR Behavior and Noise vs Meaning

  • Several note that the experiment’s outcome is heavily shaped by OCR aggressively forcing any blotch into text.
  • Some criticize OCR in general for still emitting garbage text from non-text images; others mention LLMs as more context-aware OCR agents.