오늘 회사에서 팀장님이 OJT 를 해주시는데,
C, C++, Java. / Python, Javascript 의 차이에 대해서 물어보셨다.
다 아는 언어들인데, 막상 두가지 차이에 대해 답하려니까 쉽지가 않았다.
뭔가 strict한 언어와 유연한 언어로 나뉜거 같기도 하고, 또 C가 묶여있는 것을 보니
객체지향 절차지향으로 나뉜거 같지는 않고,,, 결국 답을 못했고, 이 둘의 차이는
컴파일언어와 인터프리트 언어이다.
컴파일 언어란,
소스코드 전체를 기계어로 번역한 후(컴파일) 이 기계어를 cpu를 통해
실행하는 방식으로 동작한다.
반대로 인터프리트 언어는,
소스 코드를 컴파일 하지 않고, 인터프리터를 통해 한줄 씨 번역하며 실행하는 방식으로 동작한다.
컴파일 언어의 경우, 실행 시에는 실행만 하면 되므로 속도가 빠르다.
하지만 규모가 큰 프로젝트같은 경우,
컴파일 시간이 오래걸릴 수 있는 단점이 있다.
반대로 인터프리터 언어는 컴파일하는 과정이 없기에 컴파일 하는 시간은 소요되지 않는다.
하지만, 실행 파일이 별도로 생성되지 않기 때문에 실행시마다 인터프리트 과정이
반복되어 실행속도가 느리다.
'CS > 필수지식' 카테고리의 다른 글
인증(Authentication) 기본 개념 (Spring boot / Flask (0) | 2025.04.10 |
---|---|
Process와 Thread의 개념 및 차이 (0) | 2022.02.11 |