Éramos magos – um prefácio a Learning Perl (1993)
Perl como “mágico” e expressivo
- Muitos se lembram do Perl como especialmente adequado à programação em “fluxo de consciência”: as ideias fluem diretamente para o código com pouca cerimônia.
- Sua sintaxe flexível, sigilos e expressões regulares poderosas faziam com que parecesse uma extensão da mente do programador, especialmente para texto e código de cola.
- Alguns ligam isso às suas raízes em linguística prática e à tolerância por contexto e ambiguidade, ao contrário de linguagens mais formalmente projetadas.
Produtividade vs. Manutenibilidade
- Várias anedotas descrevem projetos Java pesados e fracassados sendo substituídos em semanas por pequenas equipes em Perl ou até por um único desenvolvedor.
- Defensores argumentam que código ruim é um problema de pessoas, não de linguagem, e que Perl de alta qualidade e fácil de manter é possível com disciplina.
- Críticos contrapõem que a expressividade da linguagem e seus muitos pontos frágeis incentivam ativamente “cowboy coding” e código que só o autor entende, especialmente em sistemas grandes e de longa duração.
Design da linguagem e segurança
- Fãs destacam suporte precoce e forte a testes unitários, modos strict, modos de taint/safe e compatibilidade retroativa de longo prazo.
- Outros criticam OO improvisado, tratamento de erros desajeitado, tratamento de sinais, falta de um grande REPL e o inchaço conceitual.
CPAN, ecossistema e proliferação de dependências
- CPAN é elogiado como um ecossistema de pacotes nativo da internet, precoce e exemplar, com boa ferramenta, documentação e testes.
- Há preocupação de que “there is more than one way to do it” leve a muitos módulos sobrepostos (múltiplos sistemas de OO, bibliotecas JSON, clientes HTTP) coexistindo em um único runtime e complicando dependências.
Perl vs. Python e outros
- Alguns veem Perl e Python como muito semelhantes, mas otimizados de maneiras diferentes: Perl tenta fazer o computador se adaptar ao humano, Python o contrário.
- O Perl é visto como melhor para one-liners concisos e processamento ad hoc de streams; o Python, como mais claro para sistemas maiores e equipes.
- Entre os motivos citados para o declínio do Perl estão uma grande empresa da web padronizando em Python, a stack científica/de dados, e a confusão e o atraso em torno de Perl 6 / Raku.
Nicho atual, ubiquidade e legado
- O Perl continua amplamente instalado em sistemas do tipo Unix e ainda é favorecido para scripting multiplataforma em que sed/awk ou shell diferem.
- Vários comentaristas ainda usam Perl regularmente para scripts de pequeno a médio porte, mas veem poucas oportunidades greenfield.
- Livros e revistas sobre Perl são lembrados como invulgarmente divertidos, opinativos e influentes nas carreiras de muitos programadores.