Login

Search

Learn 🇰🇷
2022.08.19 21:49

1.4 인터프리터와 컴파일러

Views 140 Votes 0 Comment 0

엄청난 양의 정보들을 잘도 주무르는 이 컴퓨터란 녀석은 대체 어떻게 작동하는 걸까요? 컴퓨터는 전기가 통하는지 안 통하는지의 딱 두 가지 정보를 가지고 정보를 처리한답니다. 우리가 저녁이 되면 전깃불을 켜고, 잠잘 땐 끄는 것과 마찬가지입니다. 이렇게 간단한 정보를 갖고 무엇을 할 수 있을까 싶지만, 스위치가 두 개 있으면 네 가지 정보를 표현할 수 있다는 걸 생각해 보세요.

큰 방 불 켜고, 작은 방 불 꺼.
큰 방 불 켜고, 작은 방도 불 켜.
큰 방 불 끄고, 작은 방 불 켜.
큰 방 불 끄고, 작은 방도 불 꺼.

스위치가 10개 있으면 몇 가지 정보를 표현할 수 있을까요? 스위치가 두 개 있으면 2의 제곱인 4 가지 정보를 표현할 수 있었고요, 스위치가 10개 있으면 2의 10 제곱, 그러니까 1024가지 정보를 표현할 수 있답니다.

컴퓨터에선 불이 켜지고 꺼진 것을 1과 0으로 나타내고요, 스위치 하나에 해당하는 것을 비트(bit)라고 말하지요. 컴퓨터에 일을 시키려면 컴퓨터가 알아들을 수 있는 말로 지시(instruction)를 내려야 합니다.

이럴 때 쓰이는 프로그래밍 언어를 저급 언어(low-level language)라고 합니다. 저급 언어로는 기계어와 어셈블리어가 있습니다.

그런데 사람이 1과 0으로 프로그래밍하는 것이 가능할까요?

“컴퓨터야, 10111101한 다음에 01001011하고, 만약에 10011010이면 10101100하고 그렇지 않으면 11010011 해다오, 알았지??”

얼마나 짜증 나겠습니까? 그런 어려움이 있기 때문에 사람이 프로그램 작성을 쉽게 할 수 있도록 요즘 많이 쓰는 C/C++, 파이썬, 자바 같은 고급 언어(high-level language)가 생겨났답니다.

 

 

인터프리터와 컴파일러

그런데 이런 고급 언어로 프로그램을 짠 다음엔 컴퓨터가 알아들을 수 있게 번역을 해 줄 필요가 있겠죠? 그렇게 번역을 하는 방법에도 두 종류가 있답니다. (예, 압니다. 저도 종류 많은 거 딱 질색입니다…^^;)

한마디 할 때마다 동시통역해주는 방식을 인터프리트(interpret) 방식이라고 하고, 말하는 것을 처음부터 끝까지 듣고 나서 한꺼번에 바꿔주는 것을 컴파일(compile) 방식이라고 합니다.

 

우리가 배우는 파이썬은 어떤 방식일까요? 파이썬은 우리의 명령을 한 줄씩 해석해서 일을 하는 인터프리트 방식입니다. 사람이 파이썬 언어로 작성한 프로그램을 컴퓨터에 번역해주는 파이썬 셸이 바로 인터프리터(interpreter)랍니다.


List of Articles
No. Subject Author Date Views
Notice Learn What is Python? admin 2024.10.19 327
44 Learn 🇰🇷 8.1 예외처리(try, except) admin 2022.10.27 136
43 Learn 8.1 Exception handling (try, except) admin 2024.11.17 223
42 Learn 🇰🇷 7.1. 클래스(class)와 인스턴스 admin 2022.10.27 128
41 Learn 7.1 Class and Instance admin 2024.11.17 225
40 Learn 🇰🇷 6.1 텍스트 파일 admin 2022.10.21 132
39 Learn 6.1 Text file admin 2024.11.17 211
38 Learn 🇰🇷 5.3 여러 가지 모듈 admin 2022.10.15 155
37 Learn 5.3 Different modules admin 2024.11.17 231
36 Learn 🇰🇷 5.2 모듈 가져오기(import) admin 2022.10.07 139
35 Learn 5.2 Import modules admin 2024.11.17 232
34 Learn 🇰🇷 5.1 모듈이란 admin 2022.10.03 118
33 Learn 5.1 What is module? admin 2024.11.17 123
32 Learn 🇰🇷 4.5 세트(set) admin 2022.10.02 130
31 Learn 4.5 Set admin 2024.11.17 133
30 Learn 🇰🇷 4.4 딕셔너리(dict) admin 2022.09.30 132
29 Learn 4.4 Dictionary admin 2022.09.29 127
28 Learn 🇰🇷 4.3 튜플(tuple) admin 2022.09.21 117
27 Learn 4.3 Tuple admin 2024.11.17 132
26 Learn 🇰🇷 4.2 문자열과 리스트 admin 2022.09.16 134
25 Learn 4.2 String and List admin 2024.11.17 137
Board Pagination Prev 1 2 3 Next
/ 3