Perl 문화의 특성과 한계
- “BOFH” 문화: Perl은 UNIX 시스템 관리자 뿌리에서 파생된 “BOFH(Bastard Operator From Hell)” 문화의 영향을 강하게 받았습니다. 이는 배타적이고 부족주의적인 사회적 규범을 암묵적으로 형성했으며, 진입 장벽을 높이고 보수적인 가치를 중시했습니다.
- “TIMTOWTDI”의 역설: “There Is More Than One Way To Do It”이라는 원칙은 극단적인 유연성을 제공했지만, 역설적으로 언어 자체의 변화 필요성을 느끼지 못하게 하여 핵심 언어의 보수성을 강화했습니다. 혁신은 CPAN 모듈을 통해 이루어졌으나, 이는 의존성 지옥을 초래하는 근본적인 문제로 이어졌습니다.
- Perl 6 분열: Perl 6는 커뮤니티의 지루함을 해소하고 혁신을 추구하려 했으나, Perl 5와 Perl 6 간의 심각한 분열을 야기했습니다. Perl 5는 실용성과 안정성을, Perl 6는 장기적인 혁신을 지향하며 각자의 길을 걸었고, 이는 Perl의 웹 개발 시장 점유율 하락에 결정적인 영향을 미쳤습니다.
대안 언어의 부상
- Ruby on Rails: Ruby는 UNIX 시스템 관리 문화가 아닌 프로그래머를 위한 언어로, 친화성과 개발자 편의성을 핵심 가치로 삼았습니다. Rails 프레임워크는 “의견이 있는(opinionated)” 접근 방식으로 웹 개발의 표준을 제시하며 신규 개발자들에게 매력적인 대안으로 급부상했습니다.
- PHP: 극도로 낮은 진입 장벽과 공유 서버 호스팅에 적합한 아키텍처로 폭발적인 성장을 이루었습니다. WordPress와 Facebook과 같은 대규모 서비스의 기반이 되며 광범위한 사용자층을 확보했습니다.
- Python: 학문적 배경에서 시작된 Python은 “배터리 포함(batteries included)”이라는 철학 아래 꾸준히 점진적으로 발전했습니다. 명확한 설계 원칙과 광범위한 표준 라이브러리를 통해 Google과 같은 기업의 표준 언어로 채택되며 안정적인 성장을 이어갔습니다.
Perl의 유산과 현재
- Perl은 비록 웹 개발의 중심에서 멀어졌지만, 정규 표현식, CPAN, 자동화된 테스트(TAP), 쉘 스크립팅과 시스템 프로그래밍의 통합, 통합 문서화(POD) 등 현대 프로그래밍 언어에 지대한 영향을 미쳤습니다.
- Perl은 여전히 많은 시스템에서 사용되며, POSIX 기반 스크립팅 언어로서의 역할을 수행하고 있습니다. 저자는 Perl이 사라지지는 않겠지만, 현재는 레거시 역할에 머무르며 그 영향력이 감소하고 있다고 평가합니다.