웹의, 웹에 의한, 웹만을 위한 프로그래밍 언어
PHP는 Php Hypertext Preprocessor의 약자로, 서버 측에서 실행되는 프로그래밍 언어입니다. 1994년에 라스무스 러도프(Rasmus Lerdorf)라는 사람이 고안했는데요. 처음 개발되었을 때, PHP는 Personal Home Page Tools의 약자였다고 합니다. 이름에서도 알 수 있듯이, 개인이 홈페이지를 좀 더 쉽게 만들기 위해 개발한 실용적이고 가벼운 툴이었다고 하네요.
PHP에 대한 한 마디를 보면 아시겠지만, PHP는 웹 개발에 특화된 언어입니다. 또한 지금도 웹 개발을 위해서 발전하고 있지요. C언어 기반이기 때문에 C언어에 익숙한 개발자들이 쉽게 접근할 수 있습니다.
TIOBE에서 이번 3월에 발표한 프로그래밍 언어 순위입니다.
PHP는 6위 자리를 차지하고 있네요. 이처럼 랭킹 TOP10 안에 들어갈 정도로 많이 쓰이고 있는 언어입니다.
먼저 PHP는 오픈 소스이기 때문에 무료입니다. 여러분이 원한다면 따로 금액을 지불하지 않아도 쉽게 다운받아서 이용할 수가 있지요. PHP와 자주 비교되는 언어 중에 ‘ASP’가 있는데요. 윈도우 운영체제에서만 이용 가능한 ASP와는 달리, PHP는 윈도우나 리눅스 계열의 대부분의 운영체제에서 이용할 수 있다는 장점이 있습니다. 또한 빠른 생산성을 자랑합니다. 개발자의 입장에서 배우기 쉽고 간단하기 때문에 개발 기간이 적게 소요되는 것이지요. 또한 운영 비용도 저렴합니다. 그렇기 때문에 간단한 웹사이트를 만들 때, 최대의 효율을 발휘할 수 있습니다. 또한 쉽게 플러그인이나 기능을 붙일 수가 있지요. 블로그나 회사 소개 사이트, 간단한 쇼핑몰 등은 PHP로 만들면 효율적으로 만들 수 있습니다.
하지만, 만들고자 하는 웹사이트의 규모가 커지면 어떨까요?
PHP 점유율의 변화 추이에 관한 그래프입니다. PHP를 나타내는 것은 분홍색 그래프인데요. 2004년에서 2006년까지 랭킹 3, 4위를 다투던 PHP가 현재는 점유율이 많이 떨어진 것을 확인할 수 있습니다. 그 이유가 무엇일까요?
PHP는 ‘웹 개발’에 특화되어 있는 언어라고 먼저 소개해드렸지요. 문제점은 오직 ‘웹 개발’을 위해서만 쓸 수 있다는 점입니다. 또한 초반에 이 언어가 만들어진 목적 자체가 개인이 홈페이지를 좀 더 쉽게 만들기 위해 개발된 언어이기 때문에, 간단한 사이트 제작에 최적화되어 있습니다. 따라서 방대한 웹사이트를 만들 경우, 개발자의 입장에서 체계적이지 않기 때문에 구조 잡기가 매우 힘들다고 합니다. 그렇기 때문에 당연히 웹사이트 구축하고 난 후에 관리가 힘들어질 수 밖에 없겠지요. 따라서 복잡한 사이트를 만드는 데에는 효율적이지 않습니다. 예를 들면, 옥션과 같은 큰 규모의 전자 상거래 사이트를 PHP로 만들려면, 수 천명의 개발자가 필요하고, 그 수 천명의 개발자의 뇌가 모두 동기화되어야 한다고 합니다.
이처럼 유저 형태가 다양하다거나 복잡한 기능을 많이 갖춰야 하는 사이트를 구축하고자 할 때에는 PHP가 적합하지 않은 것이지요. 또한 다른 프로그래머들이 쉽게 접근할 수 있기 때문에 보안 문제가 발생할 수 있는 것도 PHP의 한계점 중에 하나입니다.
워드프레스(WordPress)나 줌라(Joomla), 드루팔(Drupal)과 같은 설치형 웹 애플리케이션은 PHP를 기반으로 만들어진 것이 대부분입니다. 위시켓 블로그 역시 워드프레스를 이용하여 만들었기 때문에 PHP 기반의 사이트이지요. 또한 ‘위키피디아’ 역시 PHP로 만들어진 사이트입니다.
여러분이 많이 이용하는 페이스북도 PHP를 기반으로 만들어졌는데요. 좀 전에 ‘유저 형태가 다양하고 복잡한 사이트는 PHP가 효율적이지 않다’라고 설명 드린 내용 기억하시나요? 페이스북이 초반에는 하버드 학생들을 대상으로 만들어진 SNS였기 때문에 이용자가 그리 많지 않았습니다. 또한 PHP는 개발자 입장에서 배우기 쉽고 생산성 또한 뛰어나기 때문에 손 쉽게 PHP 개발자들을 구할 수 있었지요.
하지만 페이스북의 규모가 점점 커지면서 PHP만으로 페이스북의 서버를 관리하는 데에 한계에 다다르게 되었습니다. 따라서 PHP의 한계점을 극복하고자, 2014년 페이스북 자사에서 PHP의 한계점을 보완하는 ‘Hack’이라는 언어를 개발하여 이용 중이라고 합니다. PHP를 버리지 않고, 단점을 보완하는 방향으로 개발을 한 것이지요.
오늘은 PHP에 대해서 간단하게 훑어봤습니다.
어떠셨나요? 여러분의 의견이 궁금하네요. 혹시 궁금한 사항이나 질문이 있으시다면, 언제든지 댓글로 남겨주세요! 친절하게 답변해드리도록 하겠습니다. 여러분이 프로젝트를 진행하면서 개발자 파트너와 원활하게 의사소통 할 수 있도록! 앞으로도 유용한 개발 토막 상식으로 찾아뵙겠습니다.