본문 바로가기
Progamming/BoostCourse

웹 프로그래밍을 위한 프로그램 언어들

by 동그란 혜주 2019. 1. 14.
  • 들어가기 전에
프로그램을 만들기 위한 프로그래밍 언어의 종류는 굉장히 다양하다. 10년을 주기로 보통 40-50개의 프로그래밍 언어가 탄생하고 있다. '수많은 프로그래밍 언어 중에서 어떤 언어를 선택하여 개발할 것인가?'도 프로그래밍을 처음 배우는 사람에게 많은 고민을 안겨준다. 수많은 프로그래밍 언어 중에서 어떤 언어를 선택하는 것이 좋을까?



  • 학습 목표
1. 다양한 프로그래밍 언어의 종류에 대하여 알아보자
2. 웹 프로그래밍에 좀 더 최적화된 프로그래밍 언어의 장단점에 대해 알아보자.



  • 핵심 개념
- 저급언어
- 고급언어
- 컴파일러



  • 저급언어
저급언어는 기계 중심의 언어라고 말할 수 있다. 기계가 직접 알아들을 수 있는 말로, '프로그램 코드를 작성한다'고 말할 수 있다. 컴퓨터는 전기로 동작한다. 즉, 전기신호인 켜짐(on)과 꺼짐(off) 두 가지 상태값으로 동작한다. 보통 숫자로 표현하게 되면 on은 1, off는 2를 의미한다. 0과 1로 표현되는 숫자를 2진수라고 말한다. 2진수로 이루어진 값으로 작성하는 프로그래밍 언어를 기계어(Machine Language)라고 말한다. 숫자로만 되어있기 때문에 유지보수가 굉장히 어렵다. 숫자로만 되어있는 프로그래밍 언어는 사용이 굉장히 어려웠다. 그래서 숫자로 된 문장과 1:1로 대응하는 기호를 만들고, 그 기호로 프로그래밍을 하게 되었다. 단, 기호로 작성된 프로그램은 기계가 바로 알아들을 수 없기 때문에 기호로 작성된 문장들을 원래의 숫자로 바꿔야하는 과정이 더 필요하게 되었다. 이러한 과정에서 사용되는 도구를 컴파일러(Compiler)라고 하며, 이러한 기호로 작성된 언어를 어셈블리어(Assembly Language)라고 말한다. 현재는 아주 특수한 경우를 제외하고는 기계어와 어셈블리어로 프로그래밍 하는 경우는 거의 없다. 그만큼 프로그래밍이 어렵고 유지보수가 어렵기 때문이다.



  • 고급언어
고급언어는 사람 중심의 언어라고 말할 수 있다. 사람이 좀 더 이해하기 쉬운 문법으로 프로그래밍을 할 수 있다. 이런 일이 가능하기 위해서는 작성된 소스코드를 번역하는 과정이 필요하다. 이를 '컴파일한다'고 말하며, 이러한 일을 수행하는 것을 컴파일러라고 말한다. 컴퓨터 성능이 좋아지고, 컴파일러와 관련된 기술이 발전하면서 사람 중심의 언어로 프로그래밍할 수 있다고 생각하면 된다. 이러한 고급 언어로는 다음과 같은 언어들이 있다.
- C : 1972년 미국 벨 연구소의 데니스 리치에 의해 개발된 고급언어로써, 시스템 프로그래밍에 가장 적합한 평가를 받는 언어이다.
- Swift : 2014년 WWDC(Apple WorldWide Developers Conference)에서 공개한 프로그래밍 언어이다. 최근에 만들어진 언어로 현대 프로그래밍 언어의 발전을 대다수 계승한 모던 프로그래밍 언어라고 말할 수 있다.
- Kotlin : InteliJ IDEA 개발사 JetBrains에서 2011년에 개발한 프로그래밍 언어이다. JVM기반의 언어이며 Java와의 상호 운영이 100% 지원된다. Swift와 마찬가지로 현대 프로그래밍 언어의 발전을 대다수 계승한 모던 프로그래밍 언어라 말할 수 있다.
- Python : 프로그래밍 입문자가 읽기 쉽고 적은 코드를 사용하여 프로그램을 개발할 수 있다. 많은 사람에게 추천되는 언어이며, 데이터 과학에서도 자주 사용되며 웹사이트 개발에서도 많이 사용되고 있다.
- Java : 1995년 썬 마이크로 시스템즈에서 개발한 객체지향 프로그래밍 언어이다. 거의 매년 세계에서 가장 많이 사용되는 인기 1등을 차지한다.



  • 웹 관련 인기 언어
- Python : 프로그래밍 입문자가 읽기 쉽고 적은 코드를 사용하여 프로그램을 개발할 수 있다. 많은 사람에게 추천되는 언어이며, 데이터 과학에서도 자주 사용되며 웹사이트 개발에서도 많이 사용되고 있다.
- PHP : 웹의 80% 이상이 PHP로 만들어졌다고 말한다. 그만큼 PHP는 웹 개발에서 많이 사용된다.
- JavaScript : 자바 스크립트는 처음 시작이 브라우저에서 동작하는 언어였다. 현재는 서버에서도 작성하는 프로그램으로 점차 영역을 넓혀가고 있다. 프론트 개발자라면 반드시 알아야 할 언어이다. 자바스크립트 커뮤니티도 점점 더 거대해지고 있다.
- Java : 엔터프라이즈 소프트웨어 환경에 잘 맞는 언어이다. 큰 규모의 소프트웨어 개발에 자바언어가 많이 사용되고 있다. Java 언어를 지원하는 수많은 커뮤니티를 위해서, 지속적으로 발전되어 훌륭한 구조와 설계 기법들이 잘 갖춰져 있다.
- Ruby : 빠른 개발에 널리 사용되며, 단순함과 세련된 웹 어플리케이션을 만들 수 있기 때문에 인기 있는 언어 중의 하나이다.



  • 생각해보기
Q1. 프론트 엔드부터 서버 개발까지 한 가지 프로그래밍 언어를 사용하여 개발한다면 어떤 언어를 사용하는 것이 좋을까?
A1. 음.. Java? 웹 프론트에서(물론 웹 프로젝트는 한번 해봤다. 심지어 토이 프로젝트지만..) 동작을 구현할때도 Java를 사용하였고, 서버와 연동을 구현할때도 Java를 썼던 것 같은데.. → 대부분의 사람들이 JS라고 생각하는군.. 

Q2. 다양한 라이브러리, 쉬운 개발, 읽기 쉽고 적은 코드를 장점으로 한다면 어떤 언어를 사용하는 것이 좋을까?
A2. Python. 파이썬으로 개발해본 경험은 아직 없지만, 간결하고 쉽다는 장점은 들어보았고, 위에서도 그것이 파이썬의 장점이라고 하였음..

Q3. 프로그래밍 언어에게 좋은 커뮤니티가 있다는 것은 어떤 장점을 가질까? 
A3. 그 언어로 개발하다가 모르는 것이 있을때 질문하기가 더 편리하고, 유용한 오픈소스들이 더 많지 않을까..


'Progamming > BoostCourse' 카테고리의 다른 글

웹 서버  (0) 2019.01.15
browser에서의 웹 개발  (0) 2019.01.15
browser의 동작  (0) 2019.01.15
웹 Front-End와 웹 Back-End  (0) 2019.01.14
웹의 동작 (HTTP 프로토콜 이해)  (0) 2019.01.14

댓글