오늘부터 몇편에 이어서 펄에 대해서 연재를 해보도록 하겟습니다. 저도 초보이기에 저 스스로 공부도 할겸 많은 분들께 펄도 알릴겸 연재를 시작합니다. 프로그래밍을 모르는 일반인도 이 글을 읽고 재미로 자신이 필요한 것들을 만들어 사용할 수 있기를 바라며 완전초보라는 관점에서 글을 연재해 나가도록 하겟습니다.
오늘은 그 첫번째 시간으로 "대체 Perl이 뭐야?" "Perl 넌 누구냐?"라는 주제로 글을 써보겠습니다.
그 전에 먼저 프로그래밍 언어에 대해 정의를 내리고 가야 겟네요. 위키디피아에서는 다음과 같이 정의를 내립니다.
프로그래밍 언어는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어이다. 고급 언어일 수록 사람이 사용하는 언어와 가깝다. 일반적으로 말할 때에는 프로그래밍 언어를 지원하는 소프트웨어, 곧 소프트웨어를 작성하기 위한 소프트웨어를 가리키는 때가 많고, 이때에는 프로그래밍 언어와 소프트웨어를 구분하지 않고 소프트웨어를 프로그래밍 언어로 보기도 한다.
예를 들면, 델파이는 프로그래밍 언어인 오브젝트 파스칼을 지원하는 소프트웨어를 작성하기 위한 소프트웨어일 뿐이지만, 델파이를 별개의 프로그래밍 언어로 보는 때가 더 많다. by 위키디피아
간단히 말하자면 우리가 미국인한테 무언가 부탁하려면 영어로 말해야 하듯이 컴퓨터한테 무언가를 부탁하려면 프로그래밍언어로 말을 해야 하는 것이죠. 만약 [야 "Hello World"라고 말해봐]라고 하게 될 경우에는 [print "hello World"]라고 컴퓨터에게 말해 줘야 한는 것이죠. 그런데 인간이 다양한 언어로 말을 하듯이 컴퓨터 역시 다양한 언어로 말을 할 수가 있습니다. 또한 언어마다 다양한 특징이 있구요 ^^
지금 우리가 알아가고 있는 Perl도 역시 프로그래밍 언어의 한 종류입니다. 먼저 위키디피아에 있는 글을 한번 보겟습니다.
펄(Perl)은 래리 월이 만든 인터프리터 방식의 프로그래밍 언어 혹은 그 인터프리터 소프트웨어를 가리킨다. 펄 언어는 실용성을 모토로 하고 있어 C나 sed, AWK, 셸 스크립트 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입하여 사용하고 있다. 언어 자체의 자유도가 높고 표현력이 뛰어나 CGI나 웹프로그래밍, 시스템 관리, 그 밖의 간단한 작업을 하는 스크립트를 작성하는 데에 넓게 이용되고 있으며, 또한 생물정보학 쪽에서도 광범위하게 이용되고 있다.
인터프리터 펄은 자유 소프트웨어이며, 아티스틱 라이선스 또는 GPL으로 배포되고 있어 사용자는 둘 가운데 하나의 라이선스를 골라 쓸 수 있다. 유닉스를 비롯해 다양한 플랫폼에서 동작한다.
또한 "TIMTOWTDI"이라는 철학 위에 펄은 만들어졌는데 (there's more than one way to do it - 문제를 해결하는 방법은 단 한 가지가 아니다) 그래서 한가지 문제를 코딩하기 위해서 정말 다양한 관점에서 접근할 수 있도록 만들어져 있죠. 이것때문에 코드가 지저분해지기도 하지만 자유롭게 자기가 원하는 스타일대로 코딩을 할 수 있다는 매력이 있죠. 제가 가장 펄에서 매력적으로 생각을 하고 있는 부분이 이 부분입니다. ^^
펄의 어원은 다음과 같습니다 . &^^&
펄(Perl)은 당초 성서 〈마태오 복음서〉 13장 46절에 나오는 “고가의 진주”를 따서 진주를 뜻하는 “pearl”이라고 이름이 붙여졌다. 래리 월은 긍정적인 의미를 가지는 짧은 이름을 선택하고 싶었고, 서너 글자로 이루어진 낱말을 사전에서 모두 찾아 보았지만 눈에 탁 띄는 것이 없었다고 한다. 그는 아내 글로리아의 이름을 따오는 것도 고려해 봤다고 한다.
펄이 정식 공개되기 앞서, 벌써 “pearl”이란 이름의 프로그래밍 언어가 있다는 걸 알게 돼서 철자를 살짝 바꾸어 “Perl”이라고 했다. 이처럼 “Perl”은 원래 약어가 아니지만, 나중에 이름에 몇 가지 의미가 붙여졌다. 정식 메뉴얼에서는 “Practical Extraction and Report Language”(실용적인 데이터 취득 및 리포트 작성 언어)란 의미라고 기술되어 있고, 읽기 어려운 것을 풍자하여 “Pathologically Eclectic Rubbish Lister”(병적 절충주의 잡동사니 출력장치)라고 하는 조금 짓궂은 의미도 붙이곤 한다. “Perl”이란 이름을 글로 쓸 때 약간의 주의가 필요하다. 펄 언어를 나타낼 때는 “Perl”처럼 첫 글자를 대문자로 해 고유 명사인 것을 확실히 한다. 이에 대해 현재 배포되고 있는 펄 언어의 유일한 인터프리터는 “perl”로 쓴다. 일반적으로 “perl만이 Perl을 해석할 수 있다”라는 말이 성립한다.
마지막으로 펄의 가장 강력한 장점중 하나인 CPAN에 대해서 알아볼까요 ^^
CPAN은 일종의 만물상이라고 볼 수 있습니다. 만들고 싶은것이 있다면 직접 짜보기 전에 CPAN을 뒤져 보시면 이미 많은 것들이 작성되어 있으니까요 ^^ 하다 못해 오목에 대한 모듈도 있더군요. 이미 많은 것들이 짜여져 있어서 자신이 짜고자 하는 프로그램에 가져다 붙이고 필요한 부분만 직접 짜시면 됩니다.
오늘은 펄에 대해서 설명드렸습니다. 사실 저도 펄의 초보라 공부할 겸해서 정리해나가는 중입니다.
다음에는 윈도우 사용자를 위한 펄의 설치와 기초적인 사용법에 대해서 알아보겟습니다.
이런 연재라고 해놓고서는 2편이 없었네요. 13년이 된 지금에서야 2편을 쓰기도 ㅠㅠ
고민해 보고 글을 쓸지 결정해 보겠습니다.
군 전역하고 블로그를 둘러 보던중 검색엔진으로 이글을 들어온 로그가 있어 지금에서야 기억해 냈군요 ㅠㅠ - 2013.5.15 합정역에서