34번째 생일 맞은 프로그래밍언어 '펄'의 모든 것
오영주
ohyj87@naver.com | 2022-01-19 21:38:59
프로그래밍 언어인 펄(Perl)이 최근 34주년을 맞으면서 개발자들의 이목을 집중시키고 있다. 펄은 본디 텍스트 조작을 위해 설계된 다목적 프로그래밍 언어이지만, 현재 시스템 관리, 네트워크 프로그래밍, 웹 개발, GUI 구축 등 다양한 활동에 사용된다. 또한 안전한 전자 상거래를 가능하게 하는 암호화된 웹 데이터를 처리할 수 있다.
펄은 1987년 래리 월(Larry Wall)에 의해 처음 탄생했으며, 이후 많은 변화를 겪으며 지금에 이르렀다. 펄6은 2000년부터 펄을 다시 설계하면서 개발되기 시작했고, 펄5와는 독립적으로 개발돼 서로 영향을 미쳤다.
펄은 인기가 많은 언어라고 할 수는 없지만, 매우 표현 능력이 좋은 프로그래밍 언어이기 때문에 주어진 알고리즘의 소스 코드는 짧으면서도 매우 압축적으로 작성할 수 있다. 특히 뛰어난 하위 호환성이 특징이다.
텍스트 조작(Java에서 XML 파일 구문 분석 시도)과 같은 작업의 경우 XML, 유니코드, 웹 서비스와 상호 작용하는 ETL, 반응 데이터베이스 CDC 의 기반으로도 펄을 사용할 수 있다. 메시지 대기열을 통해 Main/GUI 스레드와 통신하는 작업자 스레드를 사용하여 RAR 파일을 일괄적으로 unrar하는 Win32 앱을 구축했으며, Win32 커널 이벤트를 활용하여 작업자를 일시 중지했다가 다시 시작할 수도 있다.
펄은 오늘날 주로 무엇에 사용될까? 소프트웨어 개발자인 에밀 퍼린스키는 "OS 커널이나 장치 드라이버를 작성하는 것을 제외하고 거의 대부분에서 사용한다"며 "2012년부터 웹 사이트, 서버 모니터링, 비즈니스 보고서 생성, 그래픽 생성 및 자동화된 이미지 처리, 문서 생성 및 관리, 인증 및 권한 부여, 데이터 처리 등을 위해 펄5를 사용했다"고 말했다.
다만, 이러한 장점과 기능적 개선에도 불구하고 개발자들은 현재 펄보다 파이썬, PHP 등의 스크립팅 언어에 관심을 더 기울이는 것이 현실이다. 이와 관련, 소프트웨어 엔지니어인 레이니어 포스트는 “펄은 구문적으로나 의미적으로 매우 자유로우며, 스크립팅에서도 매우 우수하지만 대규모 프로그래밍에는 덜 적합하다”고 지적했다.
그렇다면, 펄은 앞으로 배울만한 가치가 있는 언어일까? 관련 업종에 종사하고 있는 이안브릴리는 "펄을 왜 배우고 싶은지에 따라 답은 달라지겠지만, 아직도 펄을 사용하는 곳이 꽤 있다"고 언급했다. 그러나 "새로운 최첨단 언어를 배우길 원한다면, 펄은 아닐 것이다"라고 말했다.
소프트웨어 엔지니어이자 공학박사인 아담 러셀은 좀더 긍정적인 답변을 내놓았다. 그는 "펄을 배우면, 유닉스 명령줄 환경에서 완전한 숙달이 가능할 수 있다"면서 "펄은 매일 사용할 수 있고 평균 이상의 우수한 기술자로 당신의 가치를 끌어올릴 수 있는 실용적인 기술이다"라고 말했다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]