나는 여전히 PHP를 사랑함
23년 전 PHP용 암호화 소프트웨어를 만들었는데 아직도 잘 작동하고 있음
지금도 PHP 뉴스레터를 운영하고 있고, 여전히 강한 커뮤니티가 존재함
Python이나 Node.js도 쓰지만, 빠르고 단순한 작업에는 결국 PHP로 돌아오게 됨
다만 PHP 5 이후로 언어가 훨씬 복잡해진 점은 양날의 검 같음
PHP는 대규모 전환을 올바르게 수행한 대표적인 사례라고 생각함
Python이 2에서 3으로 넘어가는 동안 PHP는 5.2→5.3, 5.6→7.0으로 발전했음
네임스페이스, PSR0 오토로딩, 파서 개선 등으로 속도와 구조가 크게 향상되었음
업데이트마다 호환성을 깨지 않으면서도 점진적으로 개선했고, 경고와 shim을 제공해 구버전 유지도 가능했음
PHP 6이 취소된 건 문자열 처리 변경 때문인데, 결과적으로 현명한 결정이었다고 봄
오랫동안 생계를 책임져준 언어이자 커뮤니티를 존중하는 프로젝트였음
PHP가 복잡해졌다는 말이 많지만, 나는 5.3으로 만든 단순한 코드가 PHP 8에서도 완벽히 작동함
복잡하게 쓸 수도 있지만 꼭 그럴 필요는 없음
혹시 그 암호화 소프트웨어가 Zend였는지 궁금함
2000년대 중반에 Zend 관련 툴을 다뤘는데 꽤 까다로웠던 기억이 있음
PHP 8은 처음부터 올바른 방식으로 배우면 충분히 이해하기 쉬움
PSR을 익히고 보안과 기능을 고려하면 훨씬 안정적이고 강력한 언어가 되었음
PHP 5 이후의 진화는 인상적이지만, 그만큼 복잡성이 커진 문제도 있음
예전 버전으로 배운 사람에게는 최신 코드베이스가 낯설고 따라가기 어려움
이는 커뮤니티에는 강점이지만, 복귀하려는 개발자에게는 장벽이 됨
최신 PHP는 여전히 가독성이 좋은 언어라고 생각함
10년간 C++을 썼지만, 지금은 최신 C++ 코드보다 PHP가 훨씬 읽기 쉬움
PHP 8을 배우면 충분함. 지금의 PHP는 예전보다 훨씬 나아졌음
요즘 대부분의 소프트웨어가 비슷한 문제를 겪음
단순함이라는 목표가 사라지고, 기능만 계속 쌓이는 느낌임
사실 이런 변화는 다른 언어들도 마찬가지임
웹 분야는 특히 빠르게 변하므로 따라가지 않으면 도태됨
Java 전문가로 일하면서도 새 기능을 동료들에게 설명해야 할 때가 많음
PHP는 특히 입문자들이 첫 웹사이트를 만들 때 많이 쓰는 언어라서 다른 언어보다 변화 체감이 클 수 있음
많은 사람들이 PHP를 부끄러워하는 경향이 있지만, 나는 그렇지 않음
언어에 대해 잘 모르지만 멋진 프로젝트가 많다는 건 알고 있음
요즘 가장 좋아하는 PHP 프로젝트는 BookStack으로, 가족용 위키로 쓰고 있음
잘 관리된 PHP 스택으로 만들어진 사이트들이 여전히 많음
현대 PHP는 빠르고 훌륭한 언어임
2021~2023년에 프로덕션 PHP를 썼는데, 언어 자체보다 문제는 낡은 코드베이스와 낮은 급여 수준이었음
PHP 4 시절의 유산 코드가 많고, 데이터 접근 패턴도 제각각이라 유지보수가 힘듦
하지만 PHP 8로 마이그레이션하면서 코드 품질이 크게 향상됨
새 프로젝트를 시작한다면 PHP를 선택하진 않겠지만, 현대적 Laravel 프로젝트라면 기꺼이 참여할 것임
PHP는 다루기 직관적이고 즐거운 언어였음
다만 초보자들이 보안 개념 없이 접근하기 쉬워서 SQL 인젝션 같은 문제가 많았고, 그로 인해 ‘불안한 언어’라는 평판을 얻었음
JS/TS + 최신 프레임워크보다 PHP 백엔드를 선호함
Laravel 같은 프레임워크와 함께 쓰면 훨씬 안정적이고 성숙한 환경임
PHP로 커리어를 쌓아왔고, 지금도 그 현대화 과정을 즐기고 있음
기타 연주나 시 쓰기처럼 누구나 할 수 있지만, 잘하기는 어려운 일임
AzuraCast를 좋아함
직접 코드를 보며 배우고, 라디오/음악 서버를 자가 호스팅하는 재미가 있음
PHP는 업데이트될수록 복잡해지는 언어가 되었음
여전히 웹 중심 언어인데 왜 이렇게 발전하는지 의문임
C#과 Java도 웹 백엔드 중심이라 복잡해졌음
결국 전통적인 객체지향 언어들이 비슷한 방향으로 수렴하는 것 같음
웹 자체가 점점 단순하지 않음
NativePhp 같은 프로젝트도 있음
웹만을 위한 언어라 해도 발전할 이유는 충분함. 개발자 경험을 개선하는 건 언제나 가치 있음
처음엔 글을 읽지 않고 비판했지만, 다시 보니 일부 기능은 괜찮음
array_first(), array_last()는 유용하지만, 파이프 연산자는 유지보수성을 해칠 수 있음
단항 함수만 지원해 복잡한 함수에서는 오히려 버그를 유발할 수 있음
Hacker News 의견
나는 여전히 PHP를 사랑함
23년 전 PHP용 암호화 소프트웨어를 만들었는데 아직도 잘 작동하고 있음
지금도 PHP 뉴스레터를 운영하고 있고, 여전히 강한 커뮤니티가 존재함
Python이나 Node.js도 쓰지만, 빠르고 단순한 작업에는 결국 PHP로 돌아오게 됨
다만 PHP 5 이후로 언어가 훨씬 복잡해진 점은 양날의 검 같음
Python이 2에서 3으로 넘어가는 동안 PHP는 5.2→5.3, 5.6→7.0으로 발전했음
네임스페이스, PSR0 오토로딩, 파서 개선 등으로 속도와 구조가 크게 향상되었음
업데이트마다 호환성을 깨지 않으면서도 점진적으로 개선했고, 경고와 shim을 제공해 구버전 유지도 가능했음
PHP 6이 취소된 건 문자열 처리 변경 때문인데, 결과적으로 현명한 결정이었다고 봄
오랫동안 생계를 책임져준 언어이자 커뮤니티를 존중하는 프로젝트였음
복잡하게 쓸 수도 있지만 꼭 그럴 필요는 없음
2000년대 중반에 Zend 관련 툴을 다뤘는데 꽤 까다로웠던 기억이 있음
PSR을 익히고 보안과 기능을 고려하면 훨씬 안정적이고 강력한 언어가 되었음
PHP 5 이후의 진화는 인상적이지만, 그만큼 복잡성이 커진 문제도 있음
예전 버전으로 배운 사람에게는 최신 코드베이스가 낯설고 따라가기 어려움
이는 커뮤니티에는 강점이지만, 복귀하려는 개발자에게는 장벽이 됨
10년간 C++을 썼지만, 지금은 최신 C++ 코드보다 PHP가 훨씬 읽기 쉬움
단순함이라는 목표가 사라지고, 기능만 계속 쌓이는 느낌임
웹 분야는 특히 빠르게 변하므로 따라가지 않으면 도태됨
PHP는 특히 입문자들이 첫 웹사이트를 만들 때 많이 쓰는 언어라서 다른 언어보다 변화 체감이 클 수 있음
많은 사람들이 PHP를 부끄러워하는 경향이 있지만, 나는 그렇지 않음
언어에 대해 잘 모르지만 멋진 프로젝트가 많다는 건 알고 있음
요즘 가장 좋아하는 PHP 프로젝트는 BookStack으로, 가족용 위키로 쓰고 있음
잘 관리된 PHP 스택으로 만들어진 사이트들이 여전히 많음
2021~2023년에 프로덕션 PHP를 썼는데, 언어 자체보다 문제는 낡은 코드베이스와 낮은 급여 수준이었음
PHP 4 시절의 유산 코드가 많고, 데이터 접근 패턴도 제각각이라 유지보수가 힘듦
하지만 PHP 8로 마이그레이션하면서 코드 품질이 크게 향상됨
새 프로젝트를 시작한다면 PHP를 선택하진 않겠지만, 현대적 Laravel 프로젝트라면 기꺼이 참여할 것임
다만 초보자들이 보안 개념 없이 접근하기 쉬워서 SQL 인젝션 같은 문제가 많았고, 그로 인해 ‘불안한 언어’라는 평판을 얻었음
Laravel 같은 프레임워크와 함께 쓰면 훨씬 안정적이고 성숙한 환경임
기타 연주나 시 쓰기처럼 누구나 할 수 있지만, 잘하기는 어려운 일임
직접 코드를 보며 배우고, 라디오/음악 서버를 자가 호스팅하는 재미가 있음
PHP는 업데이트될수록 복잡해지는 언어가 되었음
여전히 웹 중심 언어인데 왜 이렇게 발전하는지 의문임
결국 전통적인 객체지향 언어들이 비슷한 방향으로 수렴하는 것 같음
웹만을 위한 언어라 해도 발전할 이유는 충분함. 개발자 경험을 개선하는 건 언제나 가치 있음
array_first(), array_last()는 유용하지만, 파이프 연산자는 유지보수성을 해칠 수 있음
단항 함수만 지원해 복잡한 함수에서는 오히려 버그를 유발할 수 있음
PHP 8.5 발표에서 가장 흥미로운 점은 언어의 안정성과 성숙도임
PHP가 GTA6보다 먼저 array_first, array_last, fatal error stack trace를 추가한다니 놀라움
PHP에 새로운 함수와 문법이 계속 추가되는 건 장기적으로 유지보수 비용을 높임
공식 릴리스 노트를 보면, 일부 기능은 가치가 애매함
parse_url()과 중복됨공식 PHP 8.5 릴리스 노트
파이프 연산자 예시는 대부분의 언어에서 임시 변수를 쓰는 일반적인 방식을 생략한 것임
URL 파싱 예시도
parse_url()과 직접 비교되지 않았음parse_url()은 표준을 완전히 따르지 않고 상대 URL 처리에 약함새
uri()함수는 더 깔끔하고, 부분 함수 적용 기능이 추가되면 파이프 체인이 더 읽기 쉬워질 것임PHP CLI에서 **백틱(
)으로 shell_exec()을 호출**하곤 했는데, 이제 deprecated됨mkdir $dirname` 같은 식으로 자주 썼음셸 메타문자 주입 위험이 있으므로 PHP의
mkdir()이나pcntl_exec()을 써야 함