1. 컴파일 언어 (compiled language)
컴파일 언어는 컴파일러를 통해 기계어로 변환되어 실행되는 프로그래밍 언어이다. 대표적인 예로, C/C++가 있다.
- 기계어로 컴파일된 실행파일을 실행하기 때문에 실행속도가 빠르다.
- 한번에 모든 코드를 실행하기 때문에 오류가 존재하면 실행조차 되지 않는다. -> 배포시 오류존재 X
- 코드 수정시 다시 컴파일 과정을 거쳐야한다.
- 미리 번역해놓기 때문에 플랫폼의 호환성을 많이탄다.(인텔CPU에서 만든 코드면 인텔CPU에서만 돌아감)
2. 인터프리터 언어 (interpreted language)
인터프리터 언어는 컴파일러를 통해 기계어로 변환되지않고 바로 실행되는 언어를 말한다. 대표적인 예로, Python과 JavaScript가 있다.
- 실행과 동시에 한 줄씩 코드를 읽기때문에 실행속도가 컴파일언어에 비해 느리다.
- 프로그램을 수정하고 다시 컴파일 해야하는 과정이 필요없다.
- 오류가 존재하면 그 즉시 멈춘다. (오류를 찾기 쉽다.)
- 소스코드를 배포하여 실행기만 있으면 다른 사람도 실행시키기 쉽다. (소스코드가 노출 될 수 있다.)
Java와 C#은 컴파일언어와 인터프리터 언어를 둘 다 사용하는 언어.