컴파일 / 스크립트 / 하이브리드

jaybon·2022년 10월 15일
0

개발잡담

목록 보기
1/19

컴파일 언어

컴파일 Compile

사람이 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 것

코드 작성을 완료한 시점에서 컴퓨터가 이해할 수 있는 기계어로 바꾸는 방식이다.

사람이 작성한 코드

x = 10 + 2
y = x + 4

컴퓨터가 이해하는 기계어

위 코드를 컴파일하면 아래와 같아진다.

001001 11101 11101 1111111111111000
001000 00001 00000 0000000000001010
001000 00001 00001 0000000000000010
101011 11101 00001 0000000000000000
001000 00010 00001 0000000000000100
101011 11101 00010 0000000000000100
001001 11101 11101 0000000000001000

컴파일러

컴파일을 실행하는 도구

대표적 언어

  • C
  • C++
  • Go
  • Rust

스크립트 언어

인터프리터로 실행되는 언어

인터프리터

코드를 한줄씩 읽어내려가며 실행하는 프로그램

코드를 사용하는 시점에서 한줄씩 컴퓨터가 이해할 수 있는 기계어로 변환한다.

대표적 언어

  • JavaScript
  • SQL
  • Python (스크립트 언어 겸 하이브리드 언어)

하이브리드 언어

하이브리드

컴파일 + 인터프리트

코드 -> 바이트코드 -> 기계어

코드를 작성 완료한 시점에 중간 언어(바이트코드)로 변경하고,
코드를 사용하는 시점에서 중간 언어를 한줄씩 기계어로 변역한다.

대표적 언어

  • C#
  • Java

비교

컴파일 언어스크립트 언어
속도빠르다느리다
기계어 변환시점코드 작성 완료 시코드 실행 시
멀티플랫폼불가능(윈도우, 맥, 리눅스 각각 개발)가능(한번 개발로 여러 플랫폼에서 작동)
보안뚫기 어렵다 (배포 시점에서 기계어로 번역되기 때문)비교적 뚫기 쉽다(난독화 필요)
개발 편의성컴파일 해야 오류를 알 수 있어서 불편하다코드를 바로 수정할 수 있다

하이브리드 언어는 스크립트 언어의 멀티플랫폼 장점과, 컴파일 언어의 속도를 동시에 가져가려는 언어이다.

참고자료

위키백과
https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC_%EC%96%B8%EC%96%B4

https://medium.com/swlh/a-performance-comparison-between-c-java-and-python-df3890545f6d

profile
티스토리 블로그 https://ondolroom.tistory.com/

0개의 댓글