PHP는 프로그래밍계의 "토요타 코롤라"에요
(deprogrammaticaipsum.com)- PHP와 JavaScript는 1995년에 등장한 이후 웹의 양대 축으로 발전했으며, 모두 초기 설계 결함과 조롱에도 불구하고 생태계를 확장함
- 두 언어는 1997년에 표준화를 거쳤으며, 각각 Facebook과 Google/Microsoft의 지원으로 2010년대에 재도약을 경험함
- PHP는 '프랙탈적 나쁜 설계', 독특한 문법과 다양한 결점 때문에 오랜 기간 경시받았지만, 전 세계 웹사이트의 70~80%가 PHP로 구동되고 있음
- LAMP 스택의 핵심으로, 어디서나 쉽게 접할 수 있고, 저렴하며, 현대적 기능(OOP, FP, 패키지 관리자, 테스트 등)도 갖춘 견고한 언어로 진화함
- 최근에는 FrankenPHP와 같은 Go 기반 런타임 등장, 그리고 꾸준한 보안 개선과 커뮤니티 주도 발전으로 미래를 모색하고 있음
PHP와 웹 프로그래밍의 성장
- 1995년, 무명에 가까웠던 한 소프트웨어 개발자가 새로운 스크립팅 언어인 PHP의 첫 버전을 발표하면서 웹 애플리케이션 개발의 지평이 넓어짐
- 점진적인 표준화와 OOP(객체지향 프로그래밍) 기능 도입으로 본격적인 언어로 자리매김함
- 하지만 독특한 문법과 런타임 모델, 잦은 보안 이슈, 그리고 수많은 프레임워크로 인해 수십 년간 '진지한' 프로그래머들 사이에서 비판의 대상이 됨
- 그럼에도 불구하고 커뮤니티의 힘과 주요 IT 기업의 지원으로, PHP는 꾸준히 진화하고 거대한 생태계를 확장 중임
PHP와 JavaScript의 평행 이력
- 1995년, 각각 Rasmus Lerdorf(“Personal Home Page Tools”)와 Brendan Eich(Netscape)로부터 등장
- 두 언어 모두 초기에는 조악한 설계와 구문 문제로 “진지한 프로그래머”들의 비판을 받았음
- 1997년 각각 PHP/FI 2, ECMA-262를 통해 표준화 진행
- 2010년대 들어 Facebook, Google, Microsoft 등 빅테크의 지원을 받아 대대적 발전을 경험함
- 2025년 기준, Go 언어 기반으로 재탄생하는 새로운 런타임(FrankenPHP, TypeScript Native) 등장
'모두가 싫어하는데 모두가 쓰는 언어'의 아이러니
- C, Java, Python, Perl 등 각 언어는 고유한 별명을 가짐
- C: "이식 가능한 어셈블리"
- Java: "한번 작성, 어디서나 디버그"
- Python: "실행 가능한 의사코드"
- JavaScript: "10일만에 만들어진 언어"
- Perl: "인터넷의 덕트 테이프"
- PHP는 "프랙탈적 나쁜 설계", "Pretty Horrific Programming" 등 부정적 별명에도 불구하고, 전 세계 웹의 70~80%를 구동하는 실적을 보임
PHP: '프로그래밍계의 토요타 코롤라'
- 저렴하고, 어디서나 쉽게 쓸 수 있으며, LAMP(리눅스, 아파치, MySQL, PHP) 조합의 상징
- 오늘날 PHP는 완전한 오픈소스 프로젝트로, 고급 OOP 기능(트레잇, 프로퍼티 훅, 네임스페이스, 속성, 열거형)과 함수형 프로그래밍 기능(클로저, 캡처 리스트, 애로우 함수)까지 지원함
- 곧 도입될 파이프 연산자, 빠른 타입 검사, 풍부한 표준 라이브러리, 강력한 오픈소스 패키지 매니저(Composer)와 Packagist, 우수한 테스트 프레임워크 PHPUnit, 등으로 현대적이고 강력한 특징을 갖춤
- 성능과 컴파일 속도도 뛰어나며, JetBrains의 전용 IDE, 자체 마스코트 등, 활발한 커뮤니티와 자체 생태계를 보유함
과거의 문제와 시선의 변화
-
goto
연산자, 독특한 변수명 등 예전의 단점도 존재하나, 최근 10년간 정기적 릴리즈와 보안 취약점 제거, 레거시 API 정리 등 끈질긴 개선이 이루어짐- 2000년대 초 보안 취약점 및 'I Hate PHP' 운동 등 부정적 이미지 존재
- 최근 10년간 정기적 릴리스(매년 11월), 보안 개선 및 API 현대화로 언어적 완성도와 신뢰성 강화
- 과거 PHP를 경시하던 프로그래머들도 최근 발전을 인정해야 할 시점에 이름
- SQL 인젝션 등 과거의 대표적인 보안 이슈는 여전히 주의가 필요한 부분임
커뮤니티와 생태계
- PHP Foundation 등 공식적인 조직과 업계 지원이 강화되며, JetBrains를 제외하면 대형 테크 기업의 영향에서 벗어나 비교적 독립적인 커뮤니티 문화를 유지함
- 언어 순위는 2004년에는 3위를 기록했으나 최근에는 다소 하락해 다양한 평가 지표에서 7~15위권임
- TIOBE, IEEE, PYPL 등 언어 인기 순위는 하락세지만, RedMonk 등 일부 순위에서는 꾸준히 상위권에 올랐으며, 하락세가 생각만큼 크지 않음을 보여줌
엔진의 진화: FrankenPHP
- 수십 년간 Zend 엔진이 PHP의 표준 엔진 역할을 했으나, 최근 FrankenPHP라는 새로운 공식 런타임 도입으로 컨테이너 환경 지원이 크게 개선됨
- FrankenPHP는 기존 코드베이스와 100% 호환성을 유지하면서도 간편한 컨테이너화와 새로운 실행 모델을 제공해, 미래지향적인 PHP 발전에 핵심 역할을 맡게 됨
PHP의 미래와 인식
- PHP는 여전히 '진지하지 않은' 언어로 평가받을 수 있지만, 수많은 사이트와 애플리케이션을 뒷받침하는 실질적인 영향력과, 활발한 커뮤니티가 유지되고 있음
- 여전히 "우연한 설계의 산물", "논문에는 잘 안 나오는 언어"라는 오명 존재
- Rasmus Lerdorf가 강조한 바와 같이, 커뮤니티의 자발적 참여와 성장에 기반한 언어임을 확인할 수 있음
- Control을 내려놓고 많은 사람들의 협업으로 진화한 '바자르형' 오픈소스 성공 사례로 기록됨
결론
- PHP는 쉽게 무시할 수 없는, 웹 생태계의 '토요타 코롤라' 같은 존재
- 유머와 비판의 대상이 되지만, 실제로는 전 세계 웹의 근간을 이루는 강건한 프로그래밍 언어임
- 저렴한 비용과 쉬운 진입장벽, 풍부한 생태계로 젊은 개발자의 첫 걸음을 쉽게 만들어주는 환경을 제공함
- 앞으로도 커뮤니티와 새로운 기술 트렌드의 조화로 지속적인 발전 가능성을 지님
현직 php 종사자로써 php를 왜 이렇게 깎아내리는지 이해하기 힘듬.
다들 php가 저렴하고 구축하기 쉽고 장기적으로 사용할 수 없으며 보안이 약하다고 소리침.
그러나 그 발상 자체가 모두 구시대적 발상이며, 나는 자신있게 그들에게 '바보'라고 말해주고 싶음.
오늘날의 php는 매우 현대적인 언어이며, 지금부터 장기적인 프로젝트를 진행하더라도 어디서든 사용할 수 있는 모듈을 만들어서 어느 웹이든 재사용이 가능하며, 이는 현재 modern한 php framework들이 말해주고 있음. 최신은 아니지만 8버전 이상의 php는 보안성 또한 많이 향상되었으며, 매 해마다 버전 업그레이드를 예고하고 있음. 대표적으로 Laravel 또한 매 해마다 버전 업그레이드를 진행 중임.
php가 보안이 약하다고 말하는 그대들이게 Java 또는 기타 백엔드 언어에서 매우 많은 위험 보고서가 발견되고 매우 큰 위험들이 지금도 터지고 있다고 말할 수 있음.
대표적으로 대한민국이라는 나라는 국가에서 Java를 이용한 jsp를 사용하고 있지만, 보안 문제가 매 해마다 터지고 있음.
결론: php가 멍청하고 약하며 저렴한 것이 아니다.
php를 잘못 사용하는 사람들이 멍청하고 약하며 저렴하다.
레이?
-
싼 값에 누구나 쉽게 접하고 쓸수 있으며
-
경차 주제에 꽤 넓어서 이것저것 욱여넣기 좋다는 느낌이 들며
-
외관도 나름 꽤 예쁘지만
-
연비가 나빠서 장기적으론 생각만큼 저렴하지 못하며
-
정작 욱여넣으려고 보면 엔진 파워나 여러가지 이슈로 마음대로 굴리기 쉽지 않고
-
예쁜 외관을 만끽하며 캠핑카로도 쓰고, 여기저기 꾸미는 것도 잠깐이지, 결국 대충 몰고 다니게 되는데다
-
심지어 전복 위험성까지 있는 차
-
싼 값에 누구나 쉽게 접하고 쓸수 있으며
-
PHP 주제에 웹, CLI, 워크로드 등 여러 용도로 사용할 수 있고
-
외관도 나름 예쁘게 구성할 수 있지만
-
스파게티 되기 쉽고, PHP 버전이 올라가며 점점 복잡해져서 유지보수 비용이 생각보다 높고
-
정작 여러용도로 사용하려고 보면 CLI로 굴리기엔 무거워서 웹 말고는 쓰기 쉽지 않으며
-
깔끔한 구조의 라라벨, 심포니도 잠깐이지, 대충 때려박아 스파게티 만드는 유혹을 이기기 정말 힘들고
-
매번 보안 위협을 걱정하거나 걱정받아야 하는 언어
걍 모닝이나 스파크 같은 존재 아님? 돈은 없고 운전은 하고 싶고 ㅋㅋㅋ 나도 처음에 접근 한건 php이긴 한데 요즘은 거이 안씀. Laravel같은 거 보면 작은 프로젝트에 무슨 저리 많은 oop를 쓸가 하는 정도임. 잡채 짬뽕 그 자체임. 프레임웍을 안 쓰고 여러 사람 거친 코드는 xx.php xx1.php 이빠이 ㅋㅋㅋ
Hacker News 의견
-
Java는 마치 Corolla와 비슷함. 일부러 평범함을 추구했고, Mazda3 같은 경쟁 모델에 비해 세련미가 부족하며, 오직 A에서 B로 가는 데만 쓰일 뿐인 느낌임. PHP는 프로그래밍계의 Hyundai Elantra 같음. 과거에는 진입 비용이 낮아 모두가 썼지만, 디자인 문제와 신뢰성 부족으로 오랜 기간 농담거리였음. 하지만 Elantra처럼, 많이 발전해서 이제는 꽤 괜찮아졌음
-
Corolla에 대한 평가는 요즘 현실과 많이 다름. 2023년부터 기본형 Corolla는 자동 주행보조 기술들이 기본 탑재되어 있고, 심지어 Mazda의 최상위 트림 옵션보다도 뛰어남. 62마일에서 완전히 멈추는 자동 긴급 제동 테스트도 통과한 유일한 차량이 Toyota Corolla임
-
비유 자체는 훌륭하지만 예시는 좀 아쉬움. Mazda3가 오히려 "간소한 옵션, 저렴함, 잘 작동함"의 느낌에 더 가까움, 특히 2025년 기준으로는 더욱 그래 보임. 그리고 Corolla가 신뢰성 면에서 나빴던 시절이 기억나지 않음. 친척 어르신도 '69년형 Corolla를 처음 산 진짜 새차였다고 늘 자랑함. 그게 80년대 일본차 대세의 길을 열었음
-
요즘 Java는 꽤 괜찮음. 타입 추론, 파이버, 텍스트 블록, 레코드 등 많은 기능이 향상됨. Java 8만 생각할 거면 모르겠지만, 예전만큼 현대 Java 환경 쓰는 게 싫지 않음
-
비유 정말 멋있게 잘함. Python은 어떤 차랑 비슷한지 물어보고 싶음. 나중에 차 살 때 참고하게
-
Java는 오히려 Honda에 더 가까움. 어디서든 볼 수 있을 만큼 널리 깔렸고, 지루하다고 느껴질 정도로 평범하고 확실함. 대체한다, 없앤다는 여러 시도가 있었지만 계속해서 잘 살아남음
-
-
PHP가 성공한 이유는 딱 하나, 배포가 매우 매우 쉬웠기 때문임. 프로그래머들은 이걸 과소평가하지만, 나는 웹개발에 처음 접근했을 때 몇 분 만에 실서비스에 올릴 수 있어서 신세계였음. 오히려 자전거 같은 존재라고 느꼈음. 싸고, 면허도 필요 없고, 누구나 탈 수 있고, 복잡한 절차 없이 빠르게 달릴 수 있던 느낌이었음. 10년 넘게 안 썼지만 새로운 경험으로 빠져드는 계기였음
-
인터넷에서 PHP에 대한 조롱도 많았지만, "아무 바보나 PHP 쓸 수 있다 — 실제로 많은 바보들이 썼다"는 말이 인상적이었음. 근데 진짜로 진입장벽 낮은 건 오히려 좋은 일임. 나는 더 많은 사람들이 프로그래밍할 수 있으면 좋겠다고 생각하고, PHP가 그걸 지원한다면 더 환영임
-
마찰이 제로인 경험 자체가 양자도약임. 뭔가 중요한 일을 터무니없이 쉽게 할 수 있다면, 특화툴이든 대중서비스든, 단점이 있더라도 쉽게 용납해버리게 됨. "하나만 잘해라"는 유명한 철학을 다시 떠올림
-
예전에 Perl CGI 스크립트로 일할 땐 FTP로 업로드, 실행권한 설정, 파일 퍼미션 등에서 항상 장애물이 많았음. 근데 PHP는 웹서버에 내장돼 있으니 이런 과정이 사라져서 따로 웹관리자와 실랑이할 필요 없이 그냥 바로 돌아가는 경우가 많았음. 언어 특성보다는 배포 구조 덕분이 더 큼
-
-
PHP는 한마디로 설명하기 힘든 언어임. 90년대 후반 mod_perl에서 갈아탈 때 대체재로 썼고, 정적인 페이지에 다이내믹 데이터를 쉽게 추가할 수 있었음. 특히 대형 사이트를 어떻게 만드는지 경험치가 없던 시절엔 시행착오의 연속이었음. 하지만 언어 자체는 정말 별로였음. 흔히 하는 말처럼 "나쁜 기술자는 도구 탓한다"지만, 두 개의 손잡이에 세 개의 랜덤 끝이 달린 드라이버가 있다고 상상해보면 됨. 어쩌면 그것도 쓰긴 쓰지만, 굳이 저런 도구를 사랑한다고 하는 사람을 보면 의심하게 됨. 당장 옆에 무료로 더 좋은 Snap-On이 있는데 말임. 그래서 PHP로 작은 서버사이드 기능 넣는 건 문제 없는데, 그걸로 거대한 거미성 같은 것들이 쌓이고, 그걸 보면서 "봐, 저 드라이버로 이런 것도 할 수 있다니까!" 라고 하는데, 그 성이 일정 시간마다 일부가 무너져 내리기도 함. 이런 모습은 별로 신뢰를 주지 못함. 그나마 조금 개선은 됐지만 여전히 매우 특이한 드라이버임
- 말하자면 PHP는 나쁜 디자인의 프랙탈임
-
다른 언어들도 이제는 PHP를 따라잡았음. 초기에 HTML에 코드를 직접 쓸 수 있는 언어는 대부분 서버사이드 Javascript, ColdFusion, ASP처럼 전부 독점적이었음. PHP가 처음으로 오픈소스였고, 쓸만한 수준에 도달해서 2001년에 웹앱 개발의 1순위가 되었음. cgi-bin 같은 것들과 비교해도 빌드 없이 빠르고, 리소스 관리도 잘 돼서 호스팅 업체들이 저렴한 PHP 호스팅 제공 가능했고, Wordpress처럼 세상을 바꾼 오픈소스 제품이 나올 수 있었음. 하지만 곧 한계가 드러났는데, 좋은 웹앱을 만들려면 다양한 페이지를 입력에 따라 라우팅해주는 프레임워크 구조가 필요하다는 걸 깨달았음. 예를 들어 폼에서 에러가 나면 성공 화면을 보여주거나, 에러 메시지를 다시 보여줘야 하는데, 이걸 discipline만 있으면 PHP로도 가능하긴 하지만 결국 새로운 라우터를 만드는 순간, 템플릿 시스템으로 뷰를 따로 만드는 게 당연해짐. Ruby on Rails 이후 모든 언어가 PHP만큼 편리한 프레임워크를 가지게 됐고, 일정 수준의 discipline도 요구하게 됨
- PHP가 HTML 안에 코드를 바로 쓸 수 있다는 점이 제가 사용한 전부의 이유였음. 2000년대 초 PHP의 include를 알게 됐을 때, 그게 늘 빠져 있던 퍼즐 조각처럼 느껴졌음. 더는 헤더/네비/푸터를 수십 개 페이지마다 수동 동기화할 필요가 없었음. Rails가 등장하기 전까지 제대로 된 웹앱을 만든 적은 없었음. Rails의 구조와 관례 덕에 훨씬 접근성이 좋아졌고, 당시 복잡한 PHP 코드는 거의 스파게티 같아서 배우는 입장에서 따라 하기도 힘들었음
-
20년 넘게 PHP를 써왔고, 백엔드에서는 항상 1순위 언어임. 서버 엔지니어는 아니지만 PHP는 빠르고, 지원도 잘 되고, 실력이 있으면 충분히 견고하고 안전하며 성능 좋은 서버를 만들 수 있음. 다만 언어 자체는 별로 좋아하지 않음. 그래도 앞으로 50년도 충분히 주요 백엔드 언어로 남아 있을 거라 생각함. 나만의 "어항 그래프"라고 부르는 게 있는데, 이 그래프가 모든 걸 말해줌 그래프 링크
-
나도 20년 넘게 PHP를 써왔음. 아직도 괜찮은 언어라 생각함. 요즘은 TypeScript를 더 선호하지만, 종종 PHP로 스크립트 작업함. 내장 기능들이 좋아서 여전히 쓸만함
-
저 그래프 데이터는 어디서 온 건지 궁금함. Scala가 4.6%고 Python이 1.2%라는 건 내 예상과 완전 다름. 업계에서의 체감이 다른 걸 수도 있음
-
내가 보기엔 저 그래프는 거의 Wordpress의 압도적인 점유율(전체 사이트의 43%)과 Joomla(2%), Drupal(1%) 같이 모두 PHP 기반인 CMS가 만든 결과로 보임
-
-
저자는 2009년의 나쁜 설계 문제는 많이 개선됐다고 잘 설명했지만, 2025년에 새 프로젝트에서 굳이 PHP를 써야 하는 이유는 잘 말하지 못함. 다른 언어에 비해 뚜렷하게 뛰어난 점이 뭔지 크게 와닿지 않음. 소개된 기능들도 다른 언어와 거의 비슷한 수준의 기능일 뿐, 두드러지게 더 나은 점은 모르겠음
-
PHP만이 확실히 우위에 있는 점은 "shared nothing" 아키텍처임. 예를 들어 fastapi처럼 Python 환경에서는 메모리에 데이터를 올려두면 요청 간에 그 데이터가 남아 있음. 즉시 문제를 해결하는 데 빠를 수 있지만, 이런 구조는 나중에 결과 예측도 힘들고 디버깅도 까다로움. 반면 PHP는 요청마다 아무것도 남지 않으니, 유지하고 싶은 데이터는 반드시 외부에 저장해야 하므로 이런 버그 자체를 근본적으로 예방함. 의외로 이 장점은 코드를 많이 짜다 보면 꽤 큼
-
PHP의 장점은 예나 지금이나 비슷함. 1) 공유호스팅에서 특히 쉽고 빠른 배포 2) 요청 간 데이터 공유가 없어서 동시성과 병렬성의 이점이 있음 3) HTML과 섞어서 쓸 수 있어 따로 템플릿 언어가 필요 없음. 세 번째는 모두에게 장점은 아니고, 많은 프레임워크가 별도의 템플릿 언어를 선호하지만, 간혹 정말 편리한 경우도 있음
-
비교 대상은 Python, Ruby, Javascript 일텐데, shared nothing 구조 외에도 오픈소스 생태계와 커뮤니티 성숙도가 높고, 패키지 매니지먼트가 단일하며, 성능도 대체로 더 좋음 (Javascript만큼 빠르지는 않을 수도 있음). 경쟁 언어들이 각각 어느 한 항목에서는 좋을 수 있지만, 위의 모든 조건을 다 만족시키는 건 PHP라고 봄
-
이미 포진한 코드가 많으니 vibe coding의 기반으로는 좋을 수도 있음
-
작성자는 PHP가 2009년에 얼마나 개발됐는지 제대로 설명하지 못했다고 봄. 주장 대부분이 "옛날 방식은 안 쓰고, 새 방식이 있어"라는 식이라, 결국 실수해서 옛날 방식을 밟으면 삽질하게 됨. 좋은 기본값이 중요한데, 그 부분을 간과하고 있음
-
-
글이 PHP haters 언급에 너무 신경 쓰면서 오히려 왜 2025년에 PHP를 선택해야 하는지 제대로 설명하지 않아서 설득력이 약해진다고 느껴짐. 나는 PHP를 거의 써본 적이 없지만, 실제로 왜 이 언어를 쓸 만한지, 더 매력적인 근거가 나왔으면 좋겠음. 제시된 이유들은 내게 크게 와닿지 않음
- php 개발자는 구하기 쉽고 인건비도 저렴하니, 그 이유만으로도 많은 기업에선 선택지가 정해짐
-
나와 PHP의 첫 만남은 꽤 웃긴데, 지금 내 커리어도 여기서 방향이 결정된 것 같음. 대학교 마지막 학기에 중요한 과목을 여러 개 한 번에 들어야 해서 엄청 힘들었음. 그 중 하나가 웹 개발 수업이었고, 이커머스 사이트 만드는 게 과제였음. 여러 가지 방법을 배웠고, PHP에서 특히 배포가 쉬웠던 게 큰 장점으로 다가왔음. 하지만 마지막에는 모두 vanilla JS로 하라고 했고, 나는 JS로 제대로 배포하지 못했음. 다른 동기들도 마찬가지였음. 평가 기준을 보니, 코드 평가는 20%밖에 안 되고, 나머지는 전부 사이트 디자인이나 데드라인 내 배포 성공 등이었음. PHP로 작업하면 무조건 돌아간다는 확신이 있어서, 코드 평가는 포기하고 배포 성공에 집중해서 B-를 받을 수 있었음. 대부분 학생들은 과제를 아예 배포도 못해서 떨어짐. 현대 PHP에 관심 많지만 어디서 어떻게 시작해야 하는지, 어떤 생태계가 있는지 모르겠음. 다들 여전히 PHP는 못생기고 보안도 약한 언어로만 봄
- 실무에서는 Laravel이나 Symfony 쪽이 많이 쓰임
-
다른 분야로 옮기기 전까지, PHP 덕분에 꽤 많은 돈을 벌었음. 20년 커리어 동안 한 번도 일거리가 없던 적이 없었음. 주변에 다른 언어를 쓴 지인들은 꾸준히 일하는 데 더 힘든 경우가 많았음
-
절대 동의할 수 없음. PHP는 마치 Ford Escort 같은 언어임(정기적으로 손이 가고 보안이 약하지만 운전은 쉽고 단순함). Corolla는 정말 정말 신뢰할 수 있고, 일관성있으며, 훨씬 더 안전함. (여러 차량과 언어를 다뤄본 입장에서 볼 때, PHP는 그냥 덜 나은 선택임)