php7

왜 php인가? php의 장점

소중대 2018. 3. 15. 16:16
반응형

◈ 오늘날의 php

php개발팀이 2004년 7월 13일에 php5를 선보이면서 2014년 8월에 5.6버전이 배포되기까지 

10년간 메이저 숫자의 업데이트가 이루어지지 못했는데요.

그 사이, asp.net mvc나 jsp java 계열에서 보다 진보적인 프레임워크들이 나오고 꾸준한 언어 발전이 이루어지면서 php는 다소 구시대적 언어가 되는 느낌이었습니다.

하지만, 발전이 없을 것만 같았던 긴 동면을 깨고 2015년 12월 3일날 php7이 발표되었는데요.

php7의 특징은 아래와 같습니다.

가장 혁신적인 발전은 첫 문장에 있는 성능 향상인데요.

2014년에 발표한 php5.6 기준으로 1년 사이에 php7은 2배이상의 빠른 속도를 자랑하는 혁신을 이루었습니다.

그로부터 1년 단위로 중규모 업데이트가 이루어지면서 2016년말엔 php7.1, 2017년말쯤에는 php7.2로 꾸준히 업데이트를 해오고 있다는 것 또한 php의 더 큰 발전 가능성을 의미한다고 볼 수 있습니다.

그리고 이러한 업데이트들이 점점 더 객체지향적이고 mvc디자인 패턴을 고려한 업데이트가 되어가고 있어 

현시점에서의 프로그래머들이 지향하고 있는 방향과 일치하는 방향으로 php가 흘러가고 있다고 생각합니다.


◈ php의 장점

요즘의 웹 프로그래밍언어는 서로 영향을 주고 받으면서 웹프로그래밍의 주요 요소라고 할 수 있는 성능과 생산성, 자원절감, 유지보수성과 같은 부분들이 닮아가고 있어 뚜렷한 PHP만의 특장점은 찾기가 어려운데요. 그래도 특징적인 부분을 꼽자면,


1. 서버부하.

php의 가장 큰 장점은 jsp와 asp.net보다 대체적으로 서버부하가 적다는 점을 들 수 있습니다. 그로 인해 php로 웹어플리케이션을 구동하는 서버는 유지보수 비용을 낮출 수 있는데요. 

웹호스팅 전문업체 가비아나 카페24에서도 php대비 jsp나 asp.net서버 가격차이가 꽤 나는 편입니다.


2. 빠른 코드 수정

또 하나의 장점은 스크립트 언어의 특성 상 php는 asp.net이나 jsp java계열 프로젝트와 다르게 빌드과정이 없이 바로 서버사이드 영역의 php코드를 수정하고 수정 즉시 반영되어서 빠른 코드 수정이 가능하다는 점인데요.

코딩과 디버깅 간의 시간 간격을 거의 없기 때문에 디버깅 위주의 프로그래밍을 할 수 있어, 이것은 생산성 측면에서 매우 유리한 장점이 될 수 있습니다.


◈ php의 미래

현재의 PHP는 코드가 변경되면, php웹어플리케이션 실행 시점에서 Zend Engine이라는 스크립트 엔진이 변경된 php코드를 읽어들여서 opcode로 바꿔주고, opcode를 인터프리터 방식으로 읽어 실행합니다.

따라서 php코드가 변경된 것이 없다면 기존에 opcode를 바로 인터프리팅하게 되는데, 인터프리터 방식의 단점은 한줄씩 읽어 실행하는 방식이라 반복적으로 사용된 함수 등에 대한 최적화된 대처를 하기가 어렵다는 점입니다.

하지만 다음 대규모 업데이트 버전인 php8.0에서는 JIT컴파일을 지원할 수 있다고 있다는 소식이 있습니다.

JIT컴파일이 된다면, php코드에서 Zend Engine으로 변환된 opcode들을 php웹어플리케이션 실행 시점에서 JIT 컴파일러가 컴파일하여 반복적 함수사용에 대한 문제가 최적화가 된 채로 기계어로 컴파일되게 됩니다.

결국 인터프리터 방식의 단점을 극복할 수 있어 성능이 한 층 더 좋아질 것으로 예상이 되는데요.


라라벨프레임워크나 코드이그나이터, 팔콘 등과 같은 php프레임워크가 좀 더 유지보수성과 생산성을 높여주는 방향으로 지속적인 발전을 해나간다면, 

빠른 처리 속도+ 가벼움(적은부하) + 높은 생산성으로 무장하여 PHP의 옛 영광을 다시 누릴 수 있지 않을까 싶습니다.

반응형