We were wizards – a foreword to Learning Perl (1993)

Perl as “wizardly” and expressive

  • Many recall Perl as uniquely suited to “stream-of-consciousness” programming: ideas flow directly into code with little ceremony.
  • Its flexible syntax, sigils, and powerful regexes made it feel like an extension of the programmer’s mind, especially for text and glue code.
  • Some link this to its roots in practical linguistics and tolerance for context and ambiguity, unlike more formally designed languages.

Productivity vs. Maintainability

  • Multiple anecdotes describe failing, heavyweight Java projects replaced in weeks by small Perl teams or even a single developer.
  • Supporters argue bad code is a people problem, not a language problem, and that high‑quality, maintainable Perl is possible with discipline.
  • Critics counter that the language’s expressiveness and many sharp edges actively encourage “cowboy coding” and write‑only code, especially in large, long‑lived systems.

Language Design & Safety

  • Fans highlight early and strong support for unit tests, strict modes, tainting/safe modes, and long‑term backwards compatibility.
  • Others criticize tacked‑on OO, clumsy error handling, signal handling, lack of a great REPL, and conceptual bloat.

CPAN, Ecosystem, and Dependency Sprawl

  • CPAN is praised as an early, exemplary internet-native package ecosystem with good tooling, docs, and tests.
  • There is concern about “there is more than one way to do it” leading to many overlapping modules (multiple OO systems, JSON libs, HTTP clients) coexisting in one runtime and complicating dependencies.

Perl vs. Python and Others

  • Some see Perl and Python as very similar but optimized differently: Perl aims to make the computer adapt to the human, Python the reverse.
  • Perl is viewed as better for terse one‑liners and ad‑hoc stream processing; Python as clearer for larger systems and teams.
  • Reasons cited for Perl’s decline include a major web company standardizing on Python, the scientific/data stack, and the confusion and delay around Perl 6 / Raku.

Current Niche, Ubiquity, and Legacy

  • Perl remains widely installed on Unix-like systems and is still favored for cross-platform scripting where sed/awk or shell differ.
  • Several commenters still use Perl regularly for small to mid‑sized scripts, but see few greenfield opportunities.
  • Books and magazines about Perl are remembered as unusually fun, opinionated, and influential on many programmers’ careers.