개발자와 언어
지난 번에 친구와 'PHP가 과연 나쁜 언어인가'에 대해 여러 차례에 걸쳐서 토론한 적이 있다. 그 친구는 이 내용에 대해 장문의 글로 정리를 하기도 했다. (Is PHP A Bad Programming Language? [1](http://lastmind.net/2005/02/is_php_a_bad_programming_language_part_1.html) [2](http://lastmind.net/2005/05/is_php_a_bad_programming_language_part_2.html) [3](http://lastmind.net/2005/05/is_php_a_bad_programming_language_part_3.html) )
그 때 내가 내린 결론은 '언어는 도구일 뿐'이며, 익숙한 몇 가지 언어와 다른 접근을 했다는 이유로 PHP를 나쁜 언어라고 단정지을 수는 없다는 것이었다. '명필은 붓을 가리지 않는다.'라는 말을 떠올리면서, 개발자는 언어를 가리지 말고, 주어진 상황에 가장 적합한 언어를 선택해서 사용해야 한다고 생각했다.
그 때 마침, PHP를 주로 쓰는 개발팀에서 하나의 사이트를 처음부터 만드는 일에 참여하게 되었다. 당시 팀은 PHP와 Python을 함께 사용하고 있었는데, 나는 하나의 팀 내에서 여러 가지의 언어를 사용하는 것은 중복의 문제가 있고 비용을 증가시킨다는 논리로, 모든 개발을 PHP로 할 것을 주장했다.
그리고 지난 몇 달간 PHP를 다양하게 활용해보았다. 배치 작업을 수행하는 독립 실행 프로그램을 만들기도 하고, 간단한 유지 보수용 스크립트를 작성하기도 하고, 기존에 이뤄지던 웹 개발은 별도의 MVC Framework을 자체 제작해서 사용했다. 이 프레임워크에 대해서도 정리해야 할 부분이 많다. PhpOnRails를 꿈꾸며 접근했는데, 쉽지 않은 부분이 많았다.
그 사이에 프로그래밍 언어에 대한 내 생각은 조금 변했다. 언어가 개발자의 사고에 저해되는 요소를 가지면 안 된다. 나의 경험으로는 PHP로 개발할 때 나는 즐겁지 않았다. 있어야 할 곳에 뭔가 없는 느낌이었다. 뭔가 아쉽고 부족한 느낌이 머릿속을 떠나지 않았다. 나중에 defect가 될 확률이 높은 부분이 자꾸 눈에 보였다. 정성을 다해 만든 코드는 전혀 예쁘지 않았다.
이런 내용은 물론 PHP 언어의 단점이 아니라 내가 만든 PHP의 모습(느낌)일 것이다. 하지만 언어는 개발자가 자신의 사고를 표출하는 수단이므로, 개발자가 느끼는 ‘느낌’도 중요한 부분이라고 생각한다. 주관적인 평가이므로 PHP가 나랑 맞지 않는 것인지, 아니면 일반화할 수 있는 부분이 있는지는 계속 고민해볼 과제이다.
앞으로는 언어 선택에 더 유연한 자세가 필요하겠다. 프로젝트의 성패에 개발 언어도 일정 부분 기여할 것이라는 것이 분명한 사실인 것 같다.
최근에 나랑 [비슷한 생각](http://blog.anderstoxboe.com/archives/language-matters/)을 하는 사람이 있어서 인용해본다. (약간 극단적인 결론이기는 하다.)
>Things that are possible in Ruby are just not possible in Java – and certainly not in PHP. My PHP on Rails can attest to that!
History
Last edited on 09/04/2007 11:27 by deepblue
Comments (0)