[Python 1] 파이썬 인터프리터란?

파이썬 Python 인터프리터 interpreter란?

1등 언어가 된 Python


TIOBE 언어 순위를 보면, 어느 새 파이썬이 1위를 차지했다. 무너지지 않을 것 같던 자바의 아성은 무너져가고 있고, 새로운 패러다임으로 함수형 언어가 결국 1위를 차지할 것이라고 했지만 여전히 지지부진이다. 성능이 확실한 놈 또는 개발이 너무나도 쉬운 놈의 양극화가 이뤄지고 있는 과정인 것 같다.

1등이 된 이유


각설하고, 파이썬은 어떻게 1위를 차지하게 된걸까? 나무위키를 보면 힌트를 얻을 수 있다.

파이썬 설명 나무위키

1.무진장 쉽고,

2.그래서 남들이 만들어 놓은 것들이 많다

그래서 개발하기가 너무 편하다라는 것이다.

이러다보니 파이썬 붐이 일어나고 있다. 게다가 요즘 개발자의 전성시대가 계속되다보니 그 기류를 타고 더 흥행하고 있는 중이다.

필자는 금융 회사에 다니고 있는데, 개발 조직이 아닌 현업 부서에서도 너도나도 파이썬을 하며, 회사 지원자 이력서만 보아도 파이썬이 써있지 않은 사람이 없고(신기하게도 그들은 모두 파이썬 스킬을 최상급이라 자부한다),

심지어 금융 현업 지원자들도 파이썬이 모두 적혀있다. 근데 면접 자리던지, 스몰톡을 하는 자리에서 파이썬에 대해서, 컴퓨터에 대해서, 프로그래밍에 대해서 조금만 물어봐도 대화가 끊긴다…

사실 그렇게 대단한 것을 물어보는 것도 아니었는데 그냥 가장 기초적인 것을 물어봐도 그렇다.

“파이썬을 좋아하시는 것 같은데, 다른 언어에 비해 특징점이 있나요?” 라는 질문에 당연히 나와야할 대답을 오늘은 정리를 해보고자 한다.

Python은 인터프리터 언어다


위의 나무위키 캡처를 보면, 파이썬은 인터프리터 방식의 프로그래밍 언어이다. 이게 파이썬 설명의 전부다.

interpreter 뜻

통역사 프로그래밍 언어다.

통역사는 번역가와 다르다. 번역가는 전체 텍스트를 한번에 다른 언어로 변환해주는 것이지만, 통역사는 서로 다른 언어를 사용하는 양쪽의 중간에서 한마디를 듣고 한마디를 번역해주는 사람이다.

이게 파이썬이 갖는 다른 언어와의 차이점이다.

전통적인 프로그래밍 언어는 우리가 컴퓨터에게 내릴 명령을 전부 작성하고 한번에 그 명령을 컴퓨터 언어(기계어)로 번역한다.

파이썬은 컴퓨터에게 명령을 하나씩 내린다. 그럼 파이썬이 그 명령을 번역해 컴퓨터에게 알려주고, 컴퓨터의 응답을 다시 사람의 언어로 번역해 결과를 보여준다. 전통 언어의 전처리, 컴파일, 어셈블을 한 줄씩 반복해서 수행한다고 생각하면 편하다.

그러니 당연히 성능에 한계가 있을 수 밖에 없다. (컴파일 방식의 프로그래밍에 대해서는 아래를 참조)

인터프리터가 가지는 장점


다만 장점도 당연히 존재한다.

예를 들어 A->B->C->D->E 과정을 수행하는 프로그램이 있다고 생각해보자.

우리가 만든 코드에서 C부분에 에러가 발생했다.

그러면 전통적인 컴파일 방식의 프로그래밍에서는 디버깅을 하기 위해서는 A->B->C->D->E 전체를 수행 시켜야 한다.

C에 중단점을 걸어서 확인 하다가도 D단계에 도달하면 프로그램을 끝까지 돌리고 다시 실행해야 한다.

근데 파이썬 같은 인터프리터 방식의 프로그래밍 언어는 A->B 단계까지만 코드를 진행시킨 뒤, C를 수정해보기도 하고, 여러번 수행해보기도 하면서 C를 지속적으로 반복할 수 있다(C가 비파괴적이라는 가정하에).

마치며…


무턱대고 내가 원하는 것을 만들기 위해 코딩을 시작하는 것도 개발을 시작하는 좋은 계기라는 것은 인정하지만 진짜로 개발자의 커리어를 원하는 사람이라면 늘 이건 어떻게 동작하는 것인가?에 대해 궁금해 하며 조사해보는 습관을 가지기를 권장한다.

그래야만 엣지가 생긴다. 그렇지 않으면 그저 생각 없이 코드만 적어대는 코드몽키에서 벗어날 수 없을 것이다. 나도 이 블로그를 만든 목적도 공부하고 생각하는 개발자가 되기 위함이다. 우리 모두 힘냅시다!!


Posted

in

, ,

by

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다