IT Study

PHP에 대한 상반된 입장들, 그리고 Python

masoume 2016. 2. 7. 21:59

 

작년에 학원(이라 쓰고 압박감 도매업체라 읽는다-_-) 다닐때 스크립트 언어로 PHP를 배웠고 PHP를 사용해 간단한 게시판을 만들었다. 그리고 안드로이드 앱을 만들 때도 마찬가지로 PHP를 이용해 서버 페이지를 만들었다. 다른 언어는 알지도 못했으니 당연히 PHP를 쓸 수 밖에 없었고, 매 주 과제를 쳐내는데 급급했기 때문에 PHP가 어떤 언어고 어떤 장점과 단점이 있는지 들여다 볼 시간이 없었다. 아무튼 아무 생각 없이 PHP로 모든 것을 만들고 있었는데 예전 직장 동료분과 대화하다가 충격적인 소릴 들었다. 자기네 회사에서는 PHP를 엄청 욕한다고, 거의 혐오 수준으로 싫어한단 얘기를 들었다. 뜨든!! 왜지? 왜 때문이지? 학원은 나에게 쓰레기 언어를 가르친 건가? 대체 왜 이 언어를 가르친 거지? 학원비!! 학원비가 날아가고 있어!!! 잠시 혼돈과 패닉 상태에 빠져 있다가 그분께 다시 여쭈었다. 그렇다면 그 회사 개발자분들은 PHP말고 뭘 쓰는지. 그리고 돌아온 답변은 파이썬. 

 

그날 이후로 PHP를 사용하지 않게 되었다. 산삼인줄 알고 고이 모셔둔 것이 훗날 더덕으로 밝혀진 기분이랄까. 오래된 더덕도 보약이라고는 합디다만. 학원을 관둬서 PHP를 쓸 일이 없어진 거지만, PHP를 쓰기 때문에 학원을 관뒀다. 항상 자기네들이 최고라고 입방정을 떨던 강사들이 의심되기 시작하면서, 이 강사들이 아닌 다들 개발자들의 얘기를 듣고 싶어졌다. 그리고 파이썬과 장고에 대한 궁금증이 커져만 가서 현재 이렇게 패캠의 웹프로그래밍 스쿨 과정을 밟고 있네요. 허허헛하핫.

 

아직은 파이썬 언어를 익히느라 정신없고, 장고도 아주 기초적인 부분만 다뤄서 PHP랑 뭐가 어떻게 다르고, 어떠한 면 때문에 PHP 대신 파이썬을 사용하는지 잘 모르겠다. 대신 재미있는 글들을 찾았다. 

 

이제와서 PHP로 개발해야 하는 이유 

html파일에 간단히 코드를 넣는 것만으로누구나 쉽게 동적인 웹사이트를 만들수 있게 되었습니다. 게다가 당시에는 CGI방식보다 월등하게 속도가 빨랐습니다. fastcgi를 설정해야 PHP와 비슷한 속도가 났는데, fastcgi는 문법이 달라서 개발이 상대적으로 까다로웠습니다.  지금에서야 fastcgi가 일반화되고, PHP는 성능문제로 까이고 있지만 그 당시에는 가히 혁명적이였죠. 폭발적인 PHP의 인기덕분에 CGI 방식에서 template을 이용한 방식으로 웹트렌드가 크게 바뀌게 되고 asp나 jsp같은 아류작이 나오는 계기가 됩니다. 사용하기 쉬운 템플릿이 웹개발의 필수라는 것을 모두가 알게 된 것이죠.

 

 

이런 보수성은 PHP라는 언어 자체의 특징이기도 합니다. PHP 5.2의 코드는 별다른 수정없이 7.0에서도 잘 돌아가니까요. 어떠한 언어의 웹프레임웍도 이렇게까지 다양한 버전을 서포트하는 경우는 없습니다. 예를들어 Java는 버전별로 클래스의 포맷이 달라서 Java8로 만든 라이브러리가 Java10에서 실행된다는 보장이 전혀 없습니다. PHP 보수성은 웹개발사에서 매우 예외적이고 PHP의 확고한 철학이 있기에 가능한 일입니다.

 

 

까임 당하는 PHP에 대한 안쓰러움과 그의 태생을 짚어주는 글인지라 재미있게 읽었다. 함수와 html과 javascript와 ajax가 마구 뒤섞여있는 페이지를 작성하면서 대체 이 잡다한 작성법은 무엇이란 말인가!! 더러워!!! 라고 생각한 적이 있었는데, 그 이유를 이 글에서 찾은 것 같다.

그리고 댓글 부분의 논쟁도 재미있다. 여기서도 빠지지 않고 파이썬이 등장하는데 PHP: 잘못된 디자인의 프랙탈이란 글을 쓴 사람은 굉장한 파이썬 사랑꾼이자 PHP 사냥꾼이기도 하다. 길어서 다 읽어보진 못했는데 다음에 시간 나면 읽고서 이 글에다 더 추가하는 걸로!