아마 웹 개발을 한 번이라도 해본 경험이 있는 분들에게, PHP는 한 번 이상은 경험해 본 언어이지 않을까?

사실 난 PHP 를 그리 좋아하지 않았다. 대학원 들어오자마자 PHP 관련 프로젝트를 1년 넘게 했었는데, 참 별로라는 생각을 많이 했다. 가장 큰 이유로 내 프로그래밍 경험이 부족한 탓도 있고(넓게 볼 수 없었던 한계), 코드 자체도 깔끔하지 않았다. 많은 practices 들이 있었던 것은 알고 있었지만, 대개 PHP는 오랜 기간 존재해와서 많은 코드 베이스가 존재하기에 직접 코드를 작성하기보다 기존의 코드를 수정하는 방향으로 개발을 진행하기 마련인데, 경험이 적었던 과거에는 그렇게 개발하는 방식이 개념 자체를 이해하는 데에는 좋은 방법이 아니었기 때문이다.

요즈음 Node.js을 보며 더욱 프로그램에 대한 이해도가 깊어지고, nginxNode.js 연동을 하다보니 기존에 Apache에 올려만 놓으면 실행이 되던 PHP 코드가 nginx와 연동될 때에는 php-fpm 모듈을 통해서 CGI 방식으로 동작하는 방법에 대해 알게 되니 더욱 PHP 자체에 대한 이해도가 깊어지게 되었다. 그러다 보니 PHP를 다시 보게 되었다.

때 마침 PHP 7도 막 PHP 세상을 뒤덮고 있는 상황에서, PHP는 새로운 시대에 뒤쳐지지 않는 괜찮은 선택이라는 생각이 든다. 특히나 워낙 커뮤니티가 많고, 코드 베이스가 많은데다가 언어 자체도 굉장히 보수적이기 때문에 버전에 대한 호환성도 좋기 때문이다. Node.js는 … 변화에 민감해야 한다. 벌써 버전 7이 나올 정도이니;;

인터페이스 없는 REST API endpoint Server 라던지, frequent File I/O operation, lightweight computation 등의 처리 는 Node.js가 꽤나 괜찮은 선택지이다. 대다수의 커뮤니티도 그렇게 이야기 하고 있고, 내가 느끼는 것도 그렇다. 하지만 heavy computation의 경우는 다른 언어를 고려해 보는 게 좋다. 내 생각으로는 PHP도 그 답 중 하나인듯.

Laravel 이나 WordPress, 두 프레임워크는 워낙 커뮤니티도 크고 지향하고 있는 바도 훌륭하기 때문에 잘 익혀놓는 것이 좋을 듯 하다. 좀 더 유연하게, 강력하게, 개발자 중심으로 가려면 Laravel을, 아니면 WordPress가 괜찮은 것 같다. 개인적으로는 Laravel이 더 좋지만 WordPress도 굉장히 커뮤니티가 크기 때문에 무시할 수가 없다.