본문 바로가기
잡담

웹 프로그램 개발용 언어들의 종류와 장단점 총정리

by PrintedLove 2020. 3. 19.

2020년 비대면 수업 중 학교 과제로 제출한 내용을 올린다.

 

 

 웹 계발 언어는 크게 프론트 엔드(클라이언트) 용과 백 엔드(서버) 용으로 나눌 수 있다.

 프론트 엔드 언어로는 html, css, javascript, react, (JQuuery, VueJS)… 등이 있으며, 백 엔드에는 PHP, java (Spring, Servlet, JSP), ASP, python (Django, Flask), javascript, c#, Ruby, .Net… 등 수많은 언어들이 있다.

 프론트 엔드는 웹페이지에서 사용자가 직접 상호작용을 하는 부분으로 html, css, javascript이 세가지 언어가 기본적으로 사용된다. Html은 웹 페이지의 전체적인 틀을 구성하며, css는 디자인적인 부분, javascript는 웹페이지를 동적으로 만들어주는 역할을 한다.

 백 엔드는 웹사이트의 숨겨진 부분에서 서버, 응용프로그램, 데이터베이스가 서로 통신할 수 있게 하는 부분을 말한다. PHP, 자바를 활용한 JSP, ASP, 그리고 python 같은 언어들이 대표적이다.

 

출처:  https://octoverse.github.com/

 

위 사진은 GitHub 홈페이지에서 캡처해온 사용자들의 가장 인기있는 언어 10개이다.

사실상 저 언어들 중 대부분이 웹계발과 관련이 있었다. 그 외에도 수많은 언어들이 웹계발에 사용되고 있다.

 

 

각 언어의 장단점

 

프론트 엔드 언어

1.      html

 장점: 무료로 사용이 가능하며 문법이 쉽다. 마크업 언어로 클라이언트-서버 간의 빠른 정보 전달이 가능하다. 시스템과 운영체제에 독립적이다.

 단점: 정적언어로 동적 출력 생성이 불가능하다. 구조화된 정보의 표현과 검색이 어렵다. 제공하는 보안기능이 제한되어 있다.

 

2.      css

 장점: html의 기능을 확장하며 문법이 쉽다. 양식을 모듈화해 전체를 같은 문서양식으로 구성할 수 있다. 사용환경에 영향을 거의 받지 않는다.

 단점: 브라우저의 스타일 시트 지원 방식이 달라 보편화가 쉽지 않다. 때문에 브라우저가 공통적으로 사용하는 방식을 사용해야 한다.

 

3.      javascript

 장점: 인터프리터 언어로 습득과 디버깅이 쉽다. 시스템과 운영체제에 독립적이다. 웹서버에 주는 부담이 적다.

 단점: 사용할 수 있는 메소드가 적다. 소스코드를 감출 수 없다. 디버깅도구와 개발도구가 부족하다.

 

 

 

백 엔드 언어

1.      JSP

 장점: Java기반 언어로 객체 지향이다. 주축이 되는 프레임워크가 존재하며 큰 프로젝트에서 강점을 보인다. 한국에서 많이 쓰인다.

 단점: 각종 모듈을 설치해야 해서 가벼운 프로젝트에 어울리지 않는다. 또한 프레임워크에 익숙하지 않으면 개발이 힘들다.

 

2.      ASP

 장점: 마이크로소프트의 지원을 받아 유지보수가 쉽다. 윈도우 개발환경에서 원활히 사용할 수 있다.

 단점: 라이선스 비용이 많이 든다. 또한 윈도우에 최적화 되어있어 다른 플렛폼과 호환이 좋지 못하다

 

3.      PHP

 장점: 오픈소스로 비용면에서 이점이 있다. C언어 기반으로 상당이 빠르며 프레임워크도 다른 언어에 비해 적용이 단순하다.

 단점: 프레임워크가 확실히 정착되어 있지 않아 개발환경 선정에 어려움을 겪을 수 있다. 객체지향 설계가 어려워 유지 보수에 약점이 있다.

 

4.      Python

 장점: 오픈소스로 비용면에서 이점이 있다. 소스코드를 단순하고 간결하게 작성할 수 있어 생산성이 높다. Django라는 주력 프레임워크의 생산성이 몹시 높다. 해외 기업에서 많이 사용하고 있다.

 단점: 파이썬 언어 자체가 느리다. 한국에서는 다른 언어에 비해 점유율이 낮아 인프라가 적다.

 

 

 

(출처 1: https://nm817.tistory.com/23)

(출처2: https://skywell.software/blog/how-to-make-a-website-with-javascript-html-and-css/)

(출처3: http://www.deadfire.net/jscript/jscript04.html)

(출처4: https://ssaemo.tistory.com/350)

(출처5: https://jhnyang.tistory.com/83)

(출처6: https://hyoje420.tistory.com/25)

댓글