Interpreted VS compiled programming language

김성진·2021년 8월 21일
0

요새 Java를 공부하며 첫 컴파일 언어를 하는만큼 인터프리터&컴파일 언어에 대한 컨셉을 좀 더 명확하게 짚고 넘어가려고 해본다.

프로그래밍 언어는 크게 두 분류로 나뉜다.

인터프리터 언어 vs 컴파일 언어

인터프리터언어 - Interpreted programming language

컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행되는 프로그래밍 언어
목적 파일이 없기 때문에 빌드시간이 없고, 코드가 작성될 때마다 인터프리터가 한 줄씩 해석해서 바로 명령어를 실행. 문법적인 오류가 있어도 실행은 시작된다.

컴파일 언어 - Compiled programming language

반드시 기계어로 컴파일 되어야만 실행시킬 수 있는 프로그래밍 언어
코드를 기계어로 번역해 (컴파일) 목적 파일을 만드는 시간이 필요하다.
컴파일할 때 오류가 있다면, 기계어 번역을 통해 빌드되지 않아 실행도 되지 않는다.

나의생각:

아직 Java로 서버를 완벽하게 제어해본 경험이 부족하여, 지금까지 공부한 특징들과 들어온 선배개발자들의 말로 유추해본다면, 좀 더 규모가 큰 서버는 Java와 같은 컴파일 언어로 운영하는 것이 수월하다는 이야기를 들은 적이 있는데, Java로 서버를 운영할 경우 번역하는 속도는 느리더라도 소스코드가 번역이 된 후에, 즉 기계어로 실행하는 속도에 있어서는 인터프리터 언어보다 더 빠르다는 것이 와닿는다.
따라서 python과 같은 프로그래밍 언어는 물론 서버 운용도 가능하고 정말 잘 쓴다면 좋은 웹프로그래밍 언어가 될 수 있지만(?) 좀 더 기능적 면을 확용하는 API나 특정 Tool kit으로 더 쓰이는 거 같다는..?것이 나의 생각이다.

profile
multi-national communicator with programming (back-end)

0개의 댓글