웹언어에 대한 생각

자유롭게시판

웹언어에 대한 생각

플래토 1 10806 0 0

누군가 질문에 PHP와 Java의 차이에 대해서 질문을 하였기에

 

다음과 같이 답변을 했습니다.

 

 

Java 는 제임스고슬링이 가전제품에 들어갈 

이기종에서 작동가능한 가상런타임라이브러리 위에서 작동하게 만들기 시작한 언어입니다.

20여년전쯤

애플릿이란것이 등장할때 

자바를 이용해서 만들었죠

Java 에서는 C/C++ 보다 간결한 개념을 갖게 만드는게 기준점이었어요

 

AWT를 가지고 윈도우팝업되는 소프트웨어도 제작가능하게 시작했지만

느리다는데 단점이었죠 (지금은 하드웨어가 워낙 좋아져서 별로 느리지 않습니다만.. )

 

아무튼, 태생이 그렇다는거죠

java는 C언어에서 포인터개념을 감춰서 사용하지 않게하고 더할꺼 더하고 뺄꺼 뺀 언어라는 별명도있습니다.

 

우리나라가 IMF가 되고 사회초년생이 취업이 불가할즘

대거 IT교육을 지원해서 java를 많이 배우고, 대기업들은 그당시 고도화작업을 java / jsp 기반으로 구축을했죠

또, corba라는 개념이 등장해서 네트웍과 보안에 신경을 많이 썼고, 그 이후엔 EJB 라는 개념으로

급 성장을 했습니다.

 

이와는 다르게

 

PHP는 일본의 개발자가 Perl 에서 영감을 받아 웹언어를 쉽게 만들기위해

웹서버에 모듈로 작동되는 스크립트언어(컴파일이 필요없는) 

Perl 문법을 많이 따르는 언어를 만든게 PHP였고

초기에는 매우 단순했습니다.

 

역시 홈페이지를 만들기위한게 주 목적으로 등장했구요

 

때마침 Linux도 여러종류가 등장하고

MySql이라는 무료DB가 나와서

사람들에게  LAMP 라는 이름으로 퍼지기 시작했죠 (무료였으니까요)

 

반면에 자바는 웹을 구축하려고해도 웹서버만으로 안되고 Web Application Server(WAS)라는게 필요하죠

그래서 톰켓이란 오픈프로젝트도 등장하고 했지만 웹로직(기업용 유료 WAS)가 나오고

국내에서는 Jeus가 나왔으나 많이 퇴물이되었죠

 

곁가지로  MS에서는 IIS에서 작동하는 PHP를 복사한 ASP를 만들었죠

VBScript기반 + Component 를 사용하는 개념이라서

MS환경에서만 작동했고, (오픈소스가 리눅스위에서 작동하게 시도했지만 다 실패로 끝났죠)

 

태생은 이러하고

 

정리하자면

 

Java는 컴파일을 거쳐서 .class 라는 확장자의 바이너리 파일로 만들어진것을

WAS에서 인식하게 하여 구동합니다.

JSP는 파싱을 하면 바로 .class로 컴파일되서 WAS에서 기억해두고

변경이 일어나면 다시 컴파일하는 구조입니다.

 

PHP는 컴파일을 하는게 아니라 파싱을 하는 개념입니다.

즉, 웹서버에서 바로바로 읽고 해독하고 수행하죠

다소 느린감이 있지만 다양한 Optimizer들에 의해서 많이 개선되었고,

PHP 7.0이후 속도는 급속도로 개선되었습니다.

 

ASP는 MS에서 .Net개념을 추진하다가 다 망했죠..

지금은 일부 금융권(증권들위주)만 사용하는것으로 알고있습니다.

 

Java/JSP는 EJB뿐만 아니라. Spring이란느 프레임워크의 등장으로 

세계적으로 많은 사용자 층을 확보했고,

살아남기위해서 Ruby의 개념도 채용하고, JavaScript의 개념도 채용하는등 다양한 경로를 보이고있습니다.

지금은 Oracle에서 인수해서 유료화 추진중이구요

 

PHP는 facebook에서 초기에 만들고 진행했으나 가독성과 속도가느려서 

HHVM이라는 머신을 자체개발해서 작동시켰으나 PHP 7.0이후 차이가 사라져버렸구요

Laravel 이라는 프레임워크의 등장으로 다시금 안정궤도에 올락나 상황입니다.

 

기업에서 사용하지 않는다는건, 

기업적인 마인드와 이해의 수준때문이구요

보안은 어떻게 하던 비슷해질수있습니다.

분산처리는 자바가 아무래도 안정적으로 뛰어나고

유지보수는 각 언어에 익숙한사람이 많은 / Q&A가 활성화된 영역이 잘되게 마련입니다.

 

국내에서 Java는  SI / SM 위주의 기업들인 (삼성SxS, LG CxS, SK CxC 들이 위주로 사용하고) 최근엔

오픈소스도 점차 도입중입니다.

 

앞으로의 전망은 글쎄요.. 많이 사용하는언어가 살아남겠죠

1 Comments
쏘울은이 2019.03.04 14:56  
간결하게 설명 잘 해주셔서, 잘 읽고 이해했어요^^
Category
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand