프로그래밍 언어는 크게 스크립트 언어와 컴파일 언어로 나뉜다. 두 가지 방식은 코드가 실행되는 방식에서 큰 차이를 보인다.
스크립트 언어
스크립트 언어는 인터프리터(Interpreter)라는 프로그램을 통해 한 줄씩 코드가 해석되고 즉시 실행되는 언어를 말한다. 즉, 작성된 코드가 별도의 컴파일 과정 없이 바로 실행될 수 있다.
장점:
- 빠른 개발 속도: 컴파일 과정이 없기 때문에 코드를 작성하고 곧바로 실행해 볼 수 있다. 코드 수정 후 바로 결과를 확인할 수 있어, 빠르게 개발하고 테스트할 수 있다.
- 플랫폼 독립성: 대부분의 스크립트 언어는 플랫폼에 독립적이다. 동일한 코드를 여러 운영 체제에서 실행할 수 있다.
단점:
- 성능: 컴파일 언어에 비해 실행 속도가 느릴 수 있다. 인터프리터가 코드의 각 줄을 실행할 때마다 해석하기 때문이다.
- 런타임 에러: 코드가 실행되기 전에 전체 프로그램의 오류를 미리 확인할 수 없다. 실행 중에 에러가 발생할 수 있다.
예시:
- Python: 널리 사용되는 스크립트 언어로, 간결하고 읽기 쉬운 문법을 제공한다.
- JavaScript: 웹 개발에서 중요한 역할을 하며, 주로 브라우저에서 실행되는 언어이다.
컴파일 언어
컴파일 언어는 컴파일러(Compiler)라는 프로그램을 통해 작성된 소스 코드를 기계어로 번역한 후, 실행 파일을 생성하여 이를 실행하는 방식의 언어를 말한다. 즉, 코드가 실행되기 전에 반드시 컴파일 과정을 거친다.
장점:
- 성능: 컴파일된 코드는 기계어로 번역되어 있어, 실행 속도가 매우 빠르다. 이는 컴파일 언어가 주로 성능이 중요한 시스템 프로그램에서 사용되는 이유 중 하나이다.
- 사전 오류 검출: 컴파일 단계에서 대부분의 문법적 오류가 발견되므로, 실행하기 전에 코드를 안정적으로 만들 수 있다.
단점:
- 개발 속도: 컴파일 과정이 필요하기 때문에, 코드 수정 후 결과를 확인하기까지 시간이 걸릴 수 있다.
- 플랫폼 종속성: 컴파일된 실행 파일은 특정 플랫폼에 종속될 수 있다. 다른 플랫폼에서 실행하려면 다시 컴파일해야 할 수 있다.
예시:
- C: 시스템 소프트웨어 개발에 주로 사용되는 대표적인 컴파일 언어이다.
- Java: 컴파일러를 통해 바이트코드로 변환되며, 이후 JVM에서 실행된다.