본문 바로가기
프로그래밍 놀이터/Web

php 를 쓰지 말자?!

by 돼지왕 왕돼지 2013. 12. 4.
반응형


 php 를 쓰지 말자?!  

php 를 쓰지 말자?!


출처 : http://ko.blog.influx.kr/2012/04/php.html



한마디로..


PHP 는 문제점 투성이, 세상에는 PHP 보다 훨씬 좋은 언어가 많다.

PHP를 쓸 수 밖에 없거나 유지보수가 필요 없는 작은 규모의 프로젝트가 아니라면 PHP 를 쓰지 말자.




서문.


PHP 는 언어, 프레임워크, 생태계 모두 개판.




입장


언어는 예측 가능해야 한다.

언어는 일관성이 있어야 한다.

언어는 간결해야 한다.

언어는 신뢰성이 있어야 한다.

언어는 디버깅 가능해야 한다.


PHP 는 놀라움으로 가득하다. : mysql_real_escape_string, E_ACTUALLY_ALL

PHP 는 일관적이지 못하다. : strpos, str_rot13

PHP는 보일러플레이트가 필요하다. : C API 호출시 오류 체크, ===

PHP는 신뢰할 수 없다. : ==, for( $foo as &$bar )

PHP는 불투명하다. : 스택 추적 불가, 복잡한 에러 보고




노 코멘트


좋은 목수는 연장 탓을 하지 않는다?

 좋은 연장은 더 높은 생산성을 야기하며, 진입장벽도 낮다.


수없이 많은 예외나 이해할 수 없는 동작을 기억하는 것은 개발자의 책임?

 시스템에서 필연적인 것이긴 하지만, 시스템의 바보같음을 포용할 수 있는 데는 한계가 있다.


그게 C API 에서 동작하는 방식?

 고작 C API 의 래퍼나 헬퍼 함수정도라면 고수준 언어라고 할 수 없다.


니가 이상한 짓을 하기 때문에 생기는 일?

 스펙도 없고, 정의되지 않은 동작이 존재할 이유가 없다.


페이스북이나 위키백과가 PHP로 만들어졌다?

 그 녀석들이 만들었다고 다 최고가 아니다. 더 좋은 녀석으로 만들었으면 더 높은 생산성을 냈을 수 있고,

 실제로 지금은 페이스북의 경우 PHP 는 일부만 사용하고 있다.







PHP 정체가 뭐냐 그럼?


* PHP 는 원래 대놓고 프로그래머가 아닌 사람들을 위해 설계되었다.


* PHP 는 무슨 수를 써서라도 계속 돌아가도록 만들어졌다.

 오류가 나면 알 수 없는 동작을 하는 것을 택해서 한다.


* PHP 는 명확한 디자인 철학이 없다.

 초창기 Perl 의 영향을 받았으나, 추후 C 에서도 가져오고, 객체지향 언어로부터도 이것저것 가져온다.


* PHP 는 많은 부분을 다른 언어에서 차용한다.

 하지만, 그 언어를 알고 있는 사람들에게 자꾸만 이해할 수 없는 모습만 보인다.


... 등등



반응형

댓글