- Perl의 쇠퇴 원인은 기술적 한계가 아니라 보수적이고 폐쇄적인 개발 문화에 있었다는 분석
- 초기 UNIX 시스템 관리자 문화에서 비롯된 배타적 태도와 ‘전문가 중심’의 자부심이 언어 발전을 가로막음
- Perl 6의 분열은 기술적 실패보다 커뮤니티 내부의 갈등과 보수성을 드러낸 사건으로 평가됨
- 같은 시기 Ruby on Rails, PHP, Python은 개방적이고 접근성 높은 문화로 성장하며 Perl의 자리를 대체
- Perl은 여전히 POSIX 환경의 핵심 스크립트 언어로 남아 있으나, 주류 개발 언어로서의 영향력은 감소한 상태
Perl의 문화적 기원과 한계
- Perl은 UNIX 시스템 관리자 문화에서 태동, ‘RTFM’, ‘luser’ 같은 내부 농담과 폐쇄적 규범이 지배
- 이 문화는 지식 독점과 진입 장벽 유지를 미덕으로 삼았으며, 어려움 자체를 실력의 상징으로 여김
- 결과적으로 새로운 사용자나 변화에 대한 저항이 강한 집단주의적 구조 형성
- 이러한 태도는 ‘공성전식 요새 문화’ 로 비유됨
- 내부 구성원은 자신들의 기술적 난이도를 자부심으로 삼았고, 외부의 단순화 시도를 경시
- 이는 ‘자격 있는 자만이 진입할 수 있는’ 계급적 구조로 이어짐
Perl 커뮤니티의 구조와 Perl 6의 분열
- Perl은 ‘TIMTOWTDI(There Is More Than One Way To Do It) ’ 원칙을 내세워 유연성을 강조
- 그러나 이 원칙은 언어 변화에 대한 보수성을 강화, 핵심 언어는 고정되고 혁신은 CPAN 외부로 밀려남
- CPAN 중심의 확장 구조는 의존성 혼란(dependency hell) 을 초래
- Perl 6의 출현은 커뮤니티 내부 갈등의 결과이자 분열의 상징
- Perl 5는 실용성과 안정성을, Perl 6는 혁신과 이상을 추구하며 문화적 이중화 발생
- Perl 6 개발은 15년 이상 지연, ‘가장 워터폴적인 오픈소스 프로젝트’로 평가됨
- 이 시기 Perl은 새로운 개발자 유입에 비우호적이었고, 커뮤니티는 폐쇄적으로 변함
경쟁 언어들의 부상
-
Ruby는 Perl과 유사한 문법을 가지면서도 ‘프로그래머 행복’과 친절함을 핵심 가치로 삼음
- Ruby on Rails는 개발자 친화적 툴링과 일관된 구조로 폭발적 성공을 거둠
- Perl은 여러 유사 프레임워크를 만들었으나 상호 호환성과 진입 용이성 부족으로 확산 실패
-
PHP는 ‘** 사용자 중심 언어**’로, 설치와 배포가 간단해 대중적 확산에 성공
- WordPress 등 블로그 플랫폼의 기반이 되어 웹 개발자 세대의 진입 언어로 자리
-
Python은 학문적 배경에서 출발해 점진적 진화와 명확한 설계 원칙을 유지
- Google의 채택 이후 안정적 성장, ‘배터리 포함(batteries included)’ 철학으로 실용성 확보
Perl의 현재와 유산
- Perl은 여전히 대부분의 시스템에 기본 설치된 POSIX 스크립트 언어로 존재
- 수많은 레거시 시스템과 자동화 스크립트에서 여전히 사용
- 그러나 새로운 프로젝트의 기본 선택지로는 거의 사용되지 않음
- Perl이 남긴 주요 혁신
-
정규표현식 통합과 확장 문법
-
CPAN을 통한 인터넷 기반 패키지 배포 및 서명 검증
-
자동화된 테스트 하네스(TAP) 와 CI 개념의 확산
-
POSIX 기능 통합으로 셸과 시스템 프로그래밍의 경계를 허문 점
-
POD 문서 시스템을 통한 문서화 혁신
결론: 문화가 만든 성공과 쇠퇴
- Perl은 1990년대 웹 초기에 두 문화(UNIX 관리자와 웹 개발자) 를 연결하며 폭발적 성장을 이룸
- 그러나 보수적 문화와 폐쇄적 커뮤니티가 변화에 적응하지 못해 주류에서 이탈
- 그럼에도 Perl은 현대 소프트웨어 개발의 기반을 형성한 언어 중 하나로 평가
- 저자는 Perl이 사라지지 않을 것이며, POSIX가 존재하는 한 Perl도 존재할 것이라 단언
- 현재 Rust, TypeScript 등 신흥 언어들이 과거 Perl이 겪은 문화적 전환의 경로를 다시 밟고 있음