이제와서 PHP로 개발해야 하는 이유
TL;DR
PHP는 언어 정책이 매우 보수적이기때문에 현재 개발하는 소스가 앞으로 버전업 되면서도 그대로 동작할 가능성이 높다. 요즘 웹은 성능이 상향 평준화되었기 때문에 굳이 신기능을 쓰기 위해서 다른 언어/프레임웍을 선택하는 건 의미없는 일이다. 그 시간에 본업에 집중하자. 보안이나 성능 관련 이슈는 PHP가 알아서 해 줄 것이다.
풀스택을 지향하는 잡식성 개발자인 저에게도 편애하는 언어가 둘 있는데 PHP와 Javascript입니다. Javascript는 요즘 대세라고 해도 과언이 아닌데다 node.js가 나오면서 서버 플랫폼으로도 각광을 받고 있습니다. 그에 비하면 PHP는 안티가 무척이나 많은데, 이렇게 인식이 안좋은 언어는 classic asp이외에 본적이 없습니다. 얼마나 인기가 없냐고 하면 예전에 이런 에피소드도 있었습니다. 협력회사 담당자가 저희 회사의 인력 구성이 어떤지 물어보면서, 그 회사에 웹개발자는 있나요? PHP 개발자 말구요. 라고 했었습니다. (PHP 전문가가 한명 있긴 있었죠. 바로 저..) 이 정도로 안티가 많으면 마켓쉐어도 미미해야 할텐데 2015년 12월 기준 서버사이드 언어로서의 사용률이 81.7%이고, 전 세계 사이트의 25.8%가 워드프레스를 쓰고 있습니다. 이런 걸 이율배반이라고 하던가요.
PHP만이 가지고 있는 언어적 특성이 이런 상황의 근본적인 원인이 아닐까 합니다. 개발용어로 설명하자면 컨트롤 로직과 프리젠테이션 레이어가 분리되어있지 않다는 것인데, 쉽게 말하면 PHP 코드와 html이 뒤섞여있다는 것이죠. PHP의 템플릿적인 특성덕분에 개발을 잘 모르고도 코딩이 가능하지만, 개발을 잘 안다면 안티패턴을 돌아가느라 코딩하기가 좀 귀찮아 집니다. 덕분에 다른 언어들 보다 잘못 설계된 코드와 만날 가능성이 높죠. 왜 PHP가 이런 – 매력적인 – 특징을 갖게 되었는지에 대해 이해하기 위해서는 html 초창기 시절의 분위기부터 설명해야 할 듯 합니다.
다들 아시다시피 html은 평범한 텍스트 파일이기에 초기에는 텍스트 에디터로 제작했습니다. vi나 emacs나 아마도 notepad같은 걸 썼겠죠. 시간이 지날수록 다이나믹한 컨텐츠에 대한 니즈가 커졌고 이때 등장한게 CGI(Common Gateway Interface)입니다.
CGI는 거의 모든 언어로 작성이 가능합니다. 심지어는 COBOL로도요.. 웹초기에는 개발자들이 DB나 텍스트를 다룰때 쓰던 C나 Perl로 개발하는게 일반적이였습니다. 90년대 후반에는 JAVA기반의 Servlet도 나왔습니다만 pro*c와의 연결이 여의치 않아서 결국 C로 데이터베이스를 다루던 기억이 있습니다. 아무튼 CGI를 설정하고 프로그래밍하고 컴파일하는 작업은 딱히 어려운 일은 아니지만, 어쨌든 무조건 개발자가 필요했습니다. 초창기에 웹을 다루던 사람들은 대부분 전문가라서 별 문제가 안되었지만 점점 한계에 부딪히게 됩니다. PHP는 이런 시대적 상황을 배경으로 탄생했습니다. html파일에 간단히 코드를 넣는 것만으로누구나 쉽게 동적인 웹사이트를 만들수 있게 되었습니다. 게다가 당시에는 CGI방식보다 월등하게 속도가 빨랐습니다. fastcgi를 설정해야 PHP와 비슷한 속도가 났는데, fastcgi는 문법이 달라서 개발이 상대적으로 까다로웠습니다. 지금에서야 fastcgi가 일반화되고, PHP는 성능문제로 까이고 있지만 그 당시에는 가히 혁명적이였죠. 폭발적인 PHP의 인기덕분에 CGI 방식에서 template을 이용한 방식으로 웹트렌드가 크게 바뀌게 되고 asp나 jsp같은 아류작이 나오는 계기가 됩니다. 사용하기 쉬운 템플릿이 웹개발의 필수라는 것을 모두가 알게 된 것이죠.
서버 프레임웍의 트렌드는 2000년대 초반 Java진영에서 Struts가 에 나오면서 MVC로 바뀌게 됩니다. MVC는 재사용성이 매우 뛰어났기 때문에 순식간에 엔터프라이즈 시장을 장악하게 됩니다. 2005년에 나온 Ruby on Rails는 Struts및 그전까지의 구세대 MVC프레임웍의 문제점이였던 복잡한 xml설정과 사용 방식을 Convention over Configuration으로 깔끔하게 해결한데 이어, 줄어든 복잡도만큼 다양한 최신 기술을 마구 구겨 넣어서 인기를 끌게 됩니다. 지금 생각해보면 어째서 그렇게 프레임웍의 설정이 복잡해야했는지 이해가 안가지만, 2000년대 초반은 정말 아무 것도 정해진게 없었던 웹개발의 매드맥스 시절이였습니다. RoR 이후로 시장에 수많은 유사 MVC프레임웍이 등장하고 서로 영향을 주는 상황으로 발전하게 되었습니다. RoR이 승승 장구하던 와중에 PHP는 4에서 5로 넘어가면서 스텝이 살짝 엉키더니 6.0을 만든다고 삽질하다가 시장의 흐름에서 완전히 소외되었습니다. 그런 이유로 2000년대 후반부터 PHP개발자에 대한 인식은 최악이 되었습니다.
한때는 어디가서 PHP 개발한다고 하기도 부끄러운 시절도 있었는데, 요즘 들어 인식이 조금씩 바뀌고 있습니다. 그렇게 된데는 페이스북과 워드프레스가 가장 큰 역할을 했습니다.
페이스북이 창립했을 당시인 2004년의 PHP는 완전 핫한 언어였지만, 회사가 세계규모로 커지고 그 사이 PHP의 인기가 식었음에도 페이스북은 꾸준히 PHP를 사용했습니다. IT 업계 큰형님이 PHP를 밀고 있으니 구글이 크롬을 통해 밀고 있는 Javascript만큼 백이 든든합니다. 이에 비하면 Ruby는 서포트가 많이 소박하죠. 게다가 페이스북은 PHP자체의 개선에도 많은 노력을 들여서 hack이나 hhvm같은 오픈소스도 만들었습니다. 그 결과로 나온 PHP7 덕분에 이제 PHP가 성능이 부족하다는 느낌은 없어졌습니다. 재밌게도 TechEmpower의 작년 framework benchmark를 보면 PHP+PHP-FPM+NGINX의 성능이 이미 스크립트 언어 중에 적수가 없을 정도로 좋았습니다. 이때의 PHP는 5.6인데도 말이죠. hhvm은 테스트 도중에 문제가 생겨서 결과에 반영이 안되었지만, PHP7으로 같은 벤치마크를 한다면 거의 탑텐 안에 들어가리라 생각됩니다. 이 정도 성능이 나오는 스크립트 언어가 지금까지 있었던가요. python이나 ruby는 GIL때문에 근본적으로 불가능한 일이죠.
워드프레스의 인기는 날이 갈수록 점점 더 높아만 가고 있습니다. 무료 플러그인과 마켓에서 60달러 정도에 살 수있는 테마를 사용하면 간단하게 프로페셔널한 사이트를 만들수 있고, 자동 업데이트 덕분에 – 커스텀 코드를 넣지 않는 이상 – 언제까지라도 무료로 서포트를 받을 수 있습니다. 최소 3~4명이 만들어야 할 사이트를 혼자서 고퀄로 뚝딱 만들 수 있으니 들어가는 비용이 1/3이하입니다. 이런 플랫폼이 인기가 없으면 그게 더 이상한 일입니다. 게다가 웹디자인도 플랫+반응형으로 통일되고 있고, 낮은 버전의 IE에 대응할 필요도 없어졌기에, 워드프레스로 제작한 사이트의 퀄리티는 나날이 눈부시게 높아지고 있습니다. 왠만한 기성품 웹사이트가 따라갈 수 있는 수준을 한참 뛰어 넘었습니다.
이런 워드프레스의 코어가 PHP 5.2를 기반으로 하고 있다는 것은 시사하는 점이 매우 큽니다. 5.2는 2006년에 발표되었고 5.3의 출시가 늦어지면서 웹사이트및 호스팅 업체에 광범위하게 채택된 버전이고, 현재도 12%의 점유율을 보여줄 정도로 바퀴벌레같은 생명력을 자랑합니다. PHP 5.2의 출시가 이미 10년전인데다 공식적인 서포트도 끊긴걸 생각하면 워드프레스의 개발 방법론은 매우 보수적입니다. 그런데 이런 보수성은 PHP라는 언어 자체의 특징이기도 합니다. PHP 5.2의 코드는 별다른 수정없이 7.0에서도 잘 돌아가니까요. 어떠한 언어의 웹프레임웍도 이렇게까지 다양한 버전을 서포트하는 경우는 없습니다. 예를들어 Java는 버전별로 클래스의 포맷이 달라서 Java8로 만든 라이브러리가 Java10에서 실행된다는 보장이 전혀 없습니다. PHP 보수성은 웹개발사에서 매우 예외적이고 PHP의 확고한 철학이 있기에 가능한 일입니다.
PHP의 아버지인 Rasmus Lerdorf씨는 무척 재미있는 분인데 한 컨퍼런스에서 이렇게 말했습니다.
I actually hate programming, but I love solving problems. 나는 프로그래밍은 싫어하지만 문제해결은 좋아한다.
이런 실용적인 철학은 PHP의 곳곳에서 발견됩니다. 예를 들자면 PHPDoc을 이용한 Type Hinting은 유용한 기능이지만 코드가 엄청 지저분해 보이는 단점이 있습니다. Python같은 언어는 이 기능이 없거나 일부분만 구현했는데, PHP에서는 그냥 지저분한 채로 구현합니다. 직접 써보면 역시 PHP는 짱이라는 걸 인정하지 않을 수 없습니다.
이제와서 PHP를 사용해야 하는 이유는 웹의 생태계에 있어서 더 이상 언어의 버전이라던가 프레임웍의 구조적인 아름다움이라던가 하는 요인이 개발자가 생각하는 것 만큼 중요하지 않기 때문입니다. 유저들은 보안적으로 완벽하고 속도가 빠른 사이트에서 양질의 컨텐츠를 다양한 디바이스를 통해 보고 싶을 뿐입니다. 10년전 기술인 PHP 5.2로도 충분히 그런 사이트를 만들수 있다는 것이 워드프레스를 통해 증명되었습니다. 비록 글로벌 변수를 쓰는 등 내부적으로 지저분한 부분이 있기는 하지만요. 게다가 같은 코드를 PHP 7.0에서 돌리기만해도 속도가 두배로 빨라집니다. 현 시점에서 일부러 5.2호환으로 만들 필요는 없지만, 지금 만드는 코드가 10년후의 최신 환경에도 동작한다는 건 PHP 생태계가 아니면 상상도 못할 일입니다. 영속적으로 발전하는 코드라니 완전 멋지지 않나요?
앞으로의 웹은 오랜기간 쓰여지면서 최대한 많은 사용자를 모으는 플랫폼이 주도하게 될 것입니다. 그런데 아직도 타 언어/프레임웍에서는 쿨한 신기능 추가에만 신경을 쓰고 있습니다. 대부분의 메이저 프레임웍이 1년에 하나씩 메이저 업데이트를 발표하지만(그보다 더 짧은 경우도 있습니다) 워드프레스처럼 버튼 하나만 눌러서 업그레이드 되는 경우는 없습니다. PHP가 아니니까, 철학이 다르니까 불가능한 것입니다. (그런 의미에서 기능을 최소한으로 줄이고 하위호환을 중시하는 GO는 PHP와 비슷한 철학을 공유하고 있습니다.)
이제라도 늦지 않았습니다. PHP로 개발자 중심이 아닌 사용자와 웹 생태계 중심의 개발을 시작해 보세요. 컨트롤 로직과 프리젠테이션 레이어가 혼합되어 생기는 문제는 MVC패턴을 적용하면 쉽게 해결됩니다. 아직 매뉴얼이 제작 중이지만 PHP 기반의 no-framework framework인 usa-framework으로 시작하는 것도 괜찮은 선택이 될 것입니다. 잘 모르는게 있으시면 저에게 연락주세요. 언제든 환영입니다!
양날의 검인 것은 확실합니다.
어쩌니 저쩌니 해도 피해야할(?) 포인트 잘 알고 사용하면 개발속도 및 퍼포먼스를 따라오기가 힘들죠.
기술하신 역사들을 알지 못하는 개발자들은 현상만으로 까죠. ㅎㅎ
future-proof(미래 호환) 코딩이란 꽤 복잡하고 어려운 개념이죠. 어찌보면 점성술에 가까운 이야기인데..
이해 못하는 분들도 많은 듯하지만 앞으론 이런 분야도 중요하게 생각하는 분들이 생기리라 믿습니다.
웅파님 안녕하세요~~!
아주 잘 읽었습니다.
오랫동안 깊게 관찰하신 것을 명료하게 적어 주신 글이군요.
감사합니다. ^^
저는 PHP로 작성된 애플리케이션이 버전이 높아져도 그대로 동작한다는 의견엔 동의할 수 없네요.
PHP 5.2 버전 기준으로 작성된 애플리케이션이라고 해도 PHP 7에서 코드의 수정없이 완전히 동작한다고 보기 어렵고 특히나 PHP 4 버전 기준으로 작성된 애플리케이션은 심각한 하위 호환성 문제를 겪을 수 밖에 없습니다.
저는 PHP에서 파이썬으로 건너온 개발자이지만 PHP를 선택하지 않게된 큰 이유는 몇 개가 있습니다. 대표적으로 버전별 문서가 제공되지 않는다는 겁니다. 이 덕분에 함수를 사용하려고 할 때마다 PHP 사이트를 확인해보면서 해당 함수가 어느 버전에서 유용한지 확인해야 합니다. 2번째 문제는 PHP를 컴파일 할 때 활성화해야지만 사용할 수 있는 기능들이 있으며 PHP로 개발된 애플리케이션 자체를 테스트하기 위해서 nginx가 됐든 아파치가 됐든 연동 절차를 한번은 구성해야 한다는 겁니다.
이 부분에 대한 해결책으로 APM 같은 솔루션을 반론으로 제기하실 것 같은데 APM 솔루션이 비교적 괜찮다는데는 동의합니다. 그러나 이들 프로그램을 사용후 제거해야 함은 물론 특정 PHP 버전과 특정 Database와 특정 웹 서버에 묶어 개발자에게 그리 좋은 영향을 미친다고 보기 어렵습니다.
최근의 PHP는 언어 자체적 특성 뿐 아니라 객체지향에 있어서도 뚜렷한 변화를 보이고 있다고 보입니다만 여전히 PHP를 웹 프로그래밍 언어로 선택해야 하는가는 좀 다른 논의로 보여지네요.
그리고 자바 스트럿츠나 스프링은 본질적으로 서블릿이 밑에 깔린 구현체입니다. 말씀하신 것과 같이 MVC 패턴을 적용하는 것이 PHP에서 어려운 일은 아니지만 글로벌 변수를 남용하는 일이 높은 사용률(페이스북과 워드프레스에 의해)에 의해 가려지긴 어려운 단점이기도 합니다.
또 서버측 언어를 선택하는 일은 사용하기 쉬운 언어에서 정해진다고 보여집니다. 성능을 예로 든 결과 문서에도 테스트 가능한 모든 조합을 사용해 결과를 뽑아낸 것 같진 않더군요. 즉 어느정도 신뢰가능한 자료이긴 하겠으나 PHP가 완전히 우수하다고 보기 어렵고 성능상의 비교를 행한 것 뿐 어떤 코드가 사용되었는지 알 수도 없습니다.
사실 이제와서 PHP로 개발해야 하는 이유보다 이제와서 PHP를 들여다볼 수 있는 이유가 더 적합하지 않나 싶네요.
PHP4는 잊어주세요. PHP는 5.2에서 그나마 쓸만해졌고 5.3에서 closure가 생기면서 제대로 된 모던 언어의 기능을 갖게 되었다고 봅니다. wordpress에서 closure를 안쓰는건 좀 아쉬운 일이지만 직접 진행하는 프로젝트에서는 잘 쓰고 있습니다. APM솔루션이야기를 하셨는데 5.4에서부터 성능은 좀 떨어지지만 built-in web server가 사용이 가능합니다. 여차하면 VM에 docker같은 걸로 환경을 잡아서 개발하면 되는 일이기도 하고요. 글로벌 변수의 남용은 언어의 문제라기보단 개발자의 문제겠죠. 성능 문제는 PHP도 나쁘지 않다, 정도로 이해해주세요.
스프링이나 장고같은 웹 프레임웍으로 오랫동안 개발하다보면 레거시 문제에 봉착하게 됩니다. 예를 들면 지금와서 django 1.4나 Spring 2.5로 개발한 코드를 수정한다고 생각해 보세요. mybatis도 아니고 ibatis를 썼던 시절입니다. 수정이고 뭐고 그냥 새로 만드는게 더 빠를껍니다. 만약 비슷한 시기에 PHP 5.3으로 작성한 코드라면 어떻게든 개선의 방법을 찾아낼 수 있었을껍니다. PHP로 타 언어만큼 생산성있게 개발하면서 future-proof(미래 호환)까지 고려하는게 절대로 쉬운 작업이 아닙니다. 오히려 무척 어려운 작업입니다. 하지만 해볼만한 가치가 있는 일이라고 생각합니다.
끝으로 한마디 더하자면 제가 PHP를 쓰자는 것은 오랫동안 검증되어온 과거의 코딩방식으로 가자는게 아닙니다. 개발의 다양한 생태계에서 봤을때 서버의 언어를 보수적으로 잡는게 클라이언트를 비롯한 전반적인 개발 환경을 좀 더 자유롭게 할 수 있다는 것입니다. 앞으로는 클라이언트쪽이 발전하면서 서버에서는 모델과 컨트롤러만 담당하게 될 것입니다. 그런 트렌드에 PHP가 잘 맞습니다. GO도 좋고요.
서버의 환경을 잡는 일에 VM에 도커를 올린다는 말이 PHP로 개발을 시작하는 이에게 그리 적합한 방법이라는 생각은 들지않네요. 좀 더 프로그래밍을 만든이에게 접근이 쉬운 방법일 순 있겠습니다. 그리고 서버의 언어를 보수적으로 잡는것에 대해 말씀하셨는데 PHP나 Go만큼 보수적인 언어가 없는 것도 아닙니다. 파이썬도 2에서 3으로 올라오기까지 꽤 오랜시간이 걸렸습니다. 그만큼 변화의 폭도 크지만요.
저도 앞으로 클라이언트쪽이 지금보다 더 발전하리란걸 부정하지 않습니다만 손에 익은 도구을 잠시나마 내려놓고 PHP를 쓰자는게 다른 진영에 있는 개발자에게 설득력이 있지 않을 것 같습니다.
아, 그리고 PHP를 쓰자는게 과거의 코딩 방식으로 가자고 말하는거라고 이해하진 않았습니다. 웹 애플리케이션 아키텍처가 MVC로 돌아선지 오래됐고 자바스크립트 덕분에 MVVM에 맞게 기능하기도 하니까요.
개인적으로 여전히 스프링 3에 iBatis를 사용하는 프로젝트를 하고 있지만 한마디로 작업량만 많지만 이런 구성 방식조차도 생각보다 많이 사용된다는 것도 문젭니다. PHP4를 잊는 일은 당연히 해야겠지만 개발자들 생각만큼 PHP를 호스팅하는 회사들이 능동적으로 움직이고 있지 않다는 것도 단점입니다.
말씀하신 것처럼 개발의 다양한 생태계를 고려했을때 개인적으론 자바스크립트의 약진을 좋게 볼 수도 있지만 전통적인 언어를 다시 볼 필요성도 있겠습니다만 하나의 대안 정도로 보는게 좋지 않나 싶네요.
저는 새로 시작하는 분이 아니라 저처럼 오랫동안 웹개발을 해온 분들이 고민하고 있을만한 문제에 대해 이야기하는 것입니다. PHP라고해서 초보자들이 쓰는 언어라고 생각하셨나 보네요. 그리고 2016년 현재 PHP4를 채용한 웹 호스팅 업체는 거의 없는 것으로 알고 있습니다. 전세계적으로 보면 1.2%정도 되네요. http://w3techs.com/technologies/details/pl-php/all/all 4.x지원 보다는 몇년안에 5.2 지원이 필요없어지게 되는 순간이 더 기대가 됩니다.
PHP라고 해서 초보자를 생각했던 건 아닙니다. PHP로 만들어진 고급 프로그램도 많으니까요. 저도 오랫동안 웹 개발 변두리에서 웹 개발을 해왔다보니 저 역시도 같은 고민을 해보지 않은게 아닙니다.
저는 그런면에서 파이썬을 선택했던 거구요. 분명히 PHP가 좀 더 약진하겠죠. 그렇다고 해서 PHP 버전이 올라가기 때문에 영속성 있는 개발이 될것이라는 생각은 안합니다. 위에서 언급하신 것과 같이 5.3이라면 어찌해볼 방법이 있다고 말씀하신 것처럼요.
파이썬 flask로 3년째 개발하고 있는 지금도 앞서 언급한 매뉴얼이나 개인적으로 불편하다고 생각했던 문제가 있었구요. 어찌됐든 PHP를 깍아내리고 싶은 생각은 없습니다. PHP가 웹 애플리케이션 마켓에서 선호도가 높은 것도 사실이니까요.
어디까지나 취향 문제라고 언급하고 싶은 것 뿐이고 이 글의 타이틀도 웹 개발에서 PHP를 다시 살펴봐야 할 이유 정도로 보고 있는 것입니다.
분명히 PHP에 불편한 점은 있죠. 황당한 부분도 있구요. 하지만 PHP의 실용적인 철학이 저는 좋습니다. 그런 면을 다시 봤으면 하는 마음에 제목을 그렇게 지은 거고요. 라스무스 러도프씨가 한 이야기를 보시면 PHP의 철학이 대충 어떤 건지 아시리라 믿습니다. https://en.wikiquote.org/wiki/Rasmus_Lerdorf 찬성하지 않는 분들도 많겠지만요.
쉽게 꺼내기 어려운 글을 쓰셨군요.
어느정도 경력이 있는 개발자라면 이 글의 의견은 ‘틀렸다’라고 말할 것 같습니다.
저는 전반적으로 공감 합니다.
좋은 글 잘 읽었습니다. 감사합니다.
아 이런 떡밥은 물면 안되는 것을 알면서 물게 되네요. 워드프레스가, 페이스북이 php 를 사용하는 것, 그리고 php 언어의 점유율이 높은 것은 php 를 사용해야 하는 이유의 근거가 전혀 될 수 없습니다. php 라는 언어가 욕을 먹는 이유는 그런 겉보기 식 문제가 아니라 언어 디자인 자체가 문제가 있기 때문입니다. 다른 언어를 사용하는 개발자들은 이미 인지하고 있는 문제점이지만 php 를 사용하는 개발자들만이 그것을 인지하지 못하기 때문에 이것은 비극이라기보다는 희극에 가까운 일입니다.
php, 잘못된 디자인의 프랙탈이라는 문서 일독을 권해 드립니다.
http://noraesae.github.io/PHP-a-fractal-of-bad-design-kr/
떡밥을 물어주셔서 감사하고요, 저는 ASM, C, C++, Java, VisualBasic, Perl, Javascript, PHP, Python, Ruby, Lua, Objective C, swift, Go…로 프로그래밍 경력이 있습니다. 올려주신 문서는 이미 예전에 읽었습니다. 제가 말하고 싶은건 PHP언어 설계가 문제가 없다는 이야기가 아니라, 타 언어의 레거시를 생산하는 업데이트 정책에 문제가 있다는 것입니다. 말하자면 이런 것입니다. 중고 혼다 시빅으로 충분한데 왜 매년 BMW를 바꿔타려고 하는가? 개발 프레임웍을 선택할때 들어가는 비용뿐만이 아니라, 다년간의 운영 관리 비용을 생각해보면 보수적인 PHP가 훨씬 경제성이 있다는 이야기입니다. 물론 거기엔 잘못된 디자인의 PHP 문법에서 best practice를 찾아내야 하는 리스크가 분명 존재하지만요.
그리고 솔직히 Python의 람다는 짝퉁이잖아요. 요즘 같은 비동기가 지배하는 세상에 람다를 지원 안하는 언어가 존재한다는게 무척 신기한 일입니다. PHP는 2009년에 나온 5.3에서부터 제대로 지원하고 있습니다. Java는 JVM버전이 바뀌면 class를 아예 인식을 안하는데다, Oracle이 인수한 이후로 Java 6,7은 이미 서포트 및 보안패치가 끊겼고 Java8은 내년에 끊기는데 아직까지 Java9가 안나오는 상황입니다. Javascript의 콜백지옥은 겪어보셨는지 모르겠네요. 대부분의 언어의 상황이 이런데 PHP가 어디가 안좋다는 건지 저로서는 이해가 잘 안가는군요.
댓글 잘 읽었습니다. 논점을 굉장히 재미있게 흐리시는 것 같아서 저도 댓글 남깁니다. 레거시의 관점으로 php 를 본다면 사실 fastcgi 기반의 c 코드로 서버 코드를 작성해도 무방할 것이라 봅니다. ansi c 코드로 작성한다면 레거시라는 말 자체가 무의미 해지겠지요. 혹은 단순 jsp 로 작성되어도 크게 차이는 없을 것입니다. jvm 이 플랫폼 독립성을 보장해 주고 java 역시 레거시를 지원해 주니까요. 영속성은 php 만 가지고 있는 장점이 아닙니다.
지금 말씀하시는 레거시, 혹은 지나치게 트렌디에 집중리는 현상에 대한 비판은 잘 이해하겠습니다. 하지만 그것은 언어의 문제가 아니라 프레임워크, 혹은 개발 방법론에 대한 이야기입니다. 워드프레스가 클릭 한 번에 마이그레이션이 부드럽게 진행될 수 있는 이유는 그것이 php 로 작성되어서가 아니라 well-designed 된 응용프로그램이기 때문입니다. 좋은 소프트웨어는 어떤 언어로도 만들 수 있습니다. 언제나 문제는 소프트웨어를 만드는 사람입니다.
필자께서는 지금 워드프레스와 페이스북의 성공의 근거를 뛰어난 개발자와 그들이 이룩한 아름다운 디자인 패턴이 아닌 php 라는 언어가 가지고 있는 철학이라고 정의하고 계십니다. 제가 지적하는 부분이 그 부분입니다. php 는 철학이 없습니다. 제가 먼저 댓글에 언급한 링크를 보셨다면 누구나도 이해할 수 있습니다. 변하지 않는다고 해서 거기에 레거시를 유지하고자 하는 그들의 철학이라는 해석을 덧붙이는 것이 과연 맞는 말이냐 이거죠. 하다못해 php 가 이렇게 변하지 않는 이유가 그 철학 때문이라면 php 언어를 개발하는 사람의 입에서 나와야지 워드프레스 구축 사례를 봤을때 이런 것 같다, 는 아닌 것이지요.
필자께서 글과 댓글에 언급하신 다른 언어들의 단점에 대해서는 굳이 재반론 하지 않겠습니다. 전형적인 피장파장의 오류를 범하고 계신대요, 설령 말씀하신 다른 언어들의 문제점이 있다 하더라도 php 란 언어에 내제되어 있는 문제점이 없어지지 않습니다. php 에 대해서만 이야기 해도 충분할 거라 생각합니다. 이 글은 php 를 쓰자고 주장하시는 글이잖아요.
제가 말하는건 그런 디자인 패턴이 PHP였기때문에 가능했다는 것입니다. 타 언어에서 워드프레스처럼 성공한 예를 알려주시면 이것이 PHP만의 장점이 아니라고 인정하겠지만 짧은 웹의 역사상 이런 경우가 언제 또 있었던가요? 설마 딴 언어에는 지금까지 well-design할 능력있는 개발자가 없었던 것일까요? 그리고 제가 타 언어에 대해 말한건 언어 디자인이 문제라고 한다면 그런 문제는 대부분의 언어가 가지고 있기 떄문입니다. PHP가 좀 더 집중적으로 까일 뿐이죠. 람다없이도 Python이나 Java7로 개발 하는데 전혀 불편함이 없으신 분들은 앞으로도 그렇게 개발하시면 됩니다. 다만 저는 더 쿨한 PHP를 쓰겠습니다. 장점이 단점을 상쇄할 수도 있는 것이죠.
PHP는 실용주의 철학을 가지고 있습니다. 따로 광고를 하는게 아니니 직접 써보지 않으면 느끼기가 어렵겠지만요. PHP정도 되는 언어에 철학이 없다고 단언하시는 자신감이 대단하신데, 그런 자신감의 근거가 무척 궁금합니다. 평소에 사용하시는 언어가 어떻게 되시나요?
그리고 좀더 덧붙이자면 ANSI C에 대한 이야기를 하셨는데, ANSI C야말로 아주 까다로운 언어죠. C에서는 string이 그냥 char의 배열일뿐인데, 별다른 기능도 없는데다 관리가 만만치 않습니다. 배열에 값을 쓸때마다 bufferoverflow걱정도 해야하고, 포인터관리도 귀찮고, malloc으로 잡은 메모리를 풀지 않으면 바로 memory leak이 일어나죠. 하드웨어에 따라 int의 사이즈가 다른건 알고 계시는지 모르겠네요. 헤더 관리도 귀찮고 define때문에 코드가 아주 지저분해진답니다. 요즘 나오는 모든 언어가 ANSI C의 이런 문제를 해결하기 위해서 독자적인 해결방식을 내놓았습니다. 포인터를 직접 쓰는 언어도 얼마 안되구요. 웹에서 ANSI C로 작성해도 무방하다는건 대체 무슨 의미인지 모르겠네요. 지금 시점에서 ANSI C로 뭔가 할꺼면 Rust나 Swift를 쓰는게 낫죠. 그리고 오라클이 인수한 뒤로 Java는 더이상 레거시를 지원하지 않습니다. Java 6, 7은 현재 코드는 동작하지만 더이상의 기능 향상도 보안 패치도 없습니다. 단순 JSP도 결국 라이브러리로 Jar파일을 쓰는데, 이게 JVM의 버전에 따라 동작하지 않습니다. 그리고 단순 JSP를 쓸꺼면 PHP의 기능이 훨씬 뛰어납니다. 혹시 더 궁금하신 언어가 있으시면 제가 그 언어의 단점을 소상하게 알려드리겠습니다. PHP만 문제라는 이야기는 이제 좀 그만 듣고 싶네요.
전 미국에서 프로그램하다 한국으로 와서 일해본 결과 언어 디자인 운운하는 자바개발자들의 결과물들이 항상 좋은 결과였다면 모르겠지만, 대부분 한국에서 경험한 자바 개발자들은 작업시간은 엄청 오래 걸리고 기획은 엄청 쪼다가 결과물에는 에러 투성이더군요. 그놈의 언어의 디자인을 얘기할만한 실력의 개발자들이 과연 있는지 모르겠습니다.
링크해주신 글은 지극히 주관적인 관점에서 바라본 글이지만 설득력있는 근거들도 많네요. 많은 고민을 하는 중 읽어볼만한 자료였습니다. 감사합니다.
문제가 많아 보이지만 저는 주로 자바 기반 개발자라서 ” Java는 버전별로 클래스의 포맷이 달라서 Java8로 만든 라이브러리가 Java10에서 실행된다는 보장이 전혀 없습니다. “요것만 집고 넘어가죠.
클래스 포맷이 다른 것이랑 하위호환성은 아무 상관없습니다. 그리고 Java가 지금까지 1위 언어로 군림하는 가장 큰 이유는 하위 호환성입니다. 당연히 잘 돌아가고요. Java 5용으로 만든 코드들 Java 8에서 잘 돌아가고 있습니다. 클래스 포맷은 상위 호환성의 문제입니다.
아직 나오지도 않은 java 9, 10 얘기는 그때가서.
제가 자바버전하고 톰캣하고 헷깔린것같습니다. Java6 + Tomcat6나 Java7 + Tomcat7을 주로 사용해서 양쪽이 호환이 잘 안되었거든요. 일반적인 자바라면 상위호환에 문제가 없을 수도 있겠네요.
클래스 포맷 변경으로 컴파일러가 이해할수 없다라고 하는것 자체가 하위 호환성이 없다라고 할 수 있는거 아닌지… 그럼 인간이 컴파일러에게 하위호환성을 보장하도록 코딩할 수 있는 노릇도 아니지 않습니까.. 거기다 자바가 지금까지 1위 언어로 군림하는 이유는 스펙 문제겠지요.. PHP는 아직까지 그게 안되니까…
자바는 오라클이 인수한 이후로 앞날이 좀 불투명합니다. 자바 프로젝트 안한지도 한참 되었네요.
(disclaimer: 전 아마추어이며 컴퓨터 관련 전공이나 관련 교육을 받은 사람은 아닙니다.)
글 잘 읽었습니다.
PHP가 거센 비판을 받으며 많은 사람들에게 꺼리는 이유 중 하나는 PHP로 좋은 프로그램을 만들 수 없다기 보단, PHP 특유의 결함을 피해가며 “잘” 쓸 줄 아는 사람이 드물어서 코드가 잘못되기 쉽다는 점인 것 같습니다.
네이버 같은 곳을 둘러보면 (2014~2015년에 작성한 글에) 아직도 예전의 mysql_* 함수를 쓴다던가, escape하지 않은 채로 출력하고 ==를 쓰는 등 잘못된 방식을 쓰는 코드가 상당히 많은 걸 보면서 그런 생각이 들더라구요.
네이버 검색을 하면 2000년대 초/중반의 소스코드가 튀어나오는 경우가 많더군요. 서점에서 파는 초보자용 책에서도 예전 코드가 나와서 깜짝 놀라는 경우가 있습니다. 2005년도에 나온 PHP 5.1에 기본으로 들어간 PDO를 안쓰는 개발은 있을 수 없는 일인데, 11년이 지난 지금에서도 아직 안쓰는 프로젝트가 있다는게 매우 아쉬운 상황입니다.
뭐… 제가 하고싶은 이야긴 위에 얼추 다 있어서 구구절절 쓰진 않겠습니다.
… 안좋은 언어는 없는게 맞습니다만,
PHP는 좋은 방향으로 짜기 어려운 언어는 맞다고 생각하는 사람인지라, 반대 하나 투척하고 갑니다. (PHP가 언어가 맞다면요)
@jogun
안녕하세요 PHP를 까셨는데, php의 단점인 인터프린터 언어이다 내용을 보면 요것때문에 까는 것이라고 보여지네요.
phper로서 hhvm(페이스북에서 만든)으로 갈아타면 자바처럼 컴파일 언어로 변신할 수도 있습니다.
최소한 php를 까시기전에 php를 조사해 보고 까셔야 할거 같네요. php를 한줄이라도 작성해 보셨나요?
(php는 언어가 맞다면요) 이부분에 대한 근거가 뭔지요?
PHP는 컴파일 언어가 아닙니다. 인터프리터 언어이고 최근에야 JIT을 결합해서 퍼포먼스적 이점을 보고 있는 언어죠.
눈물나네요. 저 댓글의 내용을 다 이해하고 싶은데요. 무슨말인지 하나도 몰라서 공부를 더해야하나봅니다. 유익해보이는 글 (?) 잘 읽었습니다.
상당이 흥미로운 얘기네요.
+1
PHP 는 웹을 위해 태어난 플랫폼이라 알고 있습니다. 순혈주의 개발자들은 PHP 언어의 ‘예측 가능성’ 과 ‘비일관성’ 을 비판하는 것을 봅니다. 그러나, 단점을 커버할 수 있을 만큼의 장점이 있기에, 그리고 웹 이라는 목적에 적합하기 때문에 죽지 않고 현재까지 살아 있다고 생각합니다.
그간의 비난들을 극복하기 위한 PHP 커뮤니티의 자구적 노력과, 문제점들을 커버해 주는 걸출한 프레임웍들이 이미 나와있습니다. 도구는 이미 변했습니다, 그것을 사용하는 사람들의 관성이 바뀌지 않았을 뿐이죠~ 모두의 발전을 위해 도구를 비난하지 말아주셨으면 합니다. 도구를 잘못된 방법으로 사용하고 있는 사람들을 욕해 주세요.
앞으로 어떻게 될지는 계속 지켜봐야지만, 다른 언어들과 Coopetition 하면서 이제까지 그래 왔듯이 잡초 같은 생명력을 유지하지 않을까 생각합니다.
말씀해주신 내용들이 흥미롭지만, 그럼에도 불구하고 PHP를 굳이 선택해야 하는 이유가 되기엔 충분하지 않다고 생각됩니다. 언급해주신 장점들에도 불구하고, PHP는 여전히 득보다는 실이 더 많은 언어라고 생각합니다.(특히 입문자들의 선택지에 관한 측면에서… 입문자는 더 좋은 디자인을 가진 언어로, 더 좋은 코드를 접해야 합니다..)
PHP가 득보다 실이 더 많은 이유가 무엇인지 알고 싶습니다.
그리고, 입문자는 더 좋은 디자인, 더 좋은 코드를 접해야 한다고 하셨는데요.
더 좋은 디자인이라는게 선뜻 이해가가지 않습니다.
더 좋은 코드도 마찬가지 이구요.
제 주관적인 생각엔 다 좋은 디자인이나, 더 좋은 코드는 스스로 만들어지는 것 이라고 생각합니다. 더 좋은 디자인, 또는 더 좋은 코드를 누군가 만들어 준다고 제것이 되진 않겠지요.
특히 더, 어떤 언어든 인프리터이든 입문자에게 강조하고 싶은건 간단한 스택이나 큐는 한번쯤 스스로 만들어 보는 연습을 하라고 말하고 싶습니다.
그리고, 더 좋은 스택 디자인을 입히고, 저 좋은 코드를 생각하면서 버전업을 하라고 말하고 싶네요.
제 경험상으로 win32api오 개발하다 mfc로 넘어올땐 엄청난 충격이었습니다.
모든 클래스들이 다 구현되어있었으니까요! 그냥 갔다쓰기만하면 됩니다.
win32api디자인이, 코드가 나쁘다고 할 수 없지 않을까요? 다만 생산성이 안좋았을 뿐이지 않겠습니까?
역시 구경중에는 쌈구경이 짱이네요ㅎㅎㅎ 재밋고 유익하게 잘읽었습니다.
PHP포레버ㅋㅋㅋ
좋은 글 잘 읽었습니다. 저도 ‘시간 나면 정리해봐야지’했던 내용인데 완벽(!)하게 정리 해 주셨네요.
저 역시 Perl로 웹개발을 시작하여 PHP란 것이 나오면서 ‘만세’를 불렀다가 그 이후 PHP4를 버리고(?) ASP, JSP 등등을 거쳐 2016년 현재 다시 PHP를 메인으로 다루고 있습니다.
개발팀이나 회사 전체적인 관점에서 지속적인 개발환경에 대한 통합을 고민 하는 포지션에서도, 말씀대로 PHP는 상당히 ‘실용적’인 언어임에 틀림 없습니다. 잘 설명 해주셨기에 부연이 필요 없겠지만 기본적으로 타 언어와는 달리 ‘Web이라는 명료한 Target’를 언어 탄생부터 지금까지 줄 곳 견지 해 왔기 때문이라 생각합니다.
또한 말씀하신 PHP의 고집스런 하위호환성의 이면에는… 순혈주의자들의 언어구조에 대한 지속적인 비난에도 불구하고 타 언어처럼 하위호환성은 포기하며 언어전체를 뒤집는 (달콤한) 리뉴얼을 하는 대신, 점진적이면서도 꾸준한 개선을 해오는 철학이 숨어있음의 반증인 것이죠. 어느 언어가 20년가깝게 하위호환성을 유지 해왔습니까? 아니 20년의 역사를 가지는 언어조차 드물죠. 그러면서도 2016년 현재에도 최상급 속도와 이식성 및 생산성 그리고 절대적인 유저Pool을 유지하고 있습니다. 미래를 보려면 역사를 공부해야 하는 것처럼 PHP의 지금까지의 역사가 PHP 미래 영속성의 가능성을 매우 높게 증명하고 있죠.
와 진짜 아직도 이걸로 티격태격 ㅋㅋㅋ 개떡같이 만들어도 돈벌어다 주는 소스가 최고입니다.
저도 웹개발자는 아니지만 PHP를 2000년부터 사용해온 개발자입니다.
Python, Java, Ruby 같은 언어들은 시작할 때부터 뭐 그렇게 셋팅할 것들이 많은지…
한번에 딱 셋팅이 끝나는 ASP.NET과 PHP가 저는 제일 사용하기 편하고 좋네요.
취미로만 개발한 사람도 아니고 금융권에서 JAVA/Oracle로도 개발했었습니다.
그렇다고 PHP가 ASP처럼 지원이 끝난 언어이냐? 그것도 아니구요
다른 언어 보다 성능이 느리냐? 그것도 아니고…
점유율도 80% 넘고, 성능도 세계 최상위권이고
PHP로 상용 서비스에 사용해도 뭐하나 문제를 못겪어 봤네요.
그리고 페이스북에서도 사용하는 PHP를 왜 다들 욕해서 안달인지 모르겠네요
여기서 페이스북 개발자들 보다 실력이 있는분들이 얼마나 될런지…
원글 저작자 분들이 다른언어를 욕한것도 아니고…
저는 클라이언트 개발자인데 어떻게보면 웹개발자들은 맨날 언어를 바꿔타고 언어를 가지고서 왜 그렇게 전쟁인지 모르겠습니다.
클라이언트 개발은 목적에 맞는 언어가 딱 한가지 밖에 없어서 그런지는 모르겠는데 윈도우 개발에는 C++/MFC, 안드로이드는 Java, 아이폰은 ObjectiveC/Swift 딱딱 정해져 있거든요.
언어 전쟁, IDE전쟁은 언제나 있어왔기에 그러려니 하는데 PHP는 유독 심한 듯하네요. 사실 PHP를 욕하는 분들이 많을수록 신규 진입하는 개발자가 줄기 때문에 저같은 전문가가 밥먹기 편하다는 아이러니가 있지요..
안녕하세요.
제가 작성한 댓글에서 Swift가 오타가 나서요.
시간이 괜찮으실때 수정을 부탁드립니다.
오늘도 좋은하루 되세요.
딴지 거는 것 같아 좀 그렇지만… MFC는 언어가 아니라 라이브러리로 분류하는게 맞는 것 같습니다.
저도 처음엔 JAVA (JSP) 쪽을 공부 했던 학생이고, 그쪽으로 취업을 하려고 하였습니다.
실제로도 그렇게 취업했지만, 회사에서 갑자기 상의도 없이 SI 로 돌리는 바람에 퇴사를 하였지요. 그리고 나서
학창시절에 PHP를 조금 다뤄본적이 있었기에, PHP 쪽으로 SM 회사로 들어 갔습니다. 처음에 접한게 5.3 이었습니다.
한 회사에서 1년하고 회사가 너무 거짓말만 하길래 같이 들어왔던 동기들하고 모두들 퇴사를 하였지요.
그리고 지금 회사에 들어와서 PHP 를 계속 쓰고 있습니다.
저도 처음엔 JSP 에 비해 일자리 찾기도 힘들고, 돈도 조금 주고 어디가서 PHP 웹 개발자 라고 하기 창피할 정도 였습니다만,
2~3년이 흐른후에 이 것 저 것 해외 이직도 해볼겸, 다른 공부좀 해볼까 찾아 보다 보니, 해외에선 정말 많이 PHP 를 쓰고 있었습니다.
대우도 괜찮은 편이였구요. 그리고 또 1년여가 지나, 이제 PHP 로 경력이 5년 정도 되었네요. 가끔 한국에서 회사 찾아볼려고
심심해서 찾아 볼때면 아직도 한국에선 JSP 가 대세고 JAVA 를 많이 사용 하기 때문에 그쪽에 비해 형편 없어 참 안타 깝기도 합니다만,
확실히 저희 선배님들이 하실 적인 4버전 때 많금 버그나, 보안 이런게 취약하지 않습니다. 라이브러리도 강력해 졌고, 여러가지 좋은 것들이 많아 졌지요.
Java는 Oracle이 인수한 이후로 미래가 매우 불투명해졌습니다. 개발자들은 자신이 선택한 개발스택이 그대로 경력이 되는지라 나중에 빼도박도 못하게 될수도 있으니 항상 트렌드를 읽어야 하는데, 초보 개발자들에겐 그런 눈이 없는게 좀 안타깝죠. 지금부터 경력을 쌓으려는 개발자가 있다면 일단 Javascript를 추천할 것같습니다. 그 담이 PHP..
곧 인생 3학년되가는 초보개발자 입니다. 2016년 1월부터 일본SI업체에서 웹프로그맹으로 html,css,javascript,jquery를 공부하면서 일했습니다. 저번 현장때 잠깐 php를 살짝 만지면서 관심이 있어서, 구글링하다가 wordpress가 인기 있다길래, 디자인(html,css) + php손대면서 web홈페이지 하나 만들어보았습니다. 역시 편하더군요… 저같은 초보들도 손쉽게 홈페이지 하나 뚝딱 만든다는 사실에 놀랐습니다….음? 논점이 이상하게 빗나갔네요. ㅋ;; 글 재주가 없어서;
음…그러니까 javascript는 어느정도 기본은 되어 있는 상태이고, 지금 wordpress로 web홈피 만들면서 php를 공부하고 있는데, 이게 php를 공부하는게 좋은 방향인지 알고 싶습니다…
WordPress의 문제점은 최소사양이 PHP 5.2.4+와 MySQL 5.0+이라는 점입니다. PHP는 5.2에서 5.3으로 버전업 되었을때 상당히 많은 부분이 변화되었고, 5.3부터 진정한 모던 PHP라고 할 수 있습니다. 아마도 앞으로 당분간 하위호환을 위해 이 정책을 버리진 않을 듯한데, 그래서 워드프레스의 코어는 예전 방식으로 프로그래밍되어서 공부를 한다고 해도 실력향상에 크게 도움이 되지 않습니다. WordPress로 시작하실꺼면 최신PHP로 플러그인을 만들어보시는 걸 추천해드리겠고, PHP를 공부하시려면 Learning PHP같은 문법책을 먼저 보시고, 직접 사이트를 만들어보거나 하시는게 좋을 듯합니다.
물론 PHP를 배울때 WordPress가 문제가 있다는 것이지, 실제로 PHP로 돈을 벌려고 하면 WordPress를 잘 알고 있는게 좋습니다. 상당히 많은 프로젝트가 WordPress기반에서 진행되니까요.
장인(匠人)은 자기가 오래 사용하던 연장을 능수 능란하게 사용하여 최고의 작품을 만들어 냅니다. 제품의 퀄러티 만을 생각하며, 아무리 좋은 연장이 나온다 하더라도 퀄리티에 마이너스가 된다면 연장을 쉽게 바꾸지 않습니다. 연장을 판매하는 판매상의 입장에서는 연장의 우수성과 편리성을 이야기 하며 사용을 권하겠지만, 장인의 입장에서는 본인이 하던 방식대로 하는 것을 좋아합니다. 왜냐하면 모든 것이 익숙하고 불편함이 없으니까요.
프로그래밍 언어의 여러 면모에서 장단점을 비교하는 것은 바람직하나 어떤 언어를 써야 되는 것을 판단하는 것은 전적으로 프로그래머의 자유라고 생각됩니다.
저도 PHP를 좋아하는 한 사람입니다.
요즘 개발은 구글이나 페북같은 테크 자이언트가 뭔가 개발하면 그걸 바탕으로 어플리케이션 개발자가 적용하는 식으로 바뀐거 같습니다. 연장이 자기 멋대로 바뀌고 있다고나 할까요. 풀스택 개발을 하면서 서버쪽 언어만은 최대한 보수적으로 가려고 생각했기에 PHP를 주로 쓰고 있는데, 올바른 선택이였던거 같습니다.
글 잘읽었습니다. 그리고 다른 분들 댓글도 잘 읽었구요. 많은 참고를 하고 갑니다. 저는 java를 주로 쓰지만 워드프레스 신봉자라 php에 대한 관심도 지속적으로 갖고 있는데, 애초에 라스무스가 php를 만든 계기부터 태생적 한계가 있다 보니, 그리고 그 목적에 따라 수단이 정해진 사례이다 보니 결코 잘 디자인된 언어라고 보기는 힘들것 같습니다. 앞으로도 그렇구요.
하지만 시장경제 측면에서 보자면 디자인 패턴이야 어쨌든 낮은 비용에 높은 효율을 가지고 있으면 더 없이 좋은 재화가 되는 거고 PHP는 분명 거기에 부합되는 언어인 것만은 틀림없는 것 같습니다. 어차피 잘 디자인되고 프랙탈을 지키며 성능이 뛰어난 언어나 프레임워크를 만든다고 한들 그것은 개발자 입장에서나 환영받을 일이죠. 높은 비용에 레거시로서의 존립을 유지하기가 힘들다면 시장에서는 생명주기가 짧을 수밖에 없겠죠.
매트 뮬렌웨그가 워드프레스를 만들면서 php를 주 언어로 채택한 것은, 어찌보면 당연한 선택이었을 겁니다. 애초에 PHP도 웹을 지향하고 그에 충실하고자 만들어진 것이니 웹의 개념이 재정립되지 않는 한 앞으로 사라질 일은 없을것이라 생각합니다.
제 php경력에 대한 고민이 참 많았는데 많은 부분을 속시원하게 해주는 사이다 같은 글 이었습니다. 정말 감사합니다.
호주에서 개발회사를 운영하고 있는 1인입니다. 한국에서 Java만 하다가 해외나와서 PHP만 열나게 보고 있네요. PHP 꼭 알아야 되는 언어입니다. 특히 한국을 제외한 나라에서는 요. 혹시라도 해외취직 생각이 있으시면 PHP는 기본입니다.
잘 읽었습니다. 제목이 “이제와서 PHP로 개발해야 하는 이유” 보다는 “웹개발할 때 PHP를 버리지 않아도 될 이유” 정도가 적당하지 않나 싶습니다.
1. 워드프레스가 CMS 중 절대적인 마켓쉐어를 가지고 있긴 하지만, 워드프레스 사용자 중 PHP의 P자도 모르는 사람이 대부분입니다.
2. 페이스북이 만든 HHVM 에 쓰이는 Hack 이란 언어는 PHP와는 문법이 다릅니다. 페이스북이 PHP 로 개발을 시작했으니 HHVM 에서 PHP를 지원하는 정도지, 페이스북이 계속해서 PHP 를 주로 쓸 거 같지는 않고 Hack 을 주로 쓰지 않을까 싶습니다.
3. PHP에도 라라벨 같은 MVC 프레임웍들이나, 워드프레스 같은 CMS 가 많이 쓰이면서 사이트가 점점 무거워지는데(수많은 include 들로 인해 한 페이지를 로딩하는데 실행하는 파일의 수가 급증), PHP 성능이 이를 받쳐주지 못 하는 문제점이 있었고, HHVM 의 등장으로 위기감이 있지 않았나 싶습니다. 만약 PHP7이 나오지 않았으면 PHP 는 워드프레스 생태계를 제외하고는 거의 도태되지 않았을까 싶습니다.
4. wordpress.com 을 서비스하는 Automattic 에서도 서버 사이드에서 Node.js 를 도입하기 시작했습니다.
5. PHP는 여전히 웹개발에서만 주로 쓰이고, 최근의 빅데이터나 인공지능, 모바일, 멀티프로세싱 등의 트렌드에서는 비껴 있습니다.
제가 주장하려는 내용이 거의 전달이 안된 듯한데, 짧게 줄여서 말하자면 서버 프로그래밍의 발전은 이제 끝났다. 그러니 기능많고 쓰기 편하고 레가시 대응이 편한 PHP가 좋은 솔루션이다, 라는 것입니다. 풀스택 개발자로서 요즘 서버로 하는 일이 JSON 만드는 것 밖에 없어서요. 저는 제 철학에 맞는 PHP프레임웍을 개발해서 쓰고 있는데 이부분에 대한 정리도 시간 나는대로 해보겠습니다.
PHP로 꼭 개발해야할 필요는 없구요, 상황에 맞춰서 언어를 선택해야할것같네요.
잘 읽었습니다.
이거와 같은 글을 크롬에서 볼 때와는 좀 다른 것 같습니다. 전체적으로 컬로도 좋고, 다음 글 읽으려고 화살표에 마우스 갔다데면 뭔가 신기한 동작도하고….. 제가 어제 늦게 이 글을 봐서 실수 한게 아닌가 생각이 드네요. ㅎㅎㅎ 그냥 흘려 읽으세요.
한 언어를 오랫동안 사용한 개발자에게는 어느새 그 언어를 종교처럼 여긴다는 말이 있지요. 언어의 장단점을 이야기하는 글에는 언제나 일종의 종교논쟁과 흡사한 댓글들이 보이는 것 같네요. 어차피 처음부터 옳다 그르다 확실하게 정할 수 없는 문제를 가지고 싸우는 걸 보는 느낌 같은거요. (그와중에 Php는 뭔가 이단 취급..) 개인 취향을 떠나서 현실적으로 많은 사람들이 이용하고 있다면 장단점을 떠나서 인정해줘야 한다고 생각합니다. 그걸로 밥벌어 먹는 사람이 얼마나 많은데..(저도 그 중 1인이고요)
아직 개발경력은 15년밖에 되진 않지만 업무상 좋든 싫든 대부분의 언어를 다루어야했고.. PHP만큼 매력적인 언어는 웹에서는 없었습니다. 열심히들 PHP를 까고 문제가 있다곤 하지만 개발하면서 문제가 발생한적은 한번도 없네요.. 아니 문제가 발생하더라도 모두 해결이 가능하다고 해야하나..? 문제 해결이 불가능한 신입 개발자라면 문제가 될수도 있겠지만..
저도 수많은 프로젝트를 해봤지만 PHP가 가장 자유도가 높더군요. 심지어 자바 프로젝트에 생긴 문제도 PHP코드를 넣어서 해결한 적도 있었네요.
우연히 구글링하다가 이 페이지에 오게되었는데, 좋은 글 잘 읽고갑니다. 인문학적 소양이 꽤나 높으신걸로 보입니다. 이정도의 글을 쓴다는건, 직접 써보지 않은 사람말고는 감히 알수조차 없습니다. (댓글이나 몇개 다는건 엄청나게 쉽지만) 저는 좀 다른 이야기를 하겠습니다.
개발자 라는 직업은 분명히 – 다양한 사고를 해야하며, 머리를 쌩쌩 굴려야며, 다양한 시각을 갖고…등등 – 해야 할 직업임에도 불구하고, 어느순간에는 자기만의 사고에 갇히는, 자가당착에 부딪히게 될 위험이 굉장히 높은 직업입니다. 꾸준히 자기자신을 스스로 매질하지않으면 안되는 직업중에 하나이지만, 실제로 그렇게 하는사람은 굉장히 드뭅니다(…) 찾기어려워요. 아니라고 생각하시는 분들도, 자기자신을 투명하고 냉정히 마주 해 보시길 바랍니다.
이말인 즉, 개발자로써 지내온 시간이 길어지고(경력이 쌓이고), 프로젝트를 해치우고, 후배가되어보고 선배가되어보고 IT업계라는 생태계에 몸담고있다보면 버그, 오류라면 자기자신보다 몸과 머리가 먼저 치를 떠는지라, ‘안정화상태’를 추구하게되며, 이 상태가 되면 변화를 두려워하고 – ‘다른 것’- 들을 배척하는 습성이 점차 몸에 스며듭니다.
웹 사이트를 항해하다보면, 우리나라에서 PHP를 까는 글은 굉장히 쉽게 접할수있습니다. (그것도 극성으로 까는.. )
그들은, PHPer를 개발자라고 하는것도 보기싫고, PHP를 언어라고 부르는것도 너무 싫습니다.
PHP가 시장을 점유하는게 너무 싫습니다. 이 생태계에서 꾸준하게, 그리고 오랫동안, 지속적으로 강하게 점유율을 올려가는게 너무 싫고 ‘두렵습니다’.
왜냐. 난 PHP를 까는사람이니까. 난 그렇게 배웠으니까. 그렇게 PHP를 난 버렸으니까.
계속 까여야하는데, under여야 하는데. 자꾸만 거론되고 수면위에있으니까.
그들은 말합니다.
페북, 워드프레스가 심사숙고 끝에 PHP를 ‘선택’ 했음에도 불구하고, ‘PHP가 아닌 다른언어로 개발했다면, 더 잘 빠졌을텐데..’ 라고.
그럼 저도 이렇게 말할수있겠네요.
http://noraesae.github.io/PHP-a-fractal-of-bad-design-kr 사이트 외,
PHP turtles
PHP Sadness
PHP WTF
– 기타등등등
“PHP를 까는글이아니고 다른언어를 까는 글이라면, 나도 더 잘 빠지게 쓸수있었을텐데..”
분명 문단과 단락을 나누어 썼는데 이렇게되었네요.. ㅋㅋㅋ 이곳에 댓글을 처음써보는지라..
PHP를 까는 글의 문제점은 PHP는 시간이 지날수록 자체적으로 문제점을 차곡차곡 개선해 나가고 있다는 걸 무시한다는 것이겠죠. PHP-a-fractal-of-bad-design 같은 글은 PHP 5.3 기반으로 작성되었는데 글쓴이가 제기한 문제중 많은 부분이 현재 해결된 상태인데다 PHP 5.3은 이미 단종된지도 오래되었죠. 그에 비해 파이썬의 2.7의 메인테넌스 연장은 정말 최악의 결정인데, PHP의 단점 전부를 합쳐도 파이썬의 잘못된 결정에 못미칠 정도죠. 파이썬 업계는 3.x을 만든 것도 2.7을 단종시키지 못한 것도 부끄러워해야 합니다.
PHP의 노력과 철학은 정말 훌륭합니다. 이에 대해 설명한 라스무스 러도프씨의 인터뷰가 좋은 내용인데 조만간 번역해봐야겠습니다.
보통 자신의 메인스트림언어와 비교하며 타 언어들을 비하아닌비교를 하는 개발자들은 새로운걸 배우기 싫어하거나, 개으르거나, 정치적이거나, 경험이없거나, 또는 잘못된 경험이거나, 아니면 자신의 언어에 정말로 자부심이 있는경우일탠데 뭐든 좋은상태는 아닌걸로 보입니다. 언어싸움은 종교싸움이다라는 말을 새삼 복습하네요.
자기가 쓰는 언어가 좋다고 하는건 이해가 가지만, 남이 쓰는 언어를 일부러 그 언어가 좋다고 하는 사이트에 방문해서까지 문제삼는건 차별이나 헤이트 스피치의 영역이죠. 헬조선의 다른 모습이 아닐까 합니다.
PHP는 필수아닌가요? 이제와서가 아니고..
요즘 자기 메인스트림 1랭귀지 만으로 어떻게 살아남나요?…
즉 프로젝트에 따라 비즈니스로직에 따라 언어를 유연하게 사용해야 한다면 모든 언어들은 단순히 옵션이 되는것인데
이 옵션들에서 PHP는 당연 3손가락 안에 들어갑니다.
요즘 PHP보다 다른 언어를 쓸 기회가 더 많아지긴 했지만, 간단한 프로젝트를 시작할때 젤 먼저 손에 가는 건 역시 PHP입니다. 프론트엔드와의 궁합을 생각해보면 이 이상이 별로 없습니다. 심지어 자바스크립트보다 더 편해요.
PHP 좋은 언어입니다. 아직도 ‘PHP: 잘못된 디자인의 프랙탈’ 떡하니 던져 놓고 가는 분들 있네요. 저 문서의 상당 부분은 이미 해결되었거나 각종 포럼에서도 지양되는 방법으로 점철되어 있습니다. 당시 저 문서가 쓰여졌을 때도 PHP의 장점과 타 언어의 단점은 철저히 가리고 PHP의 단점은 모두 PHP만의 단점으로 둔갑시켜 버리는 행태에 할 말을 잃었던 기억이 있네요. 비하도 부심도 적당할 필요가 있어요.
PHP는 시대의 변화에 적응해가는데 반대론자는 예전 그대로 머물러 있는 듯 하네요. 몇년 지나면 모든 사람들이 PHP의 장점을 더 확실히 알게 되지 않을까 합니다.
저는 이제 자라나는 컴퓨터 전공학생인데… 이해가 안되는 글들이 많지만 잘 읽었습니다. 그저 학생의 눈으로만 바라본 생각은 큰 물줄기가 흐르면 모난돌은 깎여나가기 마련입니다. 조그마한 군집을 이루는 생명체도 그 안에서 적응하거나 퇴화 혹은 사라지기 마련입니다. PHP를 배우면서 PHP는 어쩌면 꾸준히 흘러서 이미 흐르는 길이 만들어진 물의 흐름과도 같다고 생각됩니다. 그래서 사용률이 80%를 넘는것이겠지요? 그것은 굳이 많은 말을 하지 않아도 ‘어떤 이유에서건’ PHP가 선호된다는 것이겠죠. 이곳에서 아무리 아무리 많은 분들이 토론을 한다 한들 이것은 기원에서 바둑을 한판 두는것과 크게 다를 것 없다고 생각합니다. 글쓰신분께서 써주신 글을 다 이해했다고 생각하진 않지만 좋은 글 잘 읽었습니다. 큰 물의 흐름은 그것이 집단 의사결정의 오류 혹은 군중심리라고 할지라도(말도 안되지만) PHP가 대단한 것 같습니다. 좋은 PHP 개발자가 되어서 선배 개발자들을 위협해야지 다들 열심히 하시겠군요…ㅋㅋㅋ 추운데 건강관리 잘하십시오.
좋은 글 읽고 갑니다. 댓글도 하나하나씩 읽으면서 아쉽네요.
php가 언어가 맞다면? 이란 댓글도 참 웃음밖에 안나오네요.
그리고 더 좋은 디자인언어가 신입개발자에게 좋다하신분도 참 신입개발자에게 언어를 가르켜본적이 있으신건지
여행객님에 대한 댓글 개사이다!!!
전 현재 java/jsp쪽을 많이하지만 처음배웟던 언어가 php였고 아직도 php가 생산성이 높고 자유도가 높으며
문제해결점에 가장 빠르고 손쉽게 해결할수 있는 언어로 생각하는 1인입니다.
어떤 언어이든지 안좋은면은 있습니다.
단지 안좋은면만 보고 까는분들 발라 버려주세요.
글쓴이님 화이팅
질문 있습니다. PHP언어로 잘짜여진 코드를 보려면 어디가 가장 좋은가요?
C++이나 C#을 사용하다 어찌하다보니 이젠 웹쪽 언어도 공부하려고 하는데 국내에선 자료찾기가 힘드네요.
잘 짜여진것 까지는 잘 모르겠지만,
저는 보통 Sourceforge를 주로 봅니다.
위에 다른 분들도 많이 말씀 하셧지만
PHP가 자바에 비해 상대적으로 낮은 인기도여서.
예전엔 PHP공부할때 제로보드 많이 봤었던 기억이 나구요.
phpBB 많이 분석햇던 기억이 나네요
문제는 PHP로 안되는게 별로 없을 뿐더러 구글링등을 통해서 얻을 수 있는 팁이나 문제해결 방법은 PHP가 꽤나 많은 편에 속한다는 점인 것 같습니다.
그리고 까는 사람 대부분이 찬양하는 언어로도 뭐 그닥 훌륭하게 만들지 못하는 경우도 많구요… 도구일 뿐이라는거죠.
어쩌구 저쩌구 원론적인 (심지어는 철학적인) 이야기들을 장황하게 늘어놓는 사람이 많지만 막상 현업에서의 필요성은 제대로 설명못하는 경우가 대부분입니다.
글쓴님과 같이 PHP의 경우는 이런저런 이유로 쓴다.. 고 말하는 사람들은 좀 있는데 말이죠.
참고로 저는 처음 밥벌어먹기 시작할때 C와 C++ 둘다 사용했는데 당시에는 좀 정통한 C개발자들은 C++마저도 까는 분위기였어요.
Basic 언어같은건 어린애들이 실습하는 정도 취급받았고.. 비슷한 맥락으로 Java가 처음 나왔을때도 비슷한 반응이었죠.
Visual Basic으로 만든 어플리케이션이 그렇게 많았다는건 최근에 알았습니다. 저도 안쓰니 몰랐던거죠.
제가 잠깐 Visual C++ 6 를 쓰며 ‘이게 진짜지..’ 하는 동안 돈은 VB가 벌고 있었네요 ㅋㅋ
지금은 뭐.. C/C++.. 보수적인 분야를 빼고는 쓰는데 어디 있나요..
PHP로 웹개발(정확히는 풀스택)을 시작한지 어언 7,8년 되어 갑니다면 아직 그다지 바꿀만한 이유는 못찾는 중입니다.
그다지 고집스러운 꼰대타입은 아니라고 자부하는데 말이죠.. 그냥 계속 PHP만 하다보니 잘먹고 잘살고 있어요.
밥줄이 끊긴다거나 다른 이유가 생긴다면 저도 바꾸겠죠?
C C++ JAVA C# 써 봤고 요즘 PHP와 WordPress에 푹 빠져 있습니다. 모든 것이 중요하지만 가장 중요한 것은 가장 저렴한 비용으로 사용자가 원하는 최대의 효과를 내는게 아닐까 싶습니다. 하드웨어의 발전 덕분에 퍼포먼스가 큰 문제가 아닌 지금 시점에서 PHP가 다른 언어에 비해 그리 부족한 점이 없는 반면 장점은 매우 많은 언어라는 것에 동의하지 않을 수 없네요. 개발자들은 개발적인 측면만을 너무 강조하는 경향이 있는데 사실 가장 중요한건 사용자 관점이죠.
잠깐 알바로 WordPress로 만든 웹사이트를 모바일 환경에 최대한 동작할 수 있도록 봐주었는데 그러면서 자세히 들여다보니 무료로 제공되는 플러그인들만 사용해도 매우 강력한 웹사이트를 만들 수 있더군요. 개발을 전혀 모르는 사람도 딱 한달만 마음 먹고 집중하면 필요한 기능들을 다 갖춘 훌륭한 웹사이트를 만들 수 있을 겁니다. 거기에 PHP에 대한 기본 지식만 탄탄하다면 혼자 필요한 플러그인을 개발도 하고 수정도 할 수 있겠죠.
큰 기업일수록 회사 구성원의 인적 네트워크 때문에 비싼 회사의 제품이나 속칭 잘나간다는 언어를 제대로된 냉정한 “비용적” 평가 없이 사용하는 경향이 있습니다. 낭비죠. 가끔 작은 회사의 고객들이 저에게 물어오면 스몰 비지니스를 위해서는 블로그만으로 충분하고, 그 다음 좀 더 기능이 필요하면 워드프레스나 CMS를 사용하고, 정말 많은 비지니스 프로세스를 웹상에서 처리해야 한다면 개발을 검토하는데 장기적으로 매우 많은 비용이 발생하니 신중히 검토하라고 얘기해 줍니다. 보안 문제도 비슷한 관점에서 설명해 주고요.
이글을 처음부터 끝까지 읽어보았는데…이러한 분쟁은 항상 끊이지가 않는군요.
저같은 경우는 PHP/JSP/ASP와 C++/C# Perl 등으로 다양한 어플래케이션을 만들어보았지요.
근데 PHP가 최악이다. PHP가 언어냐? PHP는 지금도 늦지 않았으니 버려한다는 등의 의견들을 늘 보게되는데
“왜?”라는 생각은 늘 떠나지 않습니다. 개발을 22년차 하는데도 불구하고 PHP를 버리기 힘들정도로 웹 영역에 많은 점유율을 가지고 있는데다가
그다지 불편하거나 번잡하고도 껄끄러운 에러리포팅을 발견한 적이 없어서 입니다.
또한 우리나라에서만 PHP를 천박한 찌그레기마냥 취급하고 있는데 그것또한 “왜?”라고 반복하고 싶습니다.
저는 PHP만 다뤄본것이 아닌 다양한 서버사이드를 접했고 그에 따라 장단점을 확실히 이해하고 있다고 자신합니다.
ASP와 같은 언어도 현시대에 개발자가 없을정도로 거의 데드랭입니다. 하지만 저는 합니다. 왜냐하면 그것또한 클라이언트가
원하면 해줘야한다는 것이죠. 그리고 PHP로 꼭 전향해야한다는 것보단 PHP를 알고 그에 맞는 프로그래밍과 그에 알맞는 알고리즘,로직 등의
기본적인 틀을 깨지않는 디자인이 가장 그언어를 잘활용하는 개발자라 판단됩니다.
우리나라 웹솔루션 업체의 89%는 PHP인데다가 가장 널리알려진 오픈빌더들도 모두 PHP입니다.
그만큼 접하기 쉽고 에러리포팅에 대한 대응력도 뛰어나며, 유연성이 높아 다른 어플리케이션과도 쉽게 동화됩니다.
그리고 저의 경우는 대규모 오픈마켓을 엔터프라이즈 서버를 이용하여 개발하였는데 무리없이 잘 돌아가는 것으로 보면
PHP가 최약체 언어는 아닌 것만은 확실합니다.
멋진 글과 멋진 댓글들입니다.
각자 자신의 의견을 피력하고 또 보완하는 모습이
고수들의 한 바탕 검무를 보는 듯 하네요 (뜬금 없는 무협 ㅈㅅ)
B급 개발자인 저로써는 많은 선배 개발자분들의 이러한 의견들이
저의 앞날에 많은 영향을 미치는 것 같습니다.
PHP가 가지는 철학과 자신감을 보는 한편
개인적으로 왜 PHP는 다른 언어(web)들과 대결구도로 전개되는지에 대해
한번 고찰해볼 필요가 있을 것 같습니다.
종종 들러 유익한 내용 얻어 가겠습니다.
감사합니다
프레이 포 피에치피
글 보며 예상하긴 했지만 역시나 자바탈레반들의 테러가..
아 미치겠다 자바탈레반 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 자바개발자지만 현웃터졌네요 ㅋㅋㅋㅋ
자바탈레반 공감 ㅋ
저 역시 언어의 아름다움 같은 건 됐고, 문제를 해결 할 수 있다면 된다. 라는 입장이라서.
점심먹고 올라와서 리드트렌드 보다가 들어왔네요. PHP의 뭐가 좋다. 뭐가 안좋다의 문제가 아니라 결국엔 비즈니스 어플리케이션의 문제해결을 위한 최선책이 무엇이냐에 집중하면 비용측면에서 PHP를 선택하게 되더라구요. 많은 분들이 PHP의 언어적인 결함?을 많이 지적하시는데, 저는 결함이 없는 언어는 없다고 봐요. 최근에 대형 프로젝트들을 몇 건 마쳤는데.. 결국엔 발주처의 마감때문에 (이것도 비용이 이슈지요.) 글쓴 분께서 언급하신 PHP와 자바스크립트로 프로젝트를 완료했었습니다. 그렇다 다른언어로 했다면 프로젝트 기간을 초과하고 사업비용을 탕진하고 실패했을꺼다라고 뭐 이렇게 말씀드리는건 아닙니다. 다만, 직접 겪어보니 다시 보게 되더라 라는 부분에 있어서는 공감합니다.
이야.. 이 떡밥을 이제야 물게되다니 안타깝군요(?) 저 역시 학창시절부터 20대 초반까지 PHP를 주력으로 사용했던 입장으로 글/댓글에 모두 공감합니다. 다만 PHP가 가진 단점에 대해 이해하되 모던 PHP라 불리는 방법론대로 사용한다면 전 아직도 PHP가 타 언어들에 비해 밀리지 않는다고 생각합니다. 최근에는 서버 사이드를 Node.js를 주력으로 사용하는 입장으로 프로그래밍 언어는 결국 “얼마나 원하는 결과물을 빠르고 유지보수가 쉽게 만들 수 있느냐”에 달렸다고 생각합니다. 그런 관점에서 올바르게 사용한 JavaScript와 PHP는 최고가 아닌가 싶습니다.
접근성이 얼마냐 좋으냐?
얼마나 편리하냐?
답은 나왔음.
DKAN을 검색하다가 우연히 이글을 읽었습니다.
재밋에 한참을 읽었네요..
쭉 읽다보니 11월엔 아직 리플이 없어서(^^) 댓글 하나 늘려봅니다..
경력이 모든걸 말해주진 않지만
이글의 저자님과 위에 22년차님처럼 긴 시간동안 시장의 흐름에 따라
ASM 부터 java,node.js 까지 흘러오게 되었습니다.
모든 언어의 장단점은 다 있지만,
프로젝트가 인력/기간등의 여유가 있을때는 Java로 진행하고,
속도전을 빠르게 해야 할때는 PHP로 진행하고 있습니다.
주제와 좀 다른 내용일 수 있으나,
언어를 장단점을 논하기 이전에 개발자의 인성이나 케릭터의 문제가 더 크지 않을까 싶습니다.
Java가 아무리 재사용성이 높다고 하더라도, PHP가 속도전에 강하다고 할지라도
언어를 재대로 이해하지 못하고 개발 한다면 언어의 장단점은 무의미 해지지 않을까요?
전 개발자(관리자/의사결정권자) 케릭터의 문제이지 언어의 문제는 아니라고 봅니다.
이 포스팅이 PHP의 고찰정도로 생각해본다면 PHP의 손을 들어주고 싶네요.
혹시, 개발자 새내기가 이글을 읽으신다면, 이 한마디를 해주고 싶습니다.
현재 JAVA가 대세이긴 합니다만, 개발자는 한가지 언어만을 해선 안됩니다.
여러가지 다양한언어의 사상을 이해하고, 공부를 개을리해서는 안됩니다.
나중엔 위에서 말한 관리자/의사결정권자가 되었을때
수평적인 폭넓고 다양한 경험을 기반으로 안정적인 의사결정을 해야 하는데
이러한 기반이 없이, 수직적인 하나에 대한 깊이만 있다면 자가당착에 빠지게 되고
심지어 조직을 위험에 빠트리는 오류를 범할 수 있습니다.
우리 후배님들은 위 선배님들께서 하신 말씀을 잘 보시고
필요한 부분을 취하시기 바랍니다.(사자성어로 멋지게 마무리 하고 싶었는데. 기억이…..)
안녕하세요.
올 여름부터 뜬금없이 웹 개발을 공부하고 있는 학생입니다.
웹 개발을 위해 데이터베이스는 어떤 언어로 만드는 것이 좋을까 궁금해 검색을 하다가
이 글을 보게 되었습니다.
제가 배우는 학원만해도 과정 마지막에 php와 mysql을 배웠는데요
배우면서도 선생님도 그렇고 php잘 안쓴다고 이야기를 하면서 가르쳐 주더라고요
위에서 말씀하신 점들을 보면 저는 php가 어떻게 보면 실용적이고 나쁘지 않다고 생각하는데 말입니다.
이 글과 위 선배님들의 의견을 보고 php를 파보려고 합니다. ㅎㅎ
그냥 자신에게 맞는 언어를 선택하면 되지.
전부 다 하나같이 자기중심적 사고를 가지고 말을 하고 있구먼.
저 위에 어떤 양반은 PHP를 까 내리면서도 왜 까 내리는지 이유 하나 없고.
아래쪽에서 2번째 위에 양반은 PHP를 칭하면서도 왜 칭하는지 이유 하나 없고.
그냥 자기들이 써보지 않았으면 입을 다물고 있으면 되는데.
뭐라도 아는 척하려고. 어떻게든 자신의 과시하려고.
언젠간 불순분자 놈들의 인생에 피눈물 흘릴 날이 꼭 오리라.
PHP로 짤경우 대부분 예외처리 디버깅 유닛테스트를 전혀 고려하지않습니다. 게다가 PHP로된 라이브러리 예제가 안좋은 구현이 너무 많습니다.
서버 메모리에 죄다 박은다음에 파일이 쓰거나하는 등…
스트립트 언어상 IDE에서 제대로 지원하는 것도 힘들고, 그러니 메모리리크 엉터리 프로그램을 짜놓고도 부하테스트도 전혀 하지않고 납품하는 경우가 많습니다.
PHP할바에 파이선이나 노드, 스칼라 보는게 훨씬 이득입니다.
저는 웹개발자는 아니지만 한 때 웹개발을 했던 사람입니다.
php java를 둘 다 써본 경험으로 당프로젝트에 효율적인 언어를 쓰면 된다가 제 생각이고요 양질의 빠른 아웃풋이 장땡이니까요
소규모 찍어내기 에이전시라면 두말필요 없이 php를 쓰겠습니다.
플젝을 진행하다보면 중간에 개발자가 바뀌고 개발자 특성상 수정보다 다시 만들자 이런 쪽으로 갈 가능성이 크므로 그럴 바엔 첨부터 java보다 php가 유리하지 않겠나 해서 php에 한표입니다.
좋은글 잘 읽었습니다.제가 생각하는 PHP는 낮은 학습시간 대비 빠른개발과 높은 생산성에 최고의 언어중 하나 라고 생각 합니다.
저도 SI자바 개발로 먹고 살고 있습니다만, 왜~ 교모가 크기 않은 기업에서 자바로 개발하는지 의문이 많이듭니다.
다들 자바가좋다고 하니까 그런것도 있고, 또 대부분의 개발업체에서는 자바로 개발해야한다고 떠들고 다닙니다.예전에 어디서 들은말이 있는데.
한참 정부프로젝트가 많은 시절에 개발단가를 산정할때, 업체에서 정부쪽에 개발비용을 많이 받기위해 나름 외국에서 고급기술이라고 하는 것들과,비싼 장비및 소프트웨어를 납품하기우해 자바와 자바 관련 개발장비, 소프트웨어를 정부에 권유 했다고 하더군요.
물론 해외에서도 보안및 성능이 좋다는 말들이 여기 저기서 이야기 하니까. 국내도 그냥 그런것을 받아 들인것이겠죠.
마치 국회의원들이 무조건 선진국들이 하는건 무조건 다 따라하듯이요. ㅋㅋ
하여간, 지금은 사실 언어 따위는 별로 중요 하지 않다는 거죠.누가 빨리 자기가 운전할줄 아는 걸로 서울까지 가느냐가 중요 하죠.어짜피 큰차던 작은차던 기름(학습곡선) 먹는 것들 유지비 차이라 생각 합니다. PHP는 상당히 유지비가 적고 오픈소스 소프트웨어가 많다는 장점이 아주 많고,오래 됐지만 게시판등, 기능이 다 구현되어 설치하고 그냥 사용해도 될만큼 좋은 소스들이 많아요. 개발 서버 셋팅도 아주 쉽습니다.
물론 앞으로는 nodejs 가 좀 php의 영역을 상당수 대체 할것이라 생각 됩니다만, 그래도 예전에 만들어 놓은 오픈소스 소프트웨어(워드프레스)수정 해서 사용하려면 역시 PHP를 써야 합니다.개인 개발자나 중소기업에서는 PHP가 메인으로 사용되어야 한다는 저는 생각 합니다.아주 범용적이고, 인터넷 돌아 다니다 고객이 원하는 기능이 있는 소프트웨어 찾다 보면 이미 PHP 되어 있는 것이 상당이 많아요.머 멀리갈 필요도 없이 워드프레스가 대표적이네요.
아~요즘 SI자바 개발 셋팅을 64비트에서 원도우7 이상에서 하시려면 적어도 cpu i5 + 8G 램이 최소 개발 사양이구요.기본은 cpu i5 + 16G 이상
이 되어야 개발 하는 그나마 컴퓨터 던지고 싶지 않더군요.
저는 다음 프로젝트에서 cpu i7 + 32G 로 개발 노트북을 사야 겠어요.자바 기반의 개발은 편리함도 주지만, 정말 고사양 개발환경을 원합니다.
그에 비해 PHP는 정말 낮은 사양으로 개발을 할수 있더군요.
하여간 저는 이글을 쓰신 분의 말에 많은 공감이 갑니다.
php가 문제가 아니라 개발자 커뮤니티 분위기, 수준?이 문제 인것 같습니다.
다른 언어 커뮤니티들은 아무리 보수적인 분위기의 언어라도 새로운 기술이나, 기법등이 검증이 되면 나름 빠른속도 소개되고 정착되는데요,
해외는 어떨지 모르겠지만, 유독 php쪽만 그렇지 못하고 있어요.
페북 커뮤니티 등에서 몇년째 모던 php 캠패인(?)을 하고 있지만… 글쎄요, 솔직히 아직도 대부분은 옛날 방식으로 하고 있는것으로 보입니다.
mvc패턴만 써도 정말 양반이죠.
개발자 모임, 행사등에 대해서도 할말이 많습니다.
자바스크립트, 스칼라, 스프링 심지어 국내에선 개발자도 적은 파이썬은 코엑스 행사장까지 빌려가며 할 정도로
각 언어, 프레임워크 커뮤니티등에서 규모 관계없이 주기적, 비주기적이든 상당히 자주 각종 행사 모임등이 열리는데요,
php는 그렇게 개발자 풀이 많으면서도 정기적으로 대규모 행사 모임이 있다는 얘기를 거의 듣지 못했습니다.
그나마 최근에 들었던 소식은 xe쪽이였는데, 이마저도 개발자위주가 아니였다는 얘기를 들었습니다.
아무리 소수의 몇몇 개발자들이 아무리 좋다고 하면 뭐합니까. 좋은걸 줘도 그것만 버리고 쓰는걸요.
이쪽 개발판은 xe와 워드프레스가 죄다 망쳐놓은것 같아요.
국내에도 있어요. 근데 PHPCon은 없고 네이버 지원받는 XE가 여는 연례행사가 가장 큰 규모일거예요. 모던PHP와 라라벨에 관해서 가장 한국에서 진보적인 제스처를 취하는 커뮤니티일 겁니다.
글쎄요… 한국에 워드프레스 개발자가 있긴 한가요? 영미권이야 워드프레스가 버려놨다고 할 만 하지만 한국은 워드프레스 플러그인 만들 수 있는 개발자도 얼마 없을거예요. 정확히는 제로보드와 그누보드가 다 버려놓은거죠. XE는 그래도 객체지향적인 접근을 꽤 오래전부터 했던 툴입니다. 한 2009년에 처음 나왔던걸로 기억하는데 말이죠.
완전 싸구려 혹은 무료 웹호스팅에서조차도 지원을 해주고, 15분이면 게시판 내지 홈페이지를 만들 수 있는 무료 CMS도 존재하고, 실시간으로 답변이 달리는 커뮤니티도 있는데, 개인 사용자가 이용하기에는 php만한 언어가 없습니다.
타언어 사용하는 분들은 애써 이런 장점은 장점이 아니다라고 하며 언어구조가 어떠니하는데, 그런 분들 업체에서 작은 게시판 하나 달아달라고 하면서 그래도 요즘 어지간한 게시판에 다 있는 스크랩이랑 쪽지보내기랑 좋아요 버튼 넣어달라고 했을 때, 본인이 사용하는 언어로 커스텀 하시나 봅니다. 얼마나 삽질하며 만들지 정말정말 궁금하네요.
php7 이후 옛날 이야기가 되어가고 있는 잘못된 디자인의 프랙탈을 아직도 들먹는 그런 분들은 도대체 얼마나 아름답고 이상적인 코딩을 할 수 있는 분들일까요? 다들 os라도 만드는 분들이신가. 적어도 웹에 있어서만큼은 HTML과 CSS와 자바스크립트의 발전으로, 점점 서버단에서 무슨 언어로 돌아가는지가 중요해지지 않고 있습니다. 그저 값싸고 빠르면 됩니다.
공학에서 가장 큰 가치는 코스트. php 비판하는 분들 글을 읽어보면 이 분들은 엔지니어가 아니라 마치 과학자 같다는 느낌을 받는 건 저 뿐일까요….
단기적이고 소규모에서는 php 가 좋죠.
node.js 가 더 좋다고 생각합니다만은…
장기적이고 대규모라면 java 같은 oop 가 좋죠.
전 mvc 마저 부정하는 개발자를 만나봤는데… 그 분이 양산하는 코드는 오로지 그분만 수정 가능하죠…
그런 코드는 팀프로젝트에서 암이죠.
잘 읽었습니다. 한 사람의 PHP 개발자로 저와 같은 생각을 하고 계신분이 있다니 너무 반갑습니다.
댓글들마저 하나하나 다 읽어보게 되더군요.
비록 저는 워드프레스는 사용하지 않지만 PHP라는 언어의 최고 장점은 빠른 생산성에 있다고 생각합니다.
업종 변환을 앞두고 있는 조그만 구멍가게 사장입니다. 웹에이전시였구요, PHP 썼습니다. 한국에서 사업하는 사람중에 젠드 시험 패스한 사람은 몇 안될겁니다.
길게 적었다가 뭐 이렇게까지… 라는 생각이 들어서 그냥 단도직입적으로 말씀드립니다. (한국에서) PHP에는 미래가 없습니다. 일단 PHP 쓰는 에이전시들 요즘 많이 망하거나 문닫기 직전까지 몰리는거 아시는 분들은 아실겁니다. PHP 시장 자체가 불경기에 영향을 민감하게 받는 구조고 뭣보다 매출액이 적은 언어입니다. 그러다보니 인건비도 적습니다.
저도 고용주 입장이지만 PHP하는 사람들 참 인건비 싸게 부려먹힙니다. 우리나라에서 PHP는 경력 인정도 제대로 못받는 후진 언어입니다. 워드프레스 쪽을 파시는게 그나마 가망이 있습니다. 그런데 모던PHP가 대세가 되면 뭐 좀 달라질까 하는 분들 계신줄로 압니다.
한마디만 할게요. 택도 없습니다. 일단 모던PHP, 라라벨 이런게 갑자기 튀어나온 줄 아시는 분들이 계시는데 천만의 말씀입니다. 심포니2같이 라라벨의 기반이 되었던 프레임워크들, 유럽 미국에서 널리 쓰이면서 PHP 개발자들이 억대 연봉 땡겨갈때 한국에서는 고작 제로보드, 그누보드로 푼돈이나 만지던게 불과 몇년 전입니다.
라라벨은 어디서 새로 만들어진게 아니라 그냥 well-designed된, 기존의 프레임워크들의 개선 판이었을 뿐이에요. 근본적으로는 그렇습니다. 한국에서는 쓰일 일이 요원한 프레임워크입니다.
네. 이게바로 PHP가 아무리 발전하고 성장해봤자, 한국에서 온전할수 없는 이유죠. 당신같은 분들이 PHP한답시고, 어디가서 이렇게 말하고 다니고, 그렇게 해왔기때문에 PHP 바닥이 이렇게 되어버렸고, 또 아직도 많은 잔해들이 남아서 발목을 잡고있죠. 저는 당신같은 분들이.. 왜 아직 다른걸로 넘어가지않고 PHP를 사용하고 있는지 모르겠습니다. 도저히 모르겠어요 ㅎㅎ P7 이상의 환경으로 업그레이드는 하셨으며, 아니 그전에 PHP THE RIGHT WAY 정도는 다 외우고 다니시는지 궁금하네요. 뭐 얼마나 넓은 시장에서 활동하시면서 PHP는 미래가 없고 망했다고 호언장담하는지는 모르겠습니다만 빨리 은퇴를 해주시는게 한국 PHP시장에 도움이 될것같네요 아저씨.
워낙 수준떨어지니 다 접어두고 한가지만 여쭐게요. 뭐 PHP the right way같이 나온지 꽤 된 자료 끄집어오는거 보니까 견적나오긴 하지만. 한국어 번역은 꽤 최근에 됐나봐요? 님 같이 콩고물이나 줏어먹고 아는체 하는 사람 한둘 본게 아닙니다.
바로 당신같이 개구리 우물 안 인줄 모르고 아는척 하는 스크립트 키드들때문에 한국 PHP 시장이 이렇게 된거니까 엄한 사람 비난하지 마세요. 외국에서도 PHP하면 보안 문제, 스파게티 코드,기본적인 지식이 결여된 저급 개발자라는 인식이 어느정도 있지만 한국만한 곳은 없어요. 이렇게 PHP 커뮤니티에 기여 안하는 나라도 드물고, 또 모던PHP에 대해서 이상한 자부심갖고 설쳐대는 사람들이 있는 나라도 없습니다. PHP7 설치하고 속도 빨라지니까 신문물 처음 접한 조선인처럼 막 오르가즘 느끼나요?
저급하게 떠들고 다니지 좀 맙시다. 루비 개발자들이 보면 얼마나 우습겠어요.
모던PHP가 협업, 생산성, 퍼포먼스 측면에서 큰 개선이 된 건 사실이지만, 그렇다고 무슨 없던게 갑자기 생겨난게 아니라는 점을 지적한겁니다. PHPNG로 방향성이 잡히면서 커뮤니티에 활력이 생기기 시작했고 기존에 점진적으로 논의되고 개발되던 것들이 주류로 힘을 받기 시작한겁니다. 애초에 근본이 없다가 갑자기 모던PHP로 넘어가는 추세인 한국에서 지금 상황이 게임체인저가 될거라고 생각하는건 여기 실정을 고려한다면 우스운 얘기예요.
이것도 못알아먹으니까 그런 엉뚱한 소리나 하고 있겠지만 ㅉㅉ
제가 루비 개발도 하고(심지어 현재도 루비 개발로 꽤 벌고 있습니다), 모 회사의 CTO를 했을때는 파이썬이 주 언어였습니다. 그런데 그때도 지금도 PHP로 개발하는 것을 선호합니다. 현재 legacy문제를 심각하게 생각하는 언어는 Go와 PHP밖에 없습니다. 하나 더 추가하면 Javascript겠지만, 아직 module 스펙이 혼돈이라서요.
님이 무슨 소리를 하시는지 전혀 이해를 못하겠지만, 세상에 이런 분이 있다는 것을 알리기위해 댓글을 삭제하지는 않겠습니다.
글하고 댓글들을 읽으면서 많은 생각이 드네요.
올해로 PHP 사용 9년차인데 아직까지 “PHP라서 불편했다”라는 생각은 들지 않았습니다. (Node.js나 Python으로도 개발했었습니다.)
사실 무슨 언어로 만들든 그 목적이 달성되기만 한다면 충분하다고 생각합니다.
개발하는 과정에서 코드의 일관성도 중요하고 협업하기 좋아야 한다는 것은 당연하게 생각하지만, 그건 어느 언어로 개발하더라도 신경써야할 문제이지 PHP의 문제는 아니라는 점이지요.
다른 설정을 크게 고려할거 없이 쉽게 설치할 수 있고, PHP7이 되면서 속도도 2배가까이 빨라지고, Nginx + PHP-FPM + PHP7 조합을 같은 사양의 서버에서 퍼포먼스로 이길 언어 찾기 쉽진 않을 겁니다.
1년된 글이 아직도 댓글이 ㅎㅎㅎㅎ
가장 좋은 언어는 돈버는 언어입니다.
돈버는 언어는 클라이언트의 요구사항을 빠르게 개발할 수 있어야 하며, 오랫동안 (유지보수 하는동안) 오류가 가장 적게 나는 언어입니다.
그것은 바로 개발자에게 가장 최적화된(개발자가 가장 잘아는) 언어라는 것입니다.
PHP가 되었건 JAVA가 되었건 다른 어떤것이 되었던간에 말이죠.
저는 웹 개발을 하다가 시스템 엔지니어로 업종변경한 뒤로도 SE 일하면서 필요한 어플들은 직접 개발해서 사용하는것을 선호하고 있습니다.
회사의 사항에 맞춰 플랫폼 사항에 맞춰 필요한 사항에 맞춰서 개발하고 있고요.
특정 사항이란 회사나 프로젝트의 특성 및 규모에 따라 Windows가 될 수도 있고 Linux가 될 수도 있는 것이구요.
특성에 맞는 OS에 따라서 PHP가 될수도 JAVA가 될수도 GO가 될수도 Python이나 Ruby가 될 수도 있는 것이지요.
시국도 거지같은데 정치인들처럼 누가 잘못햇네 누가 병맛이네 내가 잘낫네 하지 마시고
좀 더 흥미롭고 생산적인 토론의 장이 열려야만 더 가치 있는 개발민국이 될 것 같다고 생각 드네요.
Legacy기술은 결국 유지보수시에 문제가 생길 수 밖에 없습니다. 기능 추가를 아예 안하고 maintenance만 한다면 모르겠지만요. 그런 의미에서 PHP나 GO와 같은 언어가 유리하다는 것이죠. 이제와서 JAVA6는 좀 애매하죠.. 토론자체는 좀 비생산적인 부분이 있고 제가 전달하고자 하는 본래의 목적보다 PHP혐오자들의 성토의 장이 되어서 아쉬운 점이 있습니다.
PHP의철학
I actually hate programming, but I love solving problems.
저는 정말로 프로그래밍을 싫어해요. 하지만 문제를 처리하는 것은 좋아하죠.
-> 프로그램을 만든다기보다는 문제 해결을 위한 코드 뭉치가 필요했다
I really don’t like programming. I built this tool to program less so that I could just reuse code.
저는 정말로 프로그래밍을 싫어해요. 저는 코드를 다시 써서 프로그래밍을 덜 하게 만들기 위해 이 툴을 만들었어요.
->묻지마 재활용. PHP에 전역적으로 배치된 천여개3의 내장 함수입니다.
I was really, really bad at writing parsers. I still am really bad at writing parsers.
저는 예전에 정말 파서를 잘 못만들었어요. 그리고 지금도 저는 파서를 잘 못만들어요.
->그는 PHP 파서를 잘 못만든다고 합니다. 다행히도 지금은 그의 말대로5 PHP를 그가 혼자서 만들진 않습니다. PHP 7에선 AST도 도입되었죠. 하지만 그는 PHP라는 문제 해결에 있어서 파서를 막 만들었습니다.
I’m not a real programmer. I throw together things until it works then I move on. The real programmers will say “Yeah it works but you’re leaking memory everywhere. Perhaps we should fix that.” I’ll just restart Apache every 10 requests.6
->저는 진짜 프로그래머가 아니에요. 다 던져두고 돌아가게 되면 그때 행동해요. 진짜 프로그래머들은 말하죠. “그래, 돌아는 가, 하지만 당신 코드는 산지사방에서 메모리가 새고 있어. 어쩌면 우리가 그걸 고칠 수 있을지도 몰라” 저는 그냥 Apache를 요청 10회마다 재시작할 뿐이에요.
PHP로 구글링을 하다가 여기까지 오게 되었습니다.
좋은 글과 논의들 감사합니다.
자바 개발 10년에 PHP를 몇개월 접해보는 개발자로서 논의 내용들에 충분히 이해가 갑니다만, PHP를 옹호하는 글에 비판을 달기도 그렇다고 비판을 하기도 어렵네요..
다만 [PHP 자영업자]분이 하신 말씀에 일부 공감합니다. 국내 시장에서는 PHP 개발자들에게 빠른 개발과 저렴한 비용, 그리고 오픈소스를 가져다 쓰는 일종의 COPY & PASTE 가 만연화 되었다는 거죠.. 외국처럼 뭔가 개선의 논의나 깊이있는 포럼 등이 아쉬운 거죠.. 저처럼 PHP를 처음 접하는 사람에게 가이드를 제시할 만한게 있나요?
그냥 그누보드나 워드프레스 가져다 쓰고 고쳐서 써라는 말대신 말이죠…
자바나 다른 언어를 고급언어로 취급하는 데는 이유가 있겠죠.. 그렇다고 PHP를 폄하하는 것은 아닙니다. 다 용도에 맞게 쓰면 됩니다… 글로벌 변수하고… 정형화 되지 않은 변수(문자를 넣으면 문자형이 되고 숫자를 넣으면 숫자형이 되는 자바스크립트하고 유사하죠? )가 처음에 당황스러웠지만서도 아무튼 대규모 프로젝트나 소스코드가 일정량 이상으로 넘어 버리면 정리하기가 쉽지 않은 언어라고 생각됩니다. 빠른 테스트용 개발이나 소규모 개발에는 적합할 수 있어도 여러 사람이 분업화된 개발을 위한 대규모프로젝트에는 다소 부적합하지 않나 싶습니다. 물론 PHP5 기준으로 일부 학습한 내용으로 판단한 거니 그냥 무시하셔도 됩니다.. 다만.. 여전히 국내엔 레퍼런스가 부족하다는 것과 복사해서 붙여넣기가 만연한 개발문화에서 어느 언어가 좋냐 나쁘냐라고 따지는 것은 우습다고 생각되네요….
자바가 무슨 교리마냥 퍼진 이유는 일단 ” 한번 작성하면 여러군데서 쓴다”라는 모토로 JVM이 설치되는 환경이라면 별도의 재컴파일 없이 하위 호환성을 유지하며 돌아간다는 것 이게 큰 장점이겠죠.. 그 때문에 국내에선 정부에서 장려할 수도 있겠지만요…
저는 자바스크립트를 제일 어려워 합니다… 누구나 예제만 보고 가져다 쓰면 되는 언어라고 생각하면 쉬울 수 있지만.. 막상 남들이 짜놓은 자바스크립트 기반 프레임워크를 제대로 분석해 본다면… 참 배울게 많은 언어입니다.
언어의 장단점을 따져 누가 더 낫냐고 싸우기보다는 각 언어의 특성을 이해하고 거기에 맞는 언어를 사용하면 된다고 생각합니다.
http://highcode.tistory.com/16
참고로 해당 링크 들어가 보시면 언어별로 사용 순위나 스펙트럼 (사용분야) 별 순위가 있습니다.
웹만 개발하시는 분이라면 PHP가 좋겠지만, 임베디드나 웹이 아닌 일반 프로그램에서의 사용 영역도 고려를 해보시는 분이라면
다른 언어들의 특성도 고려를 해보시기 바랍니다.
와우.. 댓글 많네요.. 저도 낚였습니다. 하하
저는 개발자로 15년이상 일하고 있습니다.
웹 분야 언어는 주로 PHP-> ASP-> ASP.NET(C#)-> JAVA, ASP.NET(C#) -> PYTHON -> PHP -> NODE.JS 등을 다뤄 봤구요..
저 같은경우는 classic ASP만 아니면 다른 언어는 대부분 환영합니다. 왜냐면 라이브러리 지원이 모두 훌륭해요
가장 개발하기 편하거나, 설계측면에서 우수한 언어는 ASP.NET, JAVA(Spring)쪽이라고 생각되지만
요즘같이 앱서비스를 빠르게 만드는데는 PHP, PYTHON, NODE.JS라고 생각됩니다.
언어야 각자 장점과 단점이 공존하지만, 규모에 적합한 언어를 선택하는건 아키텍처(개발자)의 몪이라고 생각되구요.. 실제 언어는 결과를 기술하기 위한 표현이지
그 이상 이하도 아니라고 생각됩니다.
실제 프로덕션에서 안정성이나, 대량의 트래픽 대응은 아키텍처 측면에서 고려해야될 부분이 많기 때문에 언어적인 부분은 아니라고 생각됩니다.
이런 토론이 있고 그래도 많은 분들의 경험을 들을수 있어서 좋네요..
감사합니다.
php검색하다가 들어왔는데..
무슨 말인지 하나도 이해가 안가지만 본문과 댓글 내용들이 너무 흥미로워서 계속 읽었네요..
스스로 반성도 하게 되고…
php개발자가 엄청 무시당하는구나..는 생각도…
오래전부터 봐오던 떡밥인데 댓글을 남기는 것은 처음입니다. 글쓴 분의 생각에 상당 부분 동의하면서도 끝까지 고개를 끄덕일 수 없는 느낌을 받았는데 혼자 쭉 생각해보니 이런 겁니다.
내가 키우는 주니어가 있다면 과연 그의 첫 메인스트림 언어로 추천해 줄 수 있겠는가. 개인적으로는 이 물음에 아니오 라고 답하고 싶습니다. 위에 말씀하신 정말 여러가지 좋은 장점에도 불구하고 잘못 디자인된 언어는 잘못된 주니어를 키우기 매우 쉬우며, 잘못 큰 주니어는 나중에 모두를 괴롭히는 음의 생산성 시니어가 된다고 보거든요.
하지만 이미 자신의 메인스트림 언어가 하나쯤 있고 여러 언어와 프레임워크를 경험해 본 개발자가 프로젝트 개발 언어로 선택한다고 했을 때, PHP 외에 좋은 대안이 쉽지 않은 일이라고 봅니다. 저 역시 메인 언어로 PHP를 사용합니다. 성능, 레거시, 호환성, 개발자풀 측면에서 별로 마땅한 대안이 보이지 않아요. 제가 하는 프로젝트들의 스코프에서- 자바는 너무 개발자를 귀찮게 하고, 루비나 파이썬은 상대적으로 느린데다 개발자 풀이 극단적으로 좁고, js는 초반 러닝커브가 너무 가파른데다 특히 요샌 너무 미친듯이 변하고 있어서 끊임없이 공부해야 하거든요.
그래도 여전히 한가지 아쉬운 점이라면 위에 댓글에도 있지만 커뮤니티에서 논의되는 이슈들의 전반적인 수준이 낮다는 것. 이건 진입장벽이 극단적으로 낮은 언어의 숙명과도 같은 부분이 아닌가 싶습니다. 커뮤니티에 그다지 기여하지 않고 스택오버플로우만 헤매는 체리피커로서 어디에 불만을 말할건 아니지만요ㅋㅋ
어쨌든 생각해볼만한 부분이 많은 좋은 글 감사드립니다.
아직 배울게 많은가봅니다… 여기에 있는 글들이 이해되면서 이해가 안되는게 아직 모르는것이 많아 그런가보네요. 마치 마법으로 싸우는 모습을 보는 것 같습니다. 좋은 글 감사합니다!
PHP 초보도 막 때려만들기 좋지 않나요? 속도도 빠르고
다른언어라면 이렇게 쉽게 뭔가를 할수 있기나 할까요
전 Java개발자지만,
계산이나 파싱 서버스크립트 짤 때는 Python을 쓰고
워드프레스 플러그인, 서버정보 표시하는 화면 정도 만들때는 PHP를 씁니다.
이럴땐 정말 PHP만한게 없죠.
자바로 플러그인 만든다고 생각하면 끔찍하네요.
php를 자세히 몰라서 알아볼려고 구글에 치다가
우연히 보게 되었습니다. 솔직히 위에 댓글이나 본문에 내용은 잘 모르겠습니다.
아직 대학생인 점도 있고 솔직히 제 수준이 너무 낮아서 이해하기가 어렵네요 ㅎㅎ
어쨌든 제가 볼때는 무슨 언어가 좋냐, php가 저급언어다, 등등 이런 말에 다른 분들도 많이 화나서 전쟁터 같이 변한것 같이 보입니다 (아닐수도 있지만요…)
저는 현재 자바를 공부 중이지만 그동안 c언어든 자바스크립트등
많이 보았지만
무엇이든 장단점이 있다는게 결론입니다. 위에서 많은 분들이 애기 한 말이지만 “완벽한 언어는 없고 각자 장단점이 있으며
사용하는 분야, 주문자의 의뢰, 회사의 방침 등으로 언어를 선택 하면 된다고 생각 됩니다.
물론 위에서 어떤 분께서 말씀하신것 처럼 뭘하던 서울로 가면 되는 것 처럼요 ;;
그래도
글은 너무 잘 읽었습니다. 논쟁이야 사람이 사용하니까 당연히 생기는 문제니까 딱히 뭐라고 할 수 없지만
저 같이 아직 개발자 라기도 부르기 민망하고 애송이한테
이런 글을 읽을수 있게되서 기쁨니다
이해를 못해서 몇번이나 자꾸 보면서 이해 하려고 하는 중입니다 ㅎㅎ
위의 글 대강 읽어보니
php가 수준 낮은 언어라는 주장에 반박하는 글에
“언어가 중요한게 아니다
언어는 다 중요하고 필요한 곳에 필요한 언어를 쓰면 된다” 라는 주장을 많이 보는데
(우리나라뿐 아니라 외국에서도 이런 주장을 많이봄)
그주장에 동의하는 사람은 문제의 핵심을 제대로 구별못하는 사람같습니다.
왜 이렇게 사람들이 핵심을 파악 못할까
논쟁의 핵심은
“당신이 또는 당신의 후배에게 반드시 하나의 언어를 주력으로 또는 처음으로 반드시 선택 해야 또는 선택하게 해야 한다면
어떤 언어를 선택하는 것이 가장 효율적이며 앞으로의 돈벌 전망이 있으며 앞으로 당신의 등급을 올릴수 있는 언어냐?”
라는 것 입니다
내가 봐서 php는 언어자체가 아주 불만족스러운 구조이며
하다못해 비주얼베이직이 php보다 더 구조적으로 모듈화가 더 잘되어있는 언어임
(요즘은 객체지향으로 php가 나왔지만 아직도 cms를 보면 객체지향 아닌것도 많음)
저는 비주얼베이직하다가 php 하는데
와 진짜 비주얼 베이직이 더 낫고
자바를 보니 자바가 더 구조적으로 마음에 드는 언어이라는 것을 부정할수 없음
php는 제대로된 ide도 그간 없었고 이제 겨우 나타났지
객체지향, mvc 로 짜야 그제서야 좀 봐줄만한것일뿐
그리고 현재의 싼 웹호스팅에서 지원가능한것이 php라는 것일뿐
자바 웹호스팅도 있지만 조금더 비쌈
한국에서는 예전 PHP가 아직도 쓰이지만, 이미 트렌드가 바뀌었습니다.
모던 PHP를 한번 공부해보시면 생각이 달라지지 않을까 하네요.
그리고 현재 쓰는 언어가 앞으로 사양 산업이 될수도 있는데,
하나의 언어를 주력으로 한다는건 매우 위험한 일입니다.
두세개 정도 하는게 생각보다 어려운 일도 아니고, 실력키우기도 좋고,
경력에도 좋고, 연봉올리기에도 좋습니다.
우리나라 웹 생태계에서는 PHP를 빼놓을수가 없습니다.
어떤 웹 개발자라도 PHP뿐만 아니라 최소 4-5개의 언어는 습득하고 활용가능 할 거라 생각합니다.
근데,
회사 입장에서는 효율을 생각합니다.
짧은 시간안에 높은 생산력을 원합니다. 또한 비용이 적게 들기를 원합니다.
그에 부합하는 언어는 PHP이기 때문에 개발자들이 아무리 욕을 하고 다른 언어를 도입하려고 해도 시장생태계의 특성때문에 PHP를 놓지 못한다고 봅니다.
또한, 그동안 쌓인 리소스도 무시 못하겠죠.
개인적으로 파이썬이나, 루비, 장고,노드JS등등 고급개발자가 우리나라에 몇명이나 있을까요?
개인적으로는 아직 보지 못했습니다. ㅎㅎㅎ
국내 관련 서적을 보고 있자면, 외국원서와 비교했을시 어의없는 책들도 많습니다.
회사에서 저 언어의 고급인력을 채용하려할때 쉽게 채용할수 있을까요? 같은 임금으로 스킬이 낮은 사람을 쓰려할까요?
유지보수 비용을 생각하면 저 위의 언어들이 과연 저렴할까요??
개인적으로 새로운 언어로 새로운 프로젝트를 진행할 수 있지만,
회사입장에서는 버리지 못하는 매력적인 언이인것은 틀림이 없습니다.
한국회사에서 PHP를 어떻게 쓰는지 저는 잘 모르겠네요. 다만 한국이 아무리 갈라파고스라도 글로벌한 트렌드를 따라가지 않으면 결국 도태될수 밖에 없다고 봅니다. 훨씬 더 효율이 좋은 개발 툴이 나왔는데 쓰지않는 회사는 단가를 맞출수 없어서 문닫을 수 밖에 없는 것이죠.
언어는 수단일 뿐입니다. “평생먹고살 1개의 언어를 선택 한다면 무엇을 할래?” 이런 질문이 종종 커뮤니티나 포럼에서 화두가 되곤 하는데. 질문 자체가 자신 목을 조르는 어리석은 질문입니다. 이런 질문 보면 꼭 생각나는게 “엄마랑 아빠랑 둘중에 하나만 골라봐” 같은 질문처럼 너무 유치하고 때론 순진하게 느껴질 정도입니다.. 이런 순진한 분들이 자바건 노드건 파이썬이건 c/c++,php 등 한우물 파다가 취업은 취업대로 창업은 창업대로 벽에 부딫히기 일수라고 저는 판단합니다. 이미 소프트웨어에선 전문가라는 경계가 모호해진 상태입니다. 회사에따라 신념은 다르겠지만 대다수의 회사들이 퀄리티 보다는 생산성을 약간더 우위에 놓고 사업을 합니다. 즉, 전문가가 되어 억대연봉을 받겠다는 생각은 비단 한국뿐만이 아닌 본고장 미국에서도 easy man으로 취급되고 있는 실정입니다. 풀스택을 예로들면 불과 3년 전까지만 해도 전문성 결여된 부족한 인재로 평가되곤 했지만 지금은 프로젝트에 따라 유연한 투입이 가능한 고생산성 인력으로 평가되는 추세로 바뀌고 있을만큼 시장 자체가 포화상태임을 시사하고 있지요. 언어를 하여 돈을 번다라는 개념을 버리십시오. 돈을 벌기위해 언어를 “한다” 라는 개념으로 바꾸십시오. 닭이 먼저냐 달걀이 먼저냐와 같은 문제가 아닙니다. 돈을벌기 위해 일을 한다라는 점은 변하지 않습니다. 흥미로운 주제라 글이 길었네요..
글쓴이 님의 답변 중에
“제가 주장하려는 내용이 거의 전달이 안된 듯한데, 짧게 줄여서 말하자면 서버 프로그래밍의 발전은 이제 끝났다. 그러니 기능많고 쓰기 편하고 레가시 대응이 편한 PHP가 좋은 솔루션이다, 라는 것입니다. 풀스택 개발자로서 요즘 서버로 하는 일이 JSON 만드는 것 밖에 없어서요. 저는 제 철학에 맞는 PHP프레임웍을 개발해서 쓰고 있는데 이부분에 대한 정리도 시간 나는대로 해보겠습니다.”
전 속도, 성능, 재사용 및 보안 위주의 코딩을 목표로 하기 때문에
위 내용 처럼 제가 최근 5년 동안 여러개의 프로젝트(PHP CodeIgniter 2.x, Java Spring 3.x)를 저렇게 개발 했습니다.
WAS 서버에서 하는일은 컨트롤러에서 변수 값 검증 후 DB Model 파일에서 쿼리 사용 후 JSON 형태로 출력
화면 처리는 Json으로 받은 데이터를 JavaScript 로 화면 처리 및 출력
<= Client 단에서 화면 처리를 하기 때문에 서버 리소스의 효율이 좋아 집니다(속도, 성능, 코드 재사용 증가)
보안 라이브러리나 공개된 라이브러리는 PHP 코드이그나이터나 JAVA 스프링 모두 어느 언어에는 있는데 어느 언어에는 없다 이런건 없습니다.
PHP와 JAVA 모두 DB는 트랜잭션 처리로 되어 있습니다
저의 경우 <= 참고로 제가 PHP나 JAVA를 깊게 알지 못 합니다. ^^;;
ㅇ PHP의 장점
코드 수정 후 JAVA(JSP 빼고) 처럼 톰켓 재시작이 필요 없다 <= 자동 리로드로 재시작 입니다
상대적으로 JAVA로 개발할 때보다 개발자 컴퓨터 사양 및 서버 사양이 낮아도 된다
ㅇ JAVA의 장점
Try Catch 문이 PHP보다 좋다(PHP는 특정 에러가 생길때 어떻게 처리 하라 정도뿐인데 JAVA는 그냥 모두 받아 들이죠) <- PHP 7에서 개선 된것도 같긴하네요
개발 톨인 이클립스가 PHP 보다 잘 지원한다 <- 전 PHP 용 이클립스를 이용해서 개발하는데 역시 JAVA 보다는 불편 합니다(개발 툴 추천 부탁 드립니다 ^^)
흠.. 어케 된게 언어별로 장점을 쓰니까 JAVA가 더 좋아 보이네요 ㅎㅎ
전 PHP를 더 좋아합니다. PHP의 장점이 매우 강하기 때문에 ^^;;
JAVA의 장점인 Try Catch문 처럼 포괄적으로 처리 되지 않아서 코드 중간 중간에 검증 코드가 엄청 들어가는거 빼고는요 ^^;;
특히 DB 트랙잰션 처리시 엄청 힘드네요
그래서 저의 다음 버전 프로젝트는
단순한 DB 처리는 PHP
복잡한 트랜잭션 DB 처리는 JAVA
세션은 SSO로 동기화 하고 사용 하고 싶습니다
P.S
PHP CodeIgniter 개발할 때 좋은 툴 추천 해주세요 ^^
PHP DB 트랙잰션 에러에 대해서 포괄적으로 Try Catch문이 가능한가요?
PHP개발할땐 Intellij사의 제품을 주로 쓰고 있습니다. PHPStorm이나 Intellij Idea가 있겠네요. 요즘은 Visual Studio Code도 많이 좋아져서 간단한 프로젝트는 대체가 가능할거 같더군요.
Try Catch 자체가 좋은 패턴은 아닙니다. 에러가 나면 에러가 발생한 곳에서 정지하는게 맞을 수도 있죠. 이에 대한 논의는 많이 있습니다.
트랜젝션은 PDO의 Transaction을 이용해보세요. PDO는 기본적으로 Exception를 발생시키지 않기때문에 설정시 명시적으로 지정해주어야합니다.
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$pdo->beginTransaction()
$statement = $pdo->prepare ($sql);
$status = $statement->execute ();
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollBack();
print $e->getMessage ();
}
아…어마어마 하네요 댓글이 언젠가 여기 있는 글들을 이해할수 있기를 바라며 ^^
멋지네요 이런토론들…
휴…스크롤 압박이 느껴집니다.
시간두고 천천히 읽어봐야겠어요.
저는 C , C++, C#, WPF 로 이어지는 MS C 계열을 주로 해왔습니다.
중간 중간 php, java, javascript 등으로 웹을 하다 이제 본격적으로 웹을 공부해보려고 합니다.
php 에 대한 기억은 좋았던 것으로 기억합니다만 개발 초기에는 꽤나 많이 시행착오를 겪었던 것 같습니다.
타 연동환경과의 버전에 대한 문제들이었죠.
다른 언어 .net 같은 경우에도 버전별 호환성이 아주 ㅈㄹ 입니다만 굉장히 많은 예제와 문서들이 그것들을 커버해주고 있습니다.
다만 MS 에서도 어쩌지 못하는 광범위한 Core 버그들은 프로젝트 말기에 기능을 삭제해야 하는 심각한 상황을 초래하기도 합니다.
Java 는 어떤가요? 미래에 없어질 것 같은 언어라고도 얘기하지만 그래도 우리가 개발에서 손을 놓을 때까지는 살아 있을 것 같은데요.
하지만 역시 버전별 호환성은 .net 과 별반 차이가 없을 것 같습니다.
갖다붙이기 나름이겠지만 그런 면에서 php 는 굉장히 보수적이라는 말이 인상깊네요.
php 에도 프로젝트가 끝날 시점에 나올 만한 버그같은 것들이 있을지 궁금하군요.
PHP는 역사가 오래되서 몇년 전에 만들어진 코드를 쓸때 문제가 될 가능성이 있습니다.
하지만 그런 문제는 프로젝트 초기에 알게 되니 후기에 문제가 될것 같지는 않습니다.
닷넷이나 자바는 외국에서는 모르겠고, 한국에서는 앞으로 계속될 가능성이 있습니다.
그러나 계속 기술 발전이 멈춰있다면 구식 기술로 벌 수 있는 데는 한계가 있습니다.
아직도 jsp나 클래식 asp로 개발하는 분들이 있지만, 개발 단가가 그렇게 높지 않습니다.
구식 기술이 시장에서 살아남는다고 해서 개발자에게 좋을게 하나도 없습니다.
호환성을 PHP만큼 신경을 쓰는 언어가 없었는데, 이제는 GO나 그 외의 언어들도 대열에 동참하고 있습니다.
심지어 Javascript, Python3, Ruby2도 기존의 문법을 고치지 않는 정책을 취하고 있습니다.
그래서 저는 굳이 PHP만을 쓸 필요는 없다고 생각합니다. (PHP가 가장 뛰어나긴 하지만요.)
매우 보수적인 언어와 프레임웍, 라이브러리를 꾸준히 공부해서 실전에서 빠르고 유연하게 적용할 수 있도록 연습하는게
개발경력에 가장 좋지 않나합니다.
저는 JS를 주력으로
안드로이드는 어쩔 수 없이 JAVA로 만들고
IOS앱은 순수 JS로 만듭니다.
서버쪽은 거의 대부분 PHP로 작업하는 사람입니다.
쓸데없는 짓이었지만
N사의 JS 프레임워크를 만들정도의 능력은 갖고 있습니다.
2013년도인가 2014년인가 그때부터
회사의 서버단 개발을 Laravel로 하고 있고
부분부분 file IO에 대해서는 node를 활용하고 있죠.
지내오는 동안 JAVA / ASP / Python / Ruby 등
곁눈질 하면서 지내왔는데
개인적으로 JAVA가 가장 싫은 언어중에 하납니다
저도 선입견이 있는거죠.
자바만큼 개발자를 불편하게 만드는 언어를 보질 못했습니다.
개발자의 경험과 성향별로 원하는 맞는 언어는 정해지나 봅니다.
Ruby는 Ruby on rails라는 걸출한 프레임워크를 개발해서
여러언어에 많은 도움을 주었죠 매우 고마워 하고 있습니다.
어떤 언어가 가장 뛰어나다 이런건 큰 의미는 없는 것 같습니다.
내 개발 성향과 익숙해져있는 언어와
익숙함으로 해결할 수 없는 문제가 나타났을 때
다른 방향으로 해결할 수 있는 유연성만 있으면 된다고 생각합니다.
많이들 오해하시는 것 중에 PHP는 여전히 옛날처럼
PURE하게 개발한다고 오해하시는 분들이 여전히 많이 보이네요.
물론 자바진영처럼 Spring같은 자바하면 할 수 밖에 없는
프레임웤이 존재하는 언어는 아니지만
PHP도 많이 발전했고 사실 조금의 부족함이 없네요.
Composer를 통한 관리라던가
packagist를 통한 배포들이
최근 PHP개발의 표준이 되어가고 있기도 하고
개발자라면
프레임워크 안에서 놀면 안된다고 생각하는 개발자라서
퓨어도 소중하고 프레임워크도 소중하고..
뭐 암튼 그렇네요
사실 자바스크립트가 짱입니다. ㅋㅋㅋ
JS+PHP만 해서 연봉 1억 넘기는 국내 개발자들도 많이 있습니다.
자바도 8 이상은 그럭저럭 쓸만 합니다. 국내에 쓰는데가 별로 없어서 그렇지..
PHP만해서 돈을 많이 버는 방법은 저도 잘 모르지만 JS+PHP는 좋은 조합이고, 저도 그렇게해서 돈을 벌고 있습니다.
다들 PHP가 돈안된다는 이야기를 하는데, 이럴 때일수록 역발상이 필요하지 않을까 합니다.
어떤 언어가 대단 하다 보다는
내가 돈을 벌 수 있는 언어가 대단한 것이 아닌가 생각이 됩니다.
언어는 클라이언트의 요구에 따라 고르면 그만이라 생각 되고
(클라이언트의 요구가 없으면 자신이 가장 잘하는 언어로 하면 그만이구요.)
댓글들 보니 이 언어가 최고다 !! 라며 정력 낭비들을 왜 하시는지
자신하고 안맞는 언어면 그냥 안하면 됩니다.
어떤 언어든지 개떡 같이 프로그래밍 하는 사람도 있고
예술로 프로그래밍 하는 사람도 있듯이
언어의 문제 보다는
그 언어를 사용하는 개발자 문제가 아닐까 생각 되네요.
그리고 또하나
HTML 표준, 접근성들은 잘 맞추고 계신지 궁금합니다
시장의 니즈를 따라야지요.
저 역시도 php로 시작을 했습니다만, 현재는 자바 개발자 입니다.
지금도 다시 php 로 개발 하라고 하면 잘 할 수 있다고 자신 합니다.
php 개발에 투입된 사이트도 꽤나 됩니다.
열정도 중요하지만, 나이가 들고 식구가 늘어 나고 필요한 돈도 늘어나고…
그래서 결국 저는 자바를 선택 했습니다.
그때 같이 시작 했던 지인의 경우 아직도 php 개발 합니다. 그렇지만, 저와 연봉 차이는 많이 나요.
그래서 저는 후회 하지 않습니다.
뭐, 필요하다면 php로 개발 하는것도 어렵지 않고요.
신입도 아니고…플렉서블 하게 살아 가야지요.
요즘은 고객의 요청에 따라 c# 과 asp.net로 개발 중입니다.
처음에 이질감이 있었지만, 나름 쓸만하네요.
글쓴분의 내공이 잘 묻어나는 글이네요.
중학생때 PHP와 C로 컴퓨터에 입문해서 지금까지 개발을 하고 있습니다.
그래서 그런지 PHP 얘기만 보면 향수에 젖네요.
무슨 언어든 플랫폼이든.. 그 생태계와 플랫폼 특성에 맞춰서 잘 써먹으면 그만이라고 생각합니다.
제가 PHP를 프로젝트에 쓰는 이유는 Laravel이라는 킬러 소프트웨어 때문이에요.
언어 자체도 이젠 문법적인 제한도 크게 없구요. 최근엔 async await 신택스도 생겼더라구요.
PHP라고 하면 안티패턴 얘기를 하면서 신나게 까내려가는 분들 보면 좀 답답한 마음이 크네요.
소프트웨어 디자인은 개발에 따라서 좌지우지 된다고 봅니다.
플랫폼은 단순히 도구들만을 제공해주는 역할을 한다고 생각해요.
플랫폼을 10개 정도는 써보신 분들이라면 이해 하실 것 같네요.
물론 PHP가 “공부”를 하기에는 적합한 플랫폼은 아니라고 생각합니다.
classic ASP로 12년정도 개발하고 있는 개발자입니다.
요즘 서버사이드언어가 하는일이라는게 json 만드는 것밖에 없다는말에 공감합니다. 때문에 지금도 classic ASP로 서버쪽개발을 하고 있고, 아직까지는 많이 불편함없이 쓰고있습니다만..(classic asp에서도 json string 출력을 도와주는 라이브러리가 몇개 있긴 있습니다.ㅎㅎ 제가 직접 라이브러리를 짠것도 있고…)
최근에는 신입직원들이 classic ASP를 주력으로 개발한다고 하면 실망하고 자기계발에 도움이 안된다며 퇴사하는 일이 많아졌습니다.
때문에 언어를 바꾸는 것을 고려중인데요. java는 생각하지 않고 있습니다. 왜냐하면 유지보수가 더 어려울것 같기 때문입니다. 객체지향에 최적화된 잘 구조화된 언어긴 하지만 well-designed되지 않은 클래스들은 오히려 유지보수할때 더 골치아픕니다. 주변 개발자분들도 객체지향은 java다! 라며 노래를 부르지만 유지보수 어떻게 하는지 얘기를 들어보면 해당 클래스를 덕지덕지 ‘just working’ 하게만 뜯어고쳐놓고 (폭탄돌리기식으로..) 나중에 정 안되겠으면 ‘빅뱅리팩토링’을 하는 사람들이 부지기수입니다.
각설하고.. 제가 염두해두고 있는 언어는 파이썬(장고)와 PHP입니다.
첫째가 쉽고, (직원교육 및 학습비용도 고려해야 했습니다.)
둘째가 트러블슈팅에 대한 구글링자료가 많다고 생각하기 때문입니다.
셋째는 생산성입니다. 헬로 월드를 출력하는데…(다 아실거같아서 줄이겠습니다ㅎㅎ)
그리고 최근에 다시 생각해보니 파이썬의 경우 파편화에 대한 문제가 점점 심각해지고 있는 것 같아보였습니다.
오늘 짠 코드가 10년뒤의 언어버전에서도 잘 돌아갈지, 지원이 끊기거나 아예 deprecated처리되어 문제를 일으킬 가능성이 크다는 것은 심각한 문제입니다.
그런 생각을 하던 도중에 이 글을 보게 되었고 이제는 php에 좀 더 무게를 두려고 합니다.
글 잘 읽었습니다.
PHP가 좋다는 글들을 보면 유지보수문제는 항상 쏘옥 빠져있네요
PHP가 왜 그토록 욕을 먹는지 생각해본적이 있나요?
일관성 없는 API?마냥 구리다는 인식?
PHP가 구린이유는 유지보수 문제가 심각합니다.
이런 이유 기업시장에서 도태되었죠
그리고 항상 레퍼런스는 페북과 워드프레스
페북과 워드프레스가 쓰고 있으니 구린게 아니다
그러면서 교묘히 다른 언어를 까내려 가네요
아이러니한게 자바만해도 레퍼런스는 어마어마 한테
그걸 지적하는 건 없군요
PHP의 포지션을 지금은 NODE와 PYTHON이 대체했습니다.
PHP는 언어자체를 REBORN하지 않는 한 미래는 없다고 생각합니다.
이 브랜치를 읽고 부화뇌동하여 PHP를 배우는데 시간낭비하는 사람이
없길 바라는 마음에 댓글을 써 봅니다.
PHP배울시간에 코틀린이나 NODE를 배우세요
제 글의 목적이 PHP가 유지보수가 쉽다는 걸 주장하는건데, 어떻게 쏙빠져있다고 생각하시게 되었는지 궁금하네요. 그리고 PYTHON이나 NODE프로젝트를 유지보수 해보시고 말씀하시는 건지? 그쪽은 유지보수가 아니라 새로 만들어야 합니다.
유지보수는 자바가 훨씬 어렵죠. 우선 개발자들 비용문제. 뽑아놔도 실력때문에 개판만드는게 부지기수.ㅋㅋ
그래서 또 처음부터 다시 개발한다고 난리치고.ㅎㅎㅎ 이런 문제는 C나 자바나 개발자가 바뀌고 버전이 업데이트되면 어떤 언어든 똑같이 생기는 문제더군.
노드든 파이썬이든 구조를 처음부터 잘짜놓으면 별 문제없는거 괜히 언어 문제로 비하하지 마시지요.
스프링 같은 프레임워크처럼 PHP도 라라벨같은 프레임워크로 만들거나 MVC모델로 요즘 대부분 작업해놓는데 뭐 유지보삭 뭐가 어렵고 구리다는건지.ㅉㅉ
JAVA <= .NET
JVAA <= PHP
^^
JAVA = JAVA쓰시는 분들 특징: JAVA에대한 믿음수준이 거의 종교급 다른언어 배우려하지않음. 다른언어는 쳐다보지도않음 그냥 신앙수준
자바야 말로 마케팅의 승리지
언어로만 볼때 java는 재앙수준입니다.
느린속도, 복잡한 문법, 템플릿에 의존적!!
쓸떼없는 클래스의 집합들! 으
여기가 시빌워의 현장입니까?!
좋은 글 감사합니다.
중소규모 업무용 웹프로그램을 공부하는 초보인지라, 워낙 많은 언어와 프레임워크 사이에서 방향을 잡지 못하고 갈팡질팡하던 중이었는데, 위 본문 글과 댓글들을 읽고보니, 초행길에서 이정표를 만나게된 느낌이 듭니다.
방향을 잘 잡아서 헤매지 않고 잘 가는 것이 무엇보다 중요하다는 측면에서 굉장히 고맙게 생각합니다.
어떤 언어든 초반에 기초적인 문법을 공부하시고 프레임워크를 공부해보심이 좋다고 봅니다.^^
그냥 지나다 글 하나 하나 읽다보니 상당한 시간이 걸리네요.
저도 10년 넘게 웹을 하고 있지만, PHP 에 대해서 정말 극렬하게 혐오 하는 사람들을 심심치 않게 봅니다.
얘기를 하다 보면 뭐 별로 수긍가지 않는 이유를 대면서 싫어하는 사람들이 대부분 이었습니다.
뭐랄까요…
그냥 어디서 이건 이래서 PHP는 별로야~ 이런 식의 얘기를 듣고 이야기를 하는 사람들이 많더라구요.
정말 자신이 개발해보고 유지보수 해보고 나서 하는 이야기를 하는 것이면 어느 정도 이해를 하겠는데
제대로 개발해 보지도 않고 무조건 까는 사람들을 많이 봤습니다.
개발 언어라는 것이 프로젝트의 주어진 시간과 비용에 맞춰서 선택되어 지는 것이 아닐까 합니다.
짧은 시간에 비해 높은 생산성을 기대한다면 PHP 는 정말 괜찮은 선택이라고 생각합니다.
위 글 중에 유지보수가 PHP 의 큰 문제라 하신 분이 보이던데 어떤 부분에서의 문제인지 굉장히 궁금합니다.
제가 여러 언어의 프로젝트를 하면서 보건데 오히려 PHP 의 유지보수가 더 시간과 비용을 아끼는 측면이 많던데요.
각자 일하는 환경이 다르니 이렇다 하고 일반화를 하는 건 적절하진 않습니다만, 저의 경우는 그랬으니까요
읽다보니 여러 가지 의견을 들을 수 있는 좋은 글이 었습니다.
저도 그냥 한마디 적고 갑니다.
제가 처음 코딩을 시작한게 php입니다 그래서 php를 좀 선호하는편인데 하다보니까 모던php에 대해서 구체적으로 알고싶은데 매뉴얼이나 좋은 서적 있으면 추천해주실수있나요?
학습하면서 어려운점도 있고 앞으로 어떤식으로 나아가야할지 고민이 됩니다. 혹시나 메일로 질문 하면 답변해주실수있을까요? 괜찮으신다면 고급개발자님께 여쭤볼게 많아서요 ㅎㅎ
모던 PHP에 대해서는 http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=68414290 이 책에 설명이 나와있습니다.
함수형 PHP에 대한 글도 도움이 되리라 생각합니다.
http://modernpug.github.io/php-the-right-way/pages/Functional-Programming.html
학습하면서 어려운 점에 대해서는 메일이 아닌 페북의 모던 PHP User Group에 문의하시면 더 정확하고 빠르지 않을까하네요. 그쪽에는 슬랙 채널도 있습니다.
내년엔 강좌같은걸 한번 해볼까 하는 생각을 가지고 있습니다. 스케줄이 정해지면 공지하겠습니다.
안녕하세요. 지나가다가 불쑥 질문드려 죄송합니다.
혹시 초보자가 볼만한 PHP책 한권 추천해주시면 감사하겠습니다.
좋은 하루 되세요~
초보자가 보기에 좋은지는 모르겠습니다만 오라일리의 러닝 PHP가 기본을 다지기에 좋지 않을까하네요.
안녕하세요
글과 댓글을 보고 php를 공부하기로 결정했습니다
근데 두세가지 언어를 같이 사용해야 경쟁력있는 개발자가 된다고 하는데,,
개인적으로 자바스크립트를 조금만 사용하고 싶습니다.
신뢰가가는 언어가 Go언어밖에 없습니다.. php를 공부하는 조합으로 가도될까요?
php와 프론트엔드 언어가 꼭 조합이 되어야 할까요 아직초보라서 잘 모르겠습니다 조언부탁드려요
서버사이드쪽으로 공부를 해보시겠다면 언어자체보다는 django나 ruby on rails같은 all-in-one MVC 프레임웍을 다뤄보시는 것을 추천드립니다. 웹개발에 필요한 기본적인 것들이 잘 갖춰져 있어서 배울게 많습니다. PHP에서는 라라벨이 되겠네요.
제 생각엔 직접 만들어서 실제 작업에 쓸 수 있어야 실력이 늘지 그냥 문법을 공부한다고 실력이 늘지는 않습니다. GO를 배우겠다면 channel을 써먹을 수 있는 무언가를 만들겠다는 목표가 있어야합니다. 그리고 시대가 자바스크립트를 원하고 있어서 자바스크립트는 언젠가는 배우셔야 할 것입니다.
감사합니다!
어떻게 해야될지 계획이 잡히는것같아요
안녕하세요 글 잘봤습니다.
해외에서는 php를 많이쓰는데 국내에선 왜 적게 쓰는지 알 수있을까요??
해외에서는 인터넷을 이용한 다양한 수익모델이 있는데, 한국에서는 쇼핑몰 정도를 제외하고는 별로 없습니다. 예를 들어 한국에서 블로그 광고로는 수익이 안나는데, 같은 정도의 트래픽으로 다른 나라에서는 먹고 살만큼의 광고비를 받을 수 있습니다. 인터넷 상으로 돈이 돌면 PHP같이 싸고 빠른 언어가 인기일 수 밖에 없는데 인터넷 만으로는 수익이 안나니 SI가 소프트웨어 업계의 메인이 되고 그러다보니 쓰는 곳이 얼마 없다고 봅니다.
아하 그렇군요.. 답변 감사합니다.
그렇다면 php 개발자가 없어서 틈새공략으로 돈 많이 벌수 있다곤 하지만 “국내한정”에서는 결국 java jsp가 “단가”면에서는 우세일수밖에 없나요?
저는 쇼핑몰 만들어주는 업체 취직하고 싶은데 교수님은 돈이 안된다고 정부개발쪽 spring을 하라고 하셔서요 고민입니다.
php 프레임워크 중에 심포니라든가 라라벨, 코드이그나이터 등등 종류가 다양하던데 보통 업계에서는 뭘 많이 쓰나요?
요즘은 라라벨을 많이 추천하고 있는데, 심포니나 코드이그나이터도 아직까지 쓰는 곳이 좀 되는 듯하네요. 참고로 저는 자체 개발 프레임웍을 쓰고 있습니다.
평소 제 생각과 매우 비슷하여 동감 가네요. 글 잘봤습니다.
이런 소재로 글을 쓰기 꺼려질수도 있을법한 부분인데 아주 시원하게 써주셨네요 감사합니다.
개발하는 분야가 뭔지는 모르겠지만 혼자서 서버도 셋팅하고 웹사이트도 개발하고 여러가지를 동시에 해야 한다면 PHP가 가장 훌륭햔 선택이라고 감히 말하고 싶네요.
위에 분들 프로그램을 얼마나 많이 해 보셨는지는 모르겠지만 기술 따지고 트랜드 따지고 하시는 분들은 아마도 큰프로젝트에 일원으로 일하시는 분들 이라고 보여집니다.
1인이 혼자서 원하는 것을 만들 때 클래스 만들고 네임스페이스 사용하고 MVC를 완벽하게 분리해서 개발이 안되지요.. 자유분방하게 개발 가능한 PHP가 최고의 대안일 수 있습니다.
ASM , C 같은걸로 임베디드를 해서 그런지 전 PHP가 참 편하고 좋네요.
재미있는 글입니다.
현재는 Scala를 재미삼아 공부중인데..
이런 논쟁을 보고 있으면 재미있습니다.
저는 포털에서만 20년 근무하고 지금은 금융AI 쪽을 개발중인데..
MFC(CDB) -> Java -> Php 전체적인 데이터의 흐름입니다.
Php 가 중요한 결정을 모두 처리하겠 끔 되어 있습니다.
그 이유는 최악의 상황에서 가장 신속하게 대응할 수 있는 진입점 이기 때문입니다.
잘못된 도구라는 평이 정말 많더군요…
물론 저도 아직까지는 그런 소리는 직접 들은 적이 없네요… 다행히도..
이제 3년차 조금 지난 초짜배기입니다 ㅎㅎ
최근까지는 모던PHP를 한귀로 듣고 한귀로 흘린 사람이기도 하구요 ㅎㅎ
확실히 모던 PHP는 JAVA못 지않게 괜찮은놈인건 맞는거 같습니다.
모던PHP가 보편화가 된다면 마냥 PHP를 까기만 하는사람은 없어질것같다는 생각이 들더군요^^
PHP 파이팅!
늘 그렇지만 php는 잘못 쓰는 사람이 문제지, 언어가 크게 문제된다고는 생각하지 않습니다. 그건 python, node, GO, java 등 모두 마찬가지라고 생각합니다. 아직 아기 개발자인지라 이런 업계 선배님들의 글은 늘 다시 생각을 하게 해주네요. 좋은 글을 작성해 주셔서 감사합니다.
꽤 오래전 글 같은데 지나가다 남겨봅니다.
17년 경력에 외자계 컨설팅펌에서 TC로 있구요. 언어는 C++, JAVA가 메인이었습니다.
결론부터 말씀드리자면 글쓴분 의견에 동감합니다.
아케틱쳐 설계시 개발언어 선정은 프로젝트 멤버 구성과 수준과도 비례하겠지만
중요한 문제겠죠.
개발언어 선정기준은 생산성과 멘테너비리티입니다.
여기서 생산성은 개발부대의 수준입니다.
서버사이드의 경우 프로젝트 멤버중 PHP개발자가 많을 경우에는 당연히 PHP를 개발언어로 선정을 합니다.
이때 자바를 선택하게 되면 학습코스트가 발생하게 되고 단기든 중장기든
여러면에서 문제가 생길수 있으니까요.
PHP의 프레임워크인 Laravel이나 CodeIgniter등은
실제 생산성과 멘테너비리티. 성능면에서 매우 좋은 선택지입니다.
물론 자바, RoR, Python등도 개발부대의 수준으로 선택하게 된다면 훌륭한 선택지중 하나이겠지요.
요는 어느 언어는 안돼라던가 성능면에서 별로… 혹은 그게 언어야?하는
비 유연적 사고방식은 지양해야 한다고 생각합니다.
추가로 성능면에서.
클라우드 시대에 아니 온프레미스라 해도 이미 요즘시대의 서버의 성능으로
각 언어나 프레임워크간의 성능이야기는 이슈거리도 안됩니다.
이슈가 된다면 대체 개발을 어떻게 했길래? 환경 구성을 어떻게 했길래?
가 되겠죠.
길어졌네요.
글쓴이 분들 같은 유연한 개발자분들이 한국에도 많이 늘길 기대해봅니다.
9년차 잡종 개발자 입니다. 저는 C/C++ Java, Objective-C, Python, Swift 언어로 개발한 경험이 있습니다.
주로 SI를 하지만 언어는 다양하게 사용하려고 노력합니다. PHP는 신입때 급해서 잠깐 스크립트 만든다고 써본 적이 있습니다.
그때 좋지 않았던 기어으로 PHP는 별로라고 생각했었고 작성해주신 글을 읽으면서 별로 공감하지는 못했습니다.
오히려 종교적인 글로 치부했었습니다만 잘 못 생각했네요…
선배님들의 통찰력있고 논리적인 댓들들을 보고 있다보니 공부가 되네요. 그리고 이 글이 2016년 글이란 것도 댓글 중반 넘어가면서 인지했습니다.
그 만큼 유익한 글과 댓글들이네요… 궁금해서라도 PHP를 한 번 해보고 싶어지네요.
글 고맙습니다.
php가 한국에서 이렇게까지 많이 까이는 언어인줄 이글 보고 알았습니다.
자바개발자들이 php를 많이 까는 분위기네요. 수준 떨어져서 말을 섞고 싶지 않지만 한마디 하고 갑니다.
c/c++가 주류 언어일때 c/c++로 개발하기는 어렵고 이것저것 신경 않쓰고 쉬운 java라는 놈이 나와 낙오자?들의 선택을 받은 언어가 java입니다.
c/c++ 시니어 개발자들은 공감하실겁니다. 그때 낙오자들의 전폭적인 지지를 받아 성장하다보니 저런 신봉자들이 많아진것 같습니다. ^^;;
대한민국이 java 개발자가 넘처나는건 우리나라 국민성(냄비근성)이 그렇기 때문이라고 생각합니다.
제가 가장 애착이 가는 언어가 c/c++ 이였는데 지금은objective-c 에서 Javascript를 주로 사용하고 있네요.
저는 항상 개발할때 만들고자 하는 프로그램에 가장 좋은 연장을 선택해왔습니다.
백엔드 작업에 주로 사용하는 언어가 php이고 저의 좋은 연장중 하나입니다.
좋은 주제와 좋은 논리 그리고 좋은 댓글들…
너무 고맙습니다. 선배님들 덕분에 많이 배우고 갑니다.
기지개도 한번씩 펴시고, 눈도 좀 오래 감았다 뜨시고 항상 건강 유의하세요^^
-후배 올림-
좋은글 잘봤습니다. 2년더 더된글이지만 댓글남겨봅니다.
사람들은 결국 좋고 편할걸 쓰게 되어있습니다.
뭐 댓글에도 현실반영댓글들도 공감합니다. 이러니저러니해도 위에서 요구하는걸 순응하고, 현재 시장에 페이차이도 존재하니까요.
하지만 그렇다고 좋은걸 부정하면 안되지요~
몇년사이 국내도 새로운 트랜드에 도전하는 분위기라 좋습니다~ 그와 맞게 능력좋은 인재들이 많아지길 빕니다. 물론 그중엔 제가 있길 더더욱 바라구요 ㅎ
1. 국내 취업
2. SI는 싫다
3. IT를 메인 비지니스(주 사업)로 하면서 직원 수 200명 넘는 곳
이 조건에 부합하면서 모던 PHP가 주력 언어(메인 비지니스의 개발 언어)인 회사 10개 이상 적는 분 계시면 평생 스승으로 모실 수 있습니다.
제가 이 바닥에 오래있진 않았지만 5개도 못대겠어요. ‘모던’이 빠져도 10개까지 댈 자신이 없어요.
본인의 길이 대기업에 있다고 생각하시면 PHP가 부족하실 수도 있겠네요.
PHP의 좋다 나쁘다를 떠나 PHP는 C를 기반으로한 기본이 되는 언어임이 틀림없습니다.
단지 한국에서 과거 SI나 웹에이전시들이 돈벌이에 급급하여 막찍어내는 코딩을 하여 그이미지가 않좋을 뿐이지요.
프로그래머라면 C가 기본이듯이 웹의 기본은 PHP라는 생각입니다.
그리고 아직도 PHP는 발전하고 있습니다.
자바개발자지만 뭐하러 php를 까내리는지 이해할수가없어요.
당장에 프로젝트 주면 php로 소화가능한 프로젝트인지 먼저 생각해보게되는데..
최근 제 개인적인 php에 대한 이해가 깊지못해 아쉬울따름입니다.
컴투스,
게임빌,
컴투스게임빌플랫폼,
NHN,
넥슨,
펄어비스,
네오위즈,
네오플,
위메이드,
기타 등등 많습니다.
거짓말 같으면 잡코리아에서 검색해보세요~
해당 업체들이 PHP 개발자를 뽑는건 해당업체의 메인 업무개발과는 관련이 없는 회사 홈페이지 개발 및 유지보수 떄문입니다 ㅡ,,ㅡ;;
댓글들 쭉 읽어 봤는데 PHP종교 예찬론자들 같아요;;
모든걸 떠나서 현실은 2016년이나 2019년이나 PHP는 핫한언어랑은 거리과 멉니다.
요즘은 각언어들의 장/단점이 명확하기에 쓰임새가 다 다르다고 생각되지만,
PHP 최대 단점은 범용언어가 될수 없는 웹특화 스크립트언어라는 점이 아닐까 생각됩니다.
최근 가장 큰 트렌드인 머신러닝, 블록체인, IOT, 모바일, 5G 들이 PHP랑 연관관계가 거의 없습니다.
요즘 기술들은 결국 오픈소스가 이끄는데 다른 핫한언어들 대비 PHP쪽 오픈소스는 크게 활성화가 못된 느낌입니다.
아무리 좋은 도구라도 쓰는 사람이 없으면 좋은 도구가 아닙니다. 안쓰는데는 그만큼 이유가 있겠죠.
개인적인 의견으로 요즘 대세는 JS라고 생각됩니다.
동문서답하시는것같아서 답변드립니다.
1. 트렌드
php는 15년가까이 web language의 제왕의 자리에서 내려온적이 없습니다.
https://w3techs.com/technologies/history_overview/programming_language
그리고 2위와의 차이는 압도적이고요
이 말은, PHP는 핫하고, 가장 많은 사람들이 이용하고, 가장 많은 웹사이트들이 만들어졌다는 이야기입니다.
2. Open source
modern php의 언어사양 및 php언어의 대표적인
프레임워크 몇개만 살펴보셔도 활성화가 안되었다는 생각은 안드실듯합니다.
3. 범용성
좋은언어의 기준은 사람마다 다르겠지만, 범용성은 큰 메리트가 없습니다.
범용성에 성공한 언어도 찾기 힘들고요.
어느덧 3년이나 된 글이 되었네요
성지순례 다녀갑니다
ㅎㅎㅎ 2016년 글을 이제야 보네요. 아직도 서버단은 PHP를 하고 있는 개발자입니다.
지금 한국에서야 아직도 자바가 대세고 앞으로 얼마나 더 대세로 있을지 모르겠지만
19년간 웹개발한걸 생각하면 그동안 스처지나간 언어들이 얼마나 짧게 반짝였는지 생각하게 됩니다.
개발언어가 중요한것이 아니라 개발 결과물이 중요함을 기획자나 비개발출신 창업자에게 이야기 해도 그들은 잘 이해 못하더군요.
몇년전 이야기지만 PHP는 보안에 약하다는 (개발자가 아닐거라 생각되는) 누군가의 말을 믿을 뿐, 정작 그런걸 해결해 쓰고는 개발자의 말은 안믿는 …
뭐, 지금은 조금 사용률이 높아 졌지만 아직 인식의 변화는 없어 보이네요.
하긴 2006~9년에 사내 개발자들과 이야기 할때 백단은 PHP로 데이터만 처리하는 API 로 구성하고 화면은 전부 Javascript로 처리하는 개발방식을 이야기 했더니 다들 공감 못하는 … 아니 이해는 하지만 “그걸 어떻게 해요?” 라는 분위기 였지요. ㅎㅎㅎ 지금이야 신입도 다 아는 거지만요.
암튼, 글 잘보고 갑니다.
ㅎㅎ 언어는 그냥 수단일뿐이에요. php 로 사이트 만들어서 대박 내는 사업가도 있고, c++ 로 거지처럼 사는 개발자도 있는거고요.
언어부심처럼 부질 없는 것도 없어요. 보다가 웃겨서 댓글 달아봅니다.
그러니까요 ㅋㅋㅋ PHP든 Java든 필요한곳에 적당한 개발자가 쓰면 되는것을.
자기가 Java 쓴다고 PHP 까내리고, PHP 쓴다고 Java 까내리고 ㅎㅎ 재미있네요
PHP를 떠나서 목적이 부합한 언어를 선택하시면 됩니다.
저는 PHP + JS 조합으로도 웹 및 앱(웹뷰 등등등) 여러 방법으로 만들어서 여러 사업(웹, 앱 등 조합)을 개인적으로 운영중입니다.
뭐든지 설계가 잘못되면 유지보수 어렵습니다.
전 어차피 혼자 다 만드니깐 설계 조금만 신경쓰면 문제되는게 하나도 없습니다.
문제가 있다면, 사업적인 문제가 있었지 언어에 대한 문제 이런건 없었습니다.
인식은 점점 바뀔것으로 보고 있습니다.
사람을 구하는거만 해결하면 현재 생산성에서 laravel을 능가하는 웹프레임웍은 없는거 같습니다.
이런좋은글을 이제와서 봅니다
php만져본지 20여년인데 아직도 이렇게 잘 쓰이는게 신기하기만 할 따름입니다(파이썬, 자바도 마찬가지죠)
앞으로 20년이 또 기대되네요
특정 서비스 국내 1위 업체에서 php를 사용하고 있습니다. php는 시대에 뒤떨어진 언어가 맞습니다.
오랜만에 왔는데 어느덧 이 글이 성지가 되었군요 !!! 축하드립니다~ (?!)
개발언어에서 미학적 아름다움을 추구하며 십수년전 정보를 업데이트 하지않고 계시는 분들이 여전히 많네요.
PHP의 장점 중 실무/엔터프라이즈에서 유리한 점도 있지요.
OS의 기본패키지를 설치해도 큰 문제없이 잘 돌아가고, OS업데이트에 따라 그냥 막 업데이트 시켜도 의존성 문제나 어플리케이션자체에 문제발생이 거의 없는 WAS로는 PHP가 거의 독보적이지요.(말씀하신 호환성은 이런 부분에도 유리하죠)
기본 값으로 설치해도 상당한 퍼포먼스를 발휘하고, 인터프리터 언어이다보니 CI/CD구성이나 문제 해결도 매우 단순하게 가능하고, 퍼블릭 클라우드에서 자동 스케일아웃/인에도 상당히 유리하지요.
PHP 모던프레임웤의 보급과 퍼블릭 클라우드의 대중화라는 외부적 환경 변화도 PHP에는 상당한 유리한 조건임에는 분명해 보이네요.
아직 일본에 계시면 한번 뵙고 싶네요 ~~
환경에 크게 영향 안받고 설치해서 쓸수있는 was 기반 인터프리터 언어로는 nodejs 도 있지 않을까요…?
PHP , NODE.js 차이를 더 선명하게 이미지 하려다가 이 사이트까지 오게 되었습니다.
좋은 댓글 잘 읽었어요.
지금은 잘 모르겠지만 op.gg라는 롤 전적 사이트가 php로 되어있는 것으로 알고 있습니다.
일단 op.gg의 트래픽부터 장난 아니다보니, php의 성능에 대해 전혀 의심이 가지 않습니다
그저 원하는 것을 선택할 수 있는 시대가 온것 같습니다
전 c++개발자인데, 웹은 전혀 안하다가 회사의 새로운 서비스를 위해
api서버를 만들거나, 또 윈도우 서버에서 exe도 호출해서 결과도 리턴해야하는 등의 처리를 해야하는데, 이때 php(+apache or nginx)를 배워야할지, node.js를 배워야 할지를 해야할지 검색중에 있네요
잘 몰라서 고민중입니다 ㅜㅜ