Perl을 죽인 것은 무엇일까?

ko생성일: 2025. 11. 23.

Perl이 실제로는 여전히 사용되고 있음에도 불구하고, 왜 새로운 세대의 개발자들 사이에서 인기가 줄어들었는지에 대한 개인적인 분석과 가설

Perl을 죽인 것은 무엇일까?

속임수 같은 질문이다! Perl은 죽지 않았다. 그게 무슨 뜻인지 먼저 보여 준 다음, 그래도 내가 생각하는 ‘Perl을 죽인 것’을 이야기해 보겠다.

Image 1: cpanreleasers.png

Neil Bowers가 정리한 2023년 cpan 보고서는 Perl의 인기가 닷컴 버블 시기와 비슷한 수준이라는 점을 꽤 분명하게 보여 준다.1
1 물론 cpan 사용량이 완벽한 대리 지표는 아니라는 것을 알고 있다. 나처럼 Perl을 써도 외부 라이브러리와 상호작용할 필요가 없는 용도로만 쓰는 사람들이 아마 꽤 있을 것이다. 이런 사용은 당연히 cpan 기록에는 잡히지 않는다. 그래도 내가 가진 것 중에서는 가장 좋은 지표다. 오히려, 이 그래프만 보면 지금이 더 높을 수도 있다. 2022년 이후로 인기는 약간이나마 다시 늘었고, 내년의 cpan 보고서에서 그게 드러날 것이다. (Neil 말로는 1월에 새 보고서를 낸다고 하니, 최신 소식이 궁금하다면 그의 블로그를 팔로우하라.)

하지만 동시에, 신규 유입 인구가 Perl 사용자 중에서 차지하는 비율은 줄어들고 있고, 이런 추세는 2011년부터 계속되고 있다는 것도 분명하다. 왜 이런 걸까?

일부 사람들은 Raku(이전 이름은 “Perl 6”)가 Perl의 동력을 빨아들였다고 생각하는 것 같지만, 나는 그렇게 보지 않는다. 그 시절에 내가 이야기 나눴던 사람들은 모두 Perl이 어디 가는 게 아니라는 걸 알고 있었다. 인류는 성장하는 인터넷 인프라의 너무 많은 부분을 Perl에 묶어 두었다. 설령 Raku가 크게 성공하더라도, Perl은 앞으로도 수년간 계속 유지·보수해야 했다. Perl로 신규 프로젝트를 시작한다고 해서, 그게 곧바로 시대에 뒤처질 위험에 처한다는 일은 결코 없었다.

게다가 Raku가 처음 발표된 것은 2000년이고, 여러 구현체를 둘러싼 큰 활동의 물결은 그 뒤 10년이 끝날 무렵에 있었던 것으로 보인다. 그 기간 동안 Perl은 그래프에서 보이듯 빠르게 성장했다.

나는 여전히 Perl이 왜 인기에서 밀려났는지 이해하기 어렵다. 내가 Perl에 대해 어떻게 생각하는지를 알고 있다면, 이게 이해가 갈 것이다. 그래도 내게 설득력 있게 들리는 이유 두 가지를 들어 본 적이 있다.

  1. 1990년대와 2000년대 초 유닉스 계열 시스템에서 자란 사람들은 쉘, C, awk, sed, Vim 등을 알고 있었다. 이들에게 Perl은 이미 하고 있던 일을 자연스럽게 확장한 도구였다. 그러다 2000년대에 이르면, … 글쎄, Microsoft 시스템, Visual Basic, Java 같은 것으로 자란 새로운 세대의 프로그래머들이 등장했다. 이들은 두 번째 언어로 Perl보다는 Python 같은 것에 더 끌렸고, 그 언어들이 충분히 인기를 얻자 그다음 세대에게는 곧 첫 번째 언어가 되었다.
  2. 사람들이 Perl을 배우던 시절에는, 프로그래밍 언어용 개발 도구를 아무 생각 없이 온라인에서 내려받는 일이 흔하지 않았다. 의존성을 알아서 쫓아가 설치해 주는 바이너리 패키지 매니저란 것도, 아마 2000년대 초나 되어서야 등장했을 것이다. 그리고 그때도 패키지 수가 지금처럼 많지 않았다. 그래서, 가령 1990년대에 어떤 사람에게 Oberon이나 Eiffel이 더 잘 맞는 언어였더라도, 결국은 Perl을 택했을 수 있다. 그게 그냥 눈앞에 있었던 것이기 때문이다. 요즘에는 이런 문제가 예전만큼 크지 않다.2
    2 오늘날 인기 있는 여러 언어들—예를 들어 Rust, Kotlin, Elixir, TypeScript, Go 같은 것들—의 탄생 시기를 보면, 인터넷의 성장과 패키지 매니저의 강력해진 시기와 공교롭게도 겹친다는 사실을 발견하게 될 것이다.

그러니 내 가설을 간단히 요약하면 이렇다. 요즘 사람들은 Perl을 이해하는 데 선천적으로 유리한 배경을 갖고 있지 않은 데다가, 쉽게 접할 수 있는 다른 대안이 너무 많다. 썩 만족스러운 설명은 아니지만, 내가 도달할 수 있는 결론 중에서는 그나마 가장 그럴듯한 것 같다.