PHP에 대한 비난이 종종 있지만(때로는 인터넷 고양이 동영상의 수를 능가했다고 느껴질 정도), 그것은 현재 가장 널리 사용되는 서버 측 스크립팅 언어 중 하나입니다. 네, 맞아요. 3Techs에 따르면 2023년 7월 현재, PHP는 우리가 알고 있는 모든 서버 측 프로그래밍 언어를 사용하는 웹 사이트 중 약 77.4%에서 사용됩니다. 그건 꽤 대단한 일이에요!
PHP의 성장은 대부분 쉬운 진입점 덕분에 이루어졌습니다. "안녕, 세상!"이라고 말하기 전에 웹페이지를 만들고 데이터베이스와 상호 작용하는 것이 가능했습니다. 그리고 워드프레스를 잊지 말아야 합니다. 인터넷의 40% 이상을 구동한다는 사실을 믿을 수 있나요?
하지만 이러한 인상적인 통계에도 불구하고 PHP는 종종 많은 개발자들의 조롱거리가 되곤 합니다. "PHP 개막"을 구글링하면 여름 바비큐보다 더 많은 번개를 찾을 수 있습니다.
심지어 PHP의 창시자 라스머스 레르도프도 유명한 FRASM으로 말했습니다. "내가 그것을 멈추는 법을 모르겠어요. 프로그래밍 언어를 작성하려는 의도는 전혀 없었죠. 어떻게 프로그래밍 언어를 작성하는지 몰라요. 그저 단순히 그 다음 논리적인 단계를 추가해 나갔을 뿐입니다." 이제, 그게 영감을 줄 수 없는 기원 이야기인가요? 하지만 공정해야 합니다. PHP는 전혀 나쁘지 않아요. 사실, PHP는 그렇지 않습니다. 서투른 슈퍼히어로처럼 PHP는 성장 과정을 겪긴 했지만 진화하고 성숙해져서 진정으로 무엇을 할 수 있는지 보여줄 준비가 되었습니다. 결국, PHP는 그리 나쁘지 않죠, 맞지요?
혐오를 이해하기: PHP가 역사적으로 안 좋게 여겨졌던 이유
조금 전으로 돌아가 봅시다.
PHP는 1995년에 처음 등장했는데, 정말로 환영받지 못했던 시대였죠. 솔직히 말하자면, 그때는 정말 엉망진창이었습니다.
일찍부터 PHP가 좋지 않다고 여겨졌던 몇 가지 이유는 다음과 같습니다:
불일치
함수명과 매개변수 순서에 불규칙성이 있었고(아직도 그럽니다), 종종 철벅철벅한 팬케이크 무더기보다 세심하게 쌓은 와플 탑처럼 느껴졌어요.
누가 직관적인 언어를 원할까요?
보안
인터넷에서 "PHP는 보안이 취약하다"는 말이 여러 해 동안 울려 퍼졌습니다. 그 말에는 일부 사실이 있습니다.
이른바 초기 PHP에서는 개발자들이 애플리케이션에 보안 취약점을 남기기가 상당히 쉬웠습니다. 앞문을 활짝 열어놓고 "와서 물건 가져가세요"라는 표시를 한 채로 남겨놓지 않으시잖아요, 그렇죠? 그러니 웹 사이트에서도 이와 동일한 행동을 왜 하시겠어요? 하지만 어쨌든, 살면서 배우는 법이죠.
불완전함
객체지향 프로그래밍 (OOP)은 PHP에서 완전히 지원되지 않았는데, 이를 개선한 PHP 5가 2004년에 출시되었습니다. 누군가를 소풍에 초대했는데, 그들이 반쪽 먹은 샌드위치를 들고 9년 늦게 나타나는 상황을 상상해보세요.
디버깅 문제 해결
PHP에서의 디버깅은 닌자와 숨바꼭질을 하는 것과 같았어요. 닌자가 보이지 않으면서도 불타고 있는 상황이었죠.
안 좋은 습관 활성화
PHP의 관대한 오류 처리와 형식 검사는 몇 가지 엉성한 코딩 습관으로 이어졌어요.
하지만, 여러분 모두 실수를 저지를 수 있어요, 프로그래밍 언어도 아닌가요. 그리고 무엇이든 제대로 사용되지 못할 수도 있어요. 요리 쇼에서 많은 재앙을 본 적이 있죠, 수프레가 부풀지 않을 때 항상 주방의 잘못은 아니라는 걸 알아요.
그런데 잠깐, PHP를 잘못된 것으로 처벌하려 하기 전에, 중 90년대 이후 많은 변화가 있었다는 걸 기억해보자구요.
누군가를 고등학교 졸업 사진으로 판단하지 않는 것처럼, 우리도 PHP를 오직 과거에 의해서만 판단해서는 안 되죠. 그러니, 옛날 오해를 살펴보고 PHP가 몇 년 동안 어떻게 성장했는지 살펴보자구요.
PHP 진화: PHP 4에서 PHP 8로
공정하게 말해야겠어요. PHP는 체육관에 다니면서 자신을 다듬고 더 강력한 언어로 변모하고 있어요. 자아 발견 여행을 떠나처럼, 젠 마스터를 만나 돌아온 것 같아요.
먼저 2004년 PHP 5에서 우리는 객체 지향 프로그래밍으로의 중요한 전환을 보았어요. PHP는 성숙해졌으며 정장을 입고 넥타이를 매고 Java나 C# 같은 대형 언어와 어깨를 나란히 하기 시작했어요.
우리는 OOP에 대한 더 나은 지원을 받았으며, PHP를 더 견고하고 유연한 언어로 만드는 다양한 기능들을 얻었어요. 여전히 특이점들이 있었지만, 언어는 성숙해지는 지표를 보이기 시작했어요.
그리고 2015년에 등장한 PHP 7은 속도와 성능 면에서 상당한 개선을 이뤘습니다. 마치 PHP가 삼륜 자전거에서 스포츠카를 주행하는 것을 보는 듯한 느낌이었죠. 더불어 스칼라 형식 선언과 반환 형식 선언과 같은 기능을 통해 PHP는 더 엄격한 형식 검사를 시작했습니다. 이는 코드 내의 다양한 버그와 문제를 예방하는 데 도움이 되는 것으로 알려져 있습니다.
하지만 여기서 진화는 끝나지 않았습니다. 2020년에 출시된 PHP 8은 PHP 툴킷에 추가로 좋은 기능을 더했습니다. 명명된 인수, 어트리뷰트, 유니언 형식, match 표현식, 널 안전 연산자, 그리고 네, Just-In-Time 컴파일러 (JIT)까지 PHP 8은 프로그래밍 분야에서 심각한 경쟁자가 되었습니다.
그리고 Xdebug를 이용한 디버깅 프로세스가 주요 업그레이드를 받았다는 걸 언급했나요? 이전에 언급한 보이지 않는 화염 닌자가 있었던 기억이 나잖아요? 지금은 야간용 시야 고글과 소화기가 생겼습니다. 고마워요, Xdebug!
PHP 프레임워크: 생산성과 품질 향상
PHP가 계속해서 진화하고 더욱 발전해왔다면, 우리가 PHP와 함께 사용하는 도구들 또한 그에 발맞추며 성장해왔습니다. PHP는 활발한 생태계와 같아서 지속적인 발전을 이루고 있습니다.
실제로, 2023년 개발자 설문 조사에 따르면 PHP 개발자 중 상당한 64.8%가 정기적으로 프레임워크를 사용한다고 나타났습니다. PHP 개발자 중 절반 이상이 이러한 도구들을 신뢰하는 것이죠!
그렇다면, 왜 이들이 이렇게 인기가 많을까요? 자, 큰 플레이어들을 살펴보겠습니다:
-
Laravel: 이것은 PHP 프레임워크의 슈퍼맨입니다. Laravel은 현재 가장 인기 있는 PHP 프레임워크로, 2023년 중반 현재 GitHub에서 60,000개 이상의 스타를 보유하고 있습니다. Laravel의 유명한 점은 우아한 구문과 개발 속도입니다. ORM, 라우팅, 보안, 블레이드라 불리우는 놀라운 템플릿 엔진 등이 있습니다. Laravel은 PHP의 여러 가지 문제점을 개선하여 안전하고 유지보수 가능한 PHP 코드를 더욱 쉽고 빠르게 작성할 수 있게 했습니다.
-
Symfony: Symfony는 PHP 프레임워크의 배트맨과 같습니다. 오랫동안 사용되어온 Symfony는 매우 유연하고 대규모 웹사이트와 애플리케이션에서 사용되고 있습니다. 재사용 가능한 PHP 라이브러리를 통해 폼 생성, 객체 구성, 라우팅, 인증 등과 같은 작업을 수행할 수 있습니다. GitHub에서 25,000개 이상의 스타를 받았으며 안정성과 오랫동안 사용할 수 있는 특징을 가지고 있습니다.
-
CodeIgniter: CodeIgniter는 가벼우며 설치가 간단하여, 이 우리의 슈퍼히어로 비교에서 플래시와 같습니다. 간단하고 우아한 도구 상자가 필요한 개발자들에게 완벽합니다. 2023년 현재, GitHub에서 19,000개 이상의 스타를 자랑합니다.
이 프레임워크들과 Yii, CakePHP, Zend Framework와 같은 다른 것들은 모두 PHP가 더 즐거우며 생산적인 언어가 되도록 기여했습니다. 이들은 좋은 코딩 관행을 강제하고 재사용 가능한 코드를 제공하며 프로그래밍의 반복적인 부분을 다루어줌으로써 당신이 즐길 만한 것에 집중할 수 있도록 해줍니다. 요약하면, 그들은 당신의 PHP 인생을 훨씬 더 나아지게 만들어줍니다.
PHP 오늘: 평판, 현실 및 미래 가능성
PHP 평판에 관한 이야기인데, 순탄치 못한 여정이었습니다.
프로그래밍의 "펀치라인"에서 웹 개발의 "어두운 말로"로 변모한 PHP의 여정은 할리우드 언더독 이야기에 뒤지지 않습니다. 하지만 기억해 주세요, 할리우드가 좋은 구원 이야기를 좋아하는 것처럼, 프로그래밍 세계도 그렇습니다.
그러니, 몇 가지 오해를 풀어 봅시다:
오해 #1: PHP는 구식이다.
너무 빨리 결론을 내리지 말아요, 친구! PHP 8의 등장으로 언어가 꽤 늙은 존세를 내리는 것과 거리가 먼 것을 입증했습니다. 사실, 이제 막 시작한 것이에요. PHP는 여기에 남아 있으며, 현대 기능을 갖춘 PHP는 어떤 동시대 언어와도 견줄 만합니다.
신화 #2: PHP는 느리다.
예전에는 그랬을지도 모르겠지만 오늘날에는 절대 그렇지 않아요. PHP 7부터의 속도 향상은 놀라울 만큼 대단해졌어요. 벤치마크 테스트 결과, PHP 8은 예전 버전보다 최대 3배 빠른 속도로 스크립트를 실행한다고 해요. 그러니 누군가가 PHP가 느리다고 말하면, 그들에게 달력을 확인해보라고 말해주세요. 우리는 더 이상 2009년에 살고 있지 않으니까요!
신화 #3: PHP는 불안전하다.
어떤 언어든 잘못 사용하면 불안전할 수 있어요. 신뢰할 수 있는 프레임워크를 사용하는 등 PHP 개발의 현대적인 베스트 프랙티스를 따른다면, PHP도 다른 언어들만큼 안전할 수 있어요. 울타리 잘못 만든 게 망치 탓을 하지 마세요!
PHP에 대한 공정한 평가를 요청합니다
PHP는 그렇게 안 나쁘답니다.
하지만 중요한 점은 더 이상 옛날 PHP가 아니라는 점을 인정하는 것입니다 — 그 쉽게 비웃혔던 것이나 비판받던 것이 아닙니다.
여러 해 동안 PHP는 성장했습니다. 그것은 겸손한 시작에서 거의 80%의 웹을 지탱할 정도로 발전했습니다. 그 과거의 비판점을 다루고 다른 현대적인 프로그래밍 언어들과 어깨를 나란히 할만한 기능들을 도입했습니다.
PHP는 다른 언어와 마찬가지로 마법 같은 해결책이 아닙니다.
특이점, 장단점이 있습니다. 하지만 이제 예전 미달포를 벗어나보는 것이 좋아요. 다음 웹 개발 프로젝트에 착수할 때, PHP를 과거 평판에 따라 가치를 떨어뜨리지 마세요.
PHP에 공정한 기회를 주고, 현재의 장점을 평가해보세요. 그러면 PHP 팬이 될 수도 있을지도 모릅니다.
PHP 커뮤니티에서 말하는 대로, 중요한 것은 방해되는 것이 아니라 ElePHPant에 대한 것입니다.
그래서 함께 이 언어의 탄력성을 축하해봐요. 비웃음을 이겨내며 계속 발전하고 진화하며 계속해서 웹을 더 좋은 곳으로 만드는 데 힘쓰고 있습니다.