공부/개발자 기초 지식

프로그래밍 언어 종류/분류 (feat. 컴파일과 인터프리터)

bumcrush 2019. 9. 4. 14:21
반응형

지금까지 이클립스 IDE를 사용하고 실습위주로 개발을 해서 
이론적으로 이게 어떻게 돌아가는 건 지 생각을 많이 안해봤다. 아니 사실 한번도 생각해 본 적이 없는 것 같다.
그러니 입사하고 나서 상당한 혼란을 겪고 있다...
" 컴파일?   인터프리터?? 서버 사이드 언어???  뭐지뭐지 이클립스 사용할 때는 그냥 RUN 버튼 하나면 다 알아서 해줬는데.. "
매우 혼란스럽고 부끄러웠다.. 
이대로는 안 되겠다 싶어서 공부하는데, 상당히 헷갈리는 부분이 많다. 
그래도 이 또한 개발자에 가까워지는 과정일 것이라 믿으며..
오늘 이해한 것들을 정리해 본다.



프로그래밍 언어 분류1


# 컴파일 언어란?
- 컴파일? 프로그래머가 작성한 소스코드를 기계가 이해할 수 있는 기계어로 변경하는 것
- 이러한 컴파일 작업을 하는 언어를 컴파일 언어라고 한다.
- 예시 :  C, C++

# 인터프리터 언어(= 스크립트 언어)란?
- 인터프리터? 소스코드를 바로 실행하는 것
- 소스코드를 컴파일 하지 않고 한줄 한줄씩 번역하여, 바로 실행하는 언어를 말한다.
- 일반적으로 실행 속도는 컴파일 언어보다 떨어지진다.
- 하지만 크기가 큰 소스코드의 경우 컴파일 시간이 오래 걸릴 수 있는데, 인터프리터 언어의 경우 바로 실행이 가능하다.
- 예시 : PHP, JavaScript, Python, Ruby, HTML, JSP

# 하이브리드 언어 란?  
- 컴파일 + 인터프리터 
- 컴파일과 인터프리터 둘 다 실행하는 언어
- JAVA와 C#은 컴파일 언어로 구분하기도 하지만
- 굳이 하이브리드 언어를 넣자면 JAVA, C# 이 하이브리드 언어이다.
- 예시 : JAVA, C#




프로그래밍 언어 분류2


#프론트엔드(클라이언트 사이드)
- 사용자에게 보여지는 것을 다루는 것
- 클라이언트 사이드 언어 예시 : JavaScript, HTML , CSS 

#백엔드(서버 사이드) 
- 서버, 데이터를 저장할 DB 다루는 것
- 서버 사이드 언어 예시 : JSP, ASP , PHP , node.js ...          

- 백엔드가 집을 만드는 것이면, 프론트엔드가 만든 집의 내부 디자인을 꾸미는 것

 




프로그래밍 언어를 크게 분류1 처럼 구분하기도 하고 분류2 처럼 구분하기도 한다.
따라서 JSP는 스크립트 언어라고 부를 수도 있고 서버 사이드 언어라고 부를 수도 있고
인터프리터 언어라고 부를수도 있으며 서버 사이드 스크립트 언어라고도 부를 수도 있다.
아 헷갈려라..


참고
https://cocomo.tistory.com/499
https://ithub.tistory.com/86
https://cjh5414.github.io/jsp-compile/

반응형
  • 현재글프로그래밍 언어 종류/분류 (feat. 컴파일과 인터프리터)