
* 너무나 많은 값이 true나 false로 처리되기 때문에, 비교 연산자 '==='가 필요하다.
* hash, list를 구별할 수 없다.
* 객체 지향 기능이 망가져 있다.
* lambda가 없다. create_function은 lambda가 아니다.
* short_open_tags, safe_mode, register_globals가 켜져 있어도 모른다.
* 함수 이름에 일관성이 없다. (str_replace, strlen, parse_str 등)
* 인자 순서에 일관성이 없다. (in_array, strpos 등)
* strpos('abcd', 'a')는 0을 반환하지만, 0은 false이다.
* PHP로 쓰여진 프로그램이 많지만, 어느 것도 HTML와 로직이 분리되지 않았다. (정말?)
* 'PHP는 초보가 배우기 쉽다'고 한다. 확실히 그럴지도 모르지만, 덕분에 SQL 인젝션, XSS 취약성, 나쁜 코드가 방치되어 있는 것이 아닌가?
* global에도 문제가 있다.
물론, 반론도 있을 것이다. 'Defending PHP'라든가.
하지만, 개인적으로는 역시 비판측이 일리가 있는 것 같다. 특히, 'PHP는 초보가 배우기 쉽다(라고 말하는 것이 문제이다)'라는 부분에 공감한다. PHP는 초보에게 간단할지도 모르지만, 초보가 대충 만든 웹 애플리케이션은 지금으로써는 해악이 아닐까.
저도 많은 부분에 공감합니다. 제가 PHP에서 가장 마음에 안 드는 점은, PHP가 '느슨한' 언어라는 것입니다. 느슨한 언어는 편한 언어라고들 합니다. 하지만, PHP와 파이썬(Python)을 비교하면, 저에게 파이썬은 '덜 느슨'하면서도 '충분히 편한' 언어처럼 느껴집니다.
여러분은 어떻게 생각하십니까? Matz의 주장에 공감하시나요?
Posted by 랜덤여신

