SMS처리 도우미
E-mail
  ldwin@naver.com
제목
  웹프로그래밍 언어 종류와 특징 (From. 소스놀이터)


본인은 웹프로그래머로 일하면서 여러 언어를 사용한 경험이 있습니다.
제가 느꼈던 각 언어의 특징에 대해 한번 포스팅해보고자 합니다.

간단히 말하면 각 언어마다 장점과 단점이 있다는 겁니다.
따라서, 어느 한 언어가 다른 언어보다 더 우월한지를 논하기보다, 어떤 장단점이 있는지 이야기하고자 합니다.
그리고, 어떤 상황에서 어떤 언어를 쓰면 좋은지 생각해 보겠습니다.

 

 

1. 웹프로그래밍 언어의 종류 

 

ㄱ PHP 소개 및 장점

PHP 하면 떠오르는 건...... 빠른 생산성, 저렴한 유지비용입니다.

먼저 빠른 생산성에 대해 생각해보겠습니다.

PHP 는 프로그래밍 속도를 높여주기에 매우 좋습니다.

예를 들어, Request("LANG") 이라는 것을 간단히 $LANG 이라고 표현하구요.

Response.Write OUTPUT 은 간단히 =$OUTPUT으로 표현할 수 있습니다.

사소한 부분 같지만, 프로그래밍 속도가 상당히 차이가 나게 되죠.

함수들도 직관적인 것들이 많이 있습니다.

편하게 프로그래밍할 수 있는 거죠.

그 뿐 아니라, 객체를 지향하는 기능도 많이 추가되어 복잡한 프로그래밍도 가능합니다.

 

그럼 유지 비용에 대해 생각해 보겠습니다.

물론 JSP도 리눅스에 설치할 수 있기에 저렴하게 사용 가능합니다.

하지만 ASP 나 닷넷의 경우 윈도우 계열의 운영체제를 사용하기에 비용이 만만찮습니다.

게다가 이들은 데이터베이스 또한 가격이 매우 높습니다.

반면, PHP는 무료 라이센스가 가능한 리눅스 기반이고, 데이터베이스도 Mysql이 설치되는 경우가 많음으로 유지비용이 매우 적습니다.

그 점은 웹호스팅 가격을 봐도 쉽게 알 수 있습니다.

웹호스팅 (서버의 자원을 일부 할당받아 사이트를 개설할 수 있게 해줌) 비용이 ASP 쪽이 훨씬 높죠.

  

 지금까지 "생산성, 유지비용", 이 두가지 점에 대해 이야기했는데요.

그럼 어떤 단점이 있을까요?

  ㄱ-1 PHP 단점

사실 PHP의 단점이라고 해야 할는지 모르겠지만, 제가 생각하는 단점은, 많은 프로그래머들이 쉽게 접근할 수 있다는 점입니다.

공급이 많으니 당연히 연봉이 상대적으로 내려가게 되죠. 물론 수요는 많습니다.
하지만 아이러니하게 이러한 수요는 대개 영세한 업체이거나 중소규모의 사이트들입니다.

따라서 견적이 내려갈 수 밖에 없죠.

  

그리고, 또 다른 단점은, 바로 데이터베이스에 있습니다.

보통 Mysql 을 사용하는 것이 일반적인데요. 

Mysql은 다른 데이타베이스보다 기능을 구현하기에 그리 편하지 않습니다.

물론 모두 구현이 가능합니다.

다만 편의성이 떨어지는 것 같습니다.

조금 어폐가 있을 수 있는데... 왜냐하면, MSSQL, 오라클등을 PHP에 적용할 수도 있기 때문입니다.

하지만 오라클은 주로 대용량 데이터베이스로 사용되어지기에, 작은 기업들은 잘 사용하지 않게 되죠.

(PHP는 주로 중소기업에서 사용합니다.) 

MSSQL도 상대적으로 그렇구요. 

또, 왠지 리눅스 계열인 PHP와 마이크로소프트사의 MSSQL은 뭔가 안 맞는 것 같다는 느낌이 듭니다.

물론 개인적인 느낌입니다. 

 

 

ㄱ-2 PHP의 쓰임새

글쎄요.

저 같은 경우는 빠른 속도, 생산성, 적은 유지 비용이란 장점 때문에, 사이트를 만들고자 할 때, 가장 먼저 PHP가 떠오릅니다.

작업자 입장에서 무척 편하기 때문이죠.

그리고, 사실 PHP 또한 좋은 유용한 기능이 많이 있습니다.

단, 아주 복잡하거나 많은 사람이 방문하고, 유지가 편해야 하는 등의 이유가 붙게 되면, 다른 언어로 눈을 돌립니다.

   

ㄴ ASP 소개

그럼 이제 ASP에 대해 생각해볼까요 ~ ASP 는 적당히 빠른 생산성과 편의성이 있습니다.

그리고, 마이크로소프트사에서 만들었기 때문에 MSSQL 등을 적용하기 편하죠.

난이도도 PHP보다는 조금 높은 것 같지만, 사실 그렇게 차이가 나는 건 아닙니다.

다만, 똑같은 기능을 구현할 때 PHP 보다 코딩량이 많아져, 아쉬운 점이 있습니다.

물론 생산성에 있어 JSP, 닷넷보다는 더 낫죠.

    

ㄴ-1 ASP 장점

앞서 적당히(?) 빠른 생산성과 편의성을 들었습니다.

사실 저도 지금 ASP 사이트 유지보수 및 신규 개발을 하고 있는데요.

ASP 를 쓰게 되면 MSSQL 을 사용하게 되고 윈도우 계열을 사용하게 됩니다.

보안에 지식이 적은 저이긴 하지만, 이 윈도우 환경이 아주 편하기 때문에 쉽게 윈도우 운영체제로 유지보수하고 있습니다.

부지런하게 보안 업데이트 해주고, 방화벽을 돌리는 등, 몇가지 작은 노력만으로 어느 정도의 보안이 가능하죠.

데이터베이스 복제 등도 쉽게 가능하기 때문에, 유사시 상황도 대비할 수 있죠.

그리고 비즈니스 로직을 구현하기도 편합니다.

속도도 잘 관리해주면 빠르게 구동이 가능하죠.

사실 속도 부분은 배제하고자 합니다.

대부분의 경우, 사이트 속도는 언어에 따른다기보다, 그것을 만든 프로그래머에 좌지우지 되기 때문이죠.

최적화는 잘 되었는지, 속도를 염두해 둔 프로그래밍을 하였는지 , 데이터베이스 인덱스를 잘 걸었는지 등이 관련됩니다.

 

ㄴ-2 ASP 단점

그럼 제가 생각하는 ASP의 단점에 대해 말씀드리겠습니다.

우선 높은 비용이 든다는 점입니다.

특정한 기능을 구현하려면 컴포넌트를 돈을 주고 사야 합니다.

게다가 마이크로소프트사의 추가 지원이 끊겼기 때문에 어려움이 예상됩니다.

물론 그렇다고 구현이 아예 안 되는 기능이 있는 건 아닙니다.

   

  ㄷ JSP 소개

JSP 하면, 높은 연봉을 떠올리게 됩니다.

대개 대기업이나 공기업에서 이 JSP를 쓰게 되죠.

따라서, 연봉이 높습니다.

그리고, 높은 수준의 기술력이 필요합니다.

그래서, 처음 프로그래밍을 배우면 접근하기 어렵죠.

하지만, 장점은 세밀한 제어가 가능하므로, 많은 이용자에도 잘 작동한다는 점입니다.

물론 이것은 프로그래밍을 잘하고 데이터베이스가 최적화되었을 때 이야기입니다.

 

ㄷ-1 JSP 장점

JSP의 장점은 앞서 언급한 대로, 세밀한 제어를 통한 성능 발휘를 들 수 있습니다.

그리고, 상대적으로 높은 장벽으로 높은 연봉을 기대할 수 있습니다.

개발환경도 대개 무료로 이용이 가능하죠.

 

ㄷ-2 JSP 단점

사실 단점은 좀 커 보이는데요.

제가 느꼈던 건, 생산성이 나머지 언어에 비해 좋지 않고 높은 기술 장벽이 있다는 점입니다.

저는 JSP로 구현할 때, 메모리 누수등을 상당히 신경써야 합니다.

잘만 만들면, 정말 좋지만, 자칫 실수하거나 부주의하면 최악의 퍼포먼스를 낼 수 있습니다.

그리고, JSP에는 보통 오라클 DB를 쓰게 되는데요.

(쓰임새 자체가 대용량이다보니 오라클을 주로 사용하게 됩니다.)

이 DB가 성능이 좋은 만큼, 관리하기가 어렵더군요.

    

ㄹ 닷넷

닷넷은 사실 제가 단 1년 정도 밖에 경험해보지 못했습니다.

당시 닷넷이 나온지 얼마 안 된 상태였었습니다.

1년 프로젝트를 이 언어로 뛰게 되었는데요.

대기업 프로젝트였었습니다.

당시에 닷넷으로 진행되는 프로젝트가 시초라 힘든 점이 많았습니다.

지금은 많이 변했죠.

당시에는 그렇게 쉽지만은 않았던 프로그래밍이였습니다.

구현에 있어 자유도가 많이 저해되어 특정기능을 수행할 때, 일반적인 닷넷 사용법에서 벗어나 커스터마이징을 많이 했던 기억이 있습니다.

물론, 이 언어도 큰 사이트에서 많이 사용됩니다.

따라서, 연봉이 상대적으로 높죠.

그리고, 닷넷은 사용가능한 언어가 많은데요.

저는 그 때 C# 을 썼었습니다.

자바랑 비슷해서 좋더군요.

 

2. 나는 어떤 언어를 사용하고 또 공부할 것인가?

처음에는 상대적으로 쉬운 PHP나 ASP를 먼저 공부하는 게 어떨까 합니다.

프로그래밍 언어라는게 사실 처음부터 독학으로 하기에 힘든 점이 많습니다.

따라서, 처음에는 학원의 도움을 받는 것이 좋습니다.

그렇게 4-8개월 정도 도움을 받으면,  (개인적 편차는 있지만) 그 다음에는 혼자 공부해도 적응이 가능합니다.

가능하시면 학원을 가실 때, 실력이 좋은 강사가 있는 곳으로 가는 게 좋구요.

그 후에는 혼자 공부할 수 있고, 또 사이트등을 제작해 볼 수 있습니다.

이 분야의 장점 중 하나가 창의성을 들 수 있고, 활용폭이 무척 넓다는 점입니다. 

어떤 언어를 사용하든 행복한 프로그래밍을 하시길 바랍니다 !!

 

트위터, 페이스북 공유 부탁드립니다~!
트위터   페이스북


 닉네임
12
  • 패스워드
           
X