스타트업을 팀빌딩하거나 서비스 제품개발을 진행할때는 항상 고민이 있을 것입니다. 어떠한 개발환경으로 세팅하고 개발해야하는지 말입니다. CEO 입장에서는 사내 개발자말을 듣는것도 당연하겠지만, IT기술 스타트업 임원이라면 여러 개발 언어중의 필요한 언어 장점 단점 정도는 파악해야 좋습니다.

 

실제로 IT 관련 경험이 없는 CEO가 많이 겪고 있는 고충이며,  IT 아웃소싱 플랫폼 프리모아에 프로젝트를 의뢰한 많은 분들께서 개발자들이 설명하는 이야기를 고 지곳대로 믿을 수밖에 없는 난처한 상황이 발생한다고 호소합니다.

 

하지만 다양한 개발 언어들을 영역별로 한 번에 알기는 어려운 일입니다. 이번에는 '스타트업 대표도 알아야 하는 백엔드(Back end) 개발 언어 JAVA와 PHP'에 대해 알아보는 시간을 가지려고 합니다.

 

소프트웨어 개발에 사용되는 프로그래밍 언어는 각 분야에 따라 매우 다릅니다. 개발자마다 선호하는 언어가 다를 수 있고, 그 이유 또한 다양합니다. 노드제이에스(Node.js) , 피에이치피(PHP), 루비(Ruby), 파이썬(Python), 닷넷(.NET) 등등 다양한 언어 중에서 개발자는 자신이 작업하는 환경과 개발 분야에 맞게 선택하고 활용할 필요가 있습니다.

 

이번에는 서버사이드 언어인 JAVA PHP에 대한 내용을 간략히 알아보려고 합니다.

 

 

 :: JAVA ::

 

첫 번째, 소개할 언어 JAVA는 썬 마이크로시스템즈에서 1995년 개발한 객체 지향 프로그래밍 언어로 보안이 강하다는 장점을 가지고 있습니다. 자바는 플랫폼에 독립적 언어라는 특징을 갖고 있으며, 다른 운영체제나 CPU에서도 생성한 코드를 수정할 필요 없이 사용할 수 있는 장점이 있습니다.

 

JAVA

 

JAVA는 전 세계적으로 한국에서 가장 많이 사용하는 언어로 알려져 있습니다. 우리나라의 경우는 정부 기관 등 관공서에서 JAVA를 활용하고 있고, 기업용 웹이나 안드로이드 어플 개발에도 자주 사용하고 있습니다.

 

JAVA 2000년 이후부터 근 20년간 프로그래밍 언어 중 점유율 1위를 차지할 만큼 오랜 시간 동안 개발자가 활용하는 언어이며, 현재까지도 TIOBE에서 선정한 2020 10월 기준 검색어 점유율 상위 20개 프로그래밍 언어 중 JAVA C언어 뒤를 이어 2위를 차지하고 있을 만큼 사용도가 높습니다.

 

 

프로그래밍 언어 점유율 순위

 

이처럼 많은 이들이 사용한다는 점, 즉 여러 프로젝트에 활용되면서 다양한 레퍼런스가 쌓여있는 점이 JAVA의 가장 큰 장점이며, 사용도가 높은 언어이기 때문에 개발자를 구인하기도 쉽습니다. 또한, 개발자의 입장에선 다양한 프로젝트에 참여할 기회가 많은 편입니다.

 

그리고 우리나라의 경우 정부 산하 프로그램 언어가 대다수 JAVA로 이뤄져 있어 정부의 지원을 받는 프로젝트 사업에 참여하기도 용이한 편입니다.

 

앞서 언급한 것처럼 다른 언어에 비해 비교적 높은 안전성도 JAVA의 장점으로 꼽습니다. JAVA C C++에 문제가 제기되는 포인터 연산자나 메모리 직접 접근 함수를 지원하지 않습니다. C++과는 다르게 다중 상속을 허용하지 않습니다. JAVA는 복잡한 프로그래밍 과정에서 발생하는 문제를 원천에 차단하는 셈입니다.

 

높은 기기 호환성도 JAVA의 장점으로 꼽습니다. 어떤 운영체제라도 Java Virtual Machine(JVM)을 통하면 생성한 JAVA 프로그램을 똑같이 작동할 수 있습니다. 요즘처럼 다양한 운영체제와 기기에 동일한 소프트웨어를 호환해야 하는 경우 운영체제별로 프로그램을 따로 만들지 않아도 되는 큰 장점이 있습니다. 다만 다른 플랫폼 언어들과 마찬가지로 각 플랫폼마다 차이가 있을 수 있기 때문에 주의할 필요가 있습니다.

 

 

:: PHP(Php Hypertext Preprocessor) ::

 

PHP(Php Hypertext Preprocessor)는 대표적인 서버 사이드 스크립트 언어로 전 세계 수많은 웹 시스템에 기반이 되는 언어로 알려져 있으며, 기본적으로 웹 관련 함수들이 많아 생산성이 높은 편입니다. 대표적으로는 우리들이 잘 알고 있는 위키피디아도 PHP를 기반으로 개발되었습니다.

 

 

PHP (Php Hypertext Preprocessor)

 

웹서핑에서 접하는 많은 웹페이지가 PHP를 쓰고 있거나 PHP를 기반으로 한 CMS입니다. 예를 들어 워드프레스가 애플리케이션도 PHP로 개발하였습니다.

 

PHP 언어의 가장 큰 장점은 오픈소스입니다. 많은 개발자들에게 접근성이 높다는 뜻이며, 누구든 PHP를 활용하여 작업할 수 있습니다. PHP 공식 사이트에서 소스 코드를 공개하고 있으니 참고하시면 좋을 거 같습니다. 또한 리눅스나 유닉스와 같은 OS에 컴파일 하는 방법까지 친절하게 설명해 주고있습니다. 물론 컴파일 과정이 필요하지 않은 경우가 대부분입니다.

 

이처럼 PHP는 대부분 OS에서 간편하게 활용할 수 있으면서 비용이 요구되지 않기 때문에 개발자들이 빠르고 다양한 방법으로 활용합니다. 또한 쉽게 플러그인 기능 등을 사용할 수 있어 운영 비용도 저렴하게 유지할 수 있는 장점이 있습니다.

 

접근성 외 PHP의 다른 장점은 낮은 진입장벽입니다. PHP는 개발 언어가 복잡하지 않기 때문에 보편적으로 개발자 입장에서 언어를 배우기 쉽고 간단합니다. 따라서 빠른 기간 내에 프로그래밍을 완성할 수 있습니다. 이와 같은 장점들은 생산성과 효율성 상승으로 직결됩니다.

 

 

다만 PHP의 자유로움은 단점으로 부각되기도 합니다. 예를 들어 내장 함수나 인자 이름 규칙에 일관성이 부족한 점은 PHP가 꾸준히 들어온 비판이며, 규칙이 없다는 이유로 대형 웹사이트 제작에는 적합하지 않다는 것이 항상 부각돼었습니다. 또한, PHP의 가장 큰 문제점으로 꼽히던 '안전성'은 느슨한 검사로 보안 취약점이 많은 편이며, PHP의 장점인 '접근성'때문에 개발자 외 다른 프로그래머가 접근하기도 쉽다는 게 문제였으나, PHP 7.0 이후에는 많이 개선되고 있습니다.

 

즉 개발자의 실력, 노력에 따라 완성도에 큰 차이가 나타납니다. 실력 있는 개발자라면 엄격하게 갖춰진 체계 안에서 시스템을 구현하는 것보다 PHP를 활용해 창의적인 결과가 나올 수 있습니다.

 

하지만 PHP 7.0 이전에는 디자인 패턴이나 프레임 워크가 확립되지 않은 상태에서 코드 보안성을 신경 쓰지 않고 활용했던 방식으로 인해 'PHP는 안전하지 않다'라는 이미지가 고착화 되었습니다.

 

쉽게 설명하면 어떤 집을 지으면서 ''을 만들 때 그 문에 자물쇠가 달아진 상태로 나옵니다. 또는 어떤 자물쇠를 어디에 달라는 지시를 합니다. 하지만 PHP의 경우에는 자물쇠가 달려있지 않다고 할 수 있습니다. 개발자는 그 문의 원하는 곳에 도어록을 달 수 있고, 육각 자물쇠를 달 수도 있습니다. 그러나 생산서에만 신경쓴 나머지 보안을 신경 쓰지 못 한 상태에서 코드를 짜고 코드 보안성에 대한 설계를 하지 않은 경우가 생기면서 'PHP 자체는 안정성이 낮아'라는 인식이 깔리게 되었습니다.

 

오늘은 JAVA PHP에 대해 간략하게 알아보는 시간을 가졌습니다. IT 아웃소싱 플랫폼 프리모아가 정리한 내용이 도움 되었기를 바랍니다. 스타트업을 운영하면서 IT 외주를 고민하고 있다면, IT와 관련된 기본적인 용어를 숙지하는 것은 반드시 필요합니다. IT 아웃소싱 플랫폼 프리모아에서 제공하는 다양한 포스팅을 통해 많은 정보를 얻어 가시기를 바랍니다.

 

 

 

 

만약 IT 아웃소싱 개발에 궁금하거나 관심이 있다면 언제든지 프리모아에서 제공하는 무료 컨설팅을 받아보세요. IT전문가를 통해 프로젝트의 가능성부터 초기 견적, 3자 미팅, 요구사항 정의서 작성 등 모든 상담을 무료로 제공하고 있습니다.

 

 

 

Posted by 프리모아

댓글을 달아 주세요