Perl's decline was cultural
Perl’s Stability and “Just Works” Appeal
- Several commenters praise Perl 5’s extreme backward compatibility:
use v5.xxlets old and new code coexist in one interpreter with few breaking changes. - This makes Perl attractive for system scripts and long‑lived tooling: it’s on almost every Unix box, needs no venv/containers, and old scripts often “just keep running”.
- In contrast, Python is criticized for its packaging/venv norms and stdlib deprecations; others push back, saying interpreter‑level breakage since 3.x is rare and well signaled.
Comparisons with Python, Ruby, PHP, and Java
- Many describe moving from Perl to Python for clearer syntax, easier learning, “batteries‑included” stdlib, and a more welcoming culture.
- Ruby is seen as “Perl with nicer OO” and better web tooling (Rails); PHP as the thing that actually captured the web because mod_php was simple to deploy and syntax more approachable.
- Java (plus corporate backing) also siphoned mindshare in the early 2000s with a full story for GUIs, web, and enterprise.
Culture, Elitism, and Onboarding
- Thread strongly agrees that BOFH/RTFM, “wizards/monks”, and code‑golf one‑upmanship made Perl off‑putting to newcomers.
- Some defend this as playful, documenting‑driven, and no worse than other 90s communities; others recount very real hostility on IRC/mailing lists that pushed them away.
- Python’s culture is repeatedly characterized as more patient, beginner‑friendly, and “normal”, which mattered as the industry broadened beyond sysadmins and hobbyists.
Language Design: Power vs Maintainability
- Admiration for Perl’s expressiveness in text and Unix glue: regex integration, subprocess syntax, contextual shortcuts, and TIMTOWTDI.
- The same features are blamed for “write‑only” code: sigils (
$ @ %), scalar vs list context, magic globals ($_, etc.), references and OO bolted on late, and encouragement of dense one‑liners. - Consensus: great for quick scripts and one‑offs; painful for large, long‑lived, multi‑author codebases.
Perl 6/Raku and the Decline
- Many see the long, turbulent Perl 6/Raku effort as freezing Perl 5 evolution and eroding community confidence; “the wall Perl 5 would never move beyond”.
- Others argue Perl was already losing to Java, PHP, and Python before Perl 6, mainly due to lack of a clear web story, Windows/GUI support, and business backing.
Current View
- Perl is widely acknowledged as historically significant and still valued for niche scripting and build tooling.
- But for new projects and new programmers, most commenters see friendlier ecosystems and cleaner languages elsewhere.