고급 프로그래밍 언어

고급 프로그래밍 언어 또는 하이 레벨 프로그래밍 언어()란 사람이 이해하기 쉽게 작성된 프로그래밍 언어로서, 저급 프로그래밍 언어보다 가독성이 높고 다루기 간단하다는 장점이 있다. 컴파일러나 인터프리터에 의해 저급 프로그래밍 언어로 번역되어 실행된다. C 언어, 자바, 베이직 등 대부분의 프로그래밍 언어들은 고급언어에 속한다. 추상화의 정도는 얼마나 프로그래밍 언어가 높은 수준인지를 정의한다.

1960년대에 컴파일러를 이용한 고급 프로그래밍 언어들은 보통 오토코드라 불렀다. 오토코드의 예는 코볼과 포트란이 있다.

컴퓨터용으로 설계된 최초의 고급 프로그래밍 언어는 콘라트 추제가 개발한 플랑칼퀼(Plankalkül)이다. 그러나 이 언어는 추제의 기간 동안 구현되지는 않았으며 그의 초창기 기여는 제2차 세계 대전으로 인해 다른 개발로부터 상당 부분 분리된 상태였다. 영향력 있는 최초의 고급 언어는 포트란으로서 IBM의 초창기 오토코드 시스템의 기계 독립적 개발 언어였다.

실행 방식 
현대의 고급 언어를 실행하는 데에는 일반적으로 3가지 방식 가운데 하나가 쓰인다:
 해석(인터프리터) 인터프리터 언어로 작성된 코드가 있을 때 컴파일 과정 없이 문법을 읽고 직접 실행한다. 인터프리터라는 프로그램은 각 프로그램 문을 읽고 프로그램 흐름을 추적하여 무엇을 할지 결정하고 이를 수행한다. 인터프리터와 컴파일러가 결합된 형태의 경우 프로그래밍 문을 기계어로 컴파일하고 그것을 실행한 뒤, 기계어는 버리고 줄을 다시 실행할 때 해석을 새로 다시 한다. 아래에 나열된 다른 두 종류에 비해 인터프리터는 가장 단순한 언어의 동작 구현체이다.
 컴파일  컴파일 언어로 작성된 코드가 있을 때 문법은 실행 가능한 형태로 변환된 다음 실행한다. 컴파일에는 두 종류가 있다:
 기계어 생성  일부 컴파일러들은 소스 코드를 기계어로 직접 컴파일한다. 컴파일을 위한 원초적인 방식이며, 기계어로 직접적으로 완전하게 변환된 언어들은 순수하게 컴파일된 언어(truly compiled language)라 부른다. (어셈블리어 참고.)
 중간 표현  특정 언어로 작성된 코드가 중간 표현으로 컴파일되면, 이 표현은 소스 코드를 다시 읽어들이지 않고도 나중에 실행할 것을 염두에 두고 최적화하거나 저장해 둘 수 있다. 중간 표현이 저장될 때 이는 바이트 코드와 같은 형태일 수 있다. 그 다음 중간 표현은 실행을 위해 해석되거나 추가적인 컴파일 과정을 거친다.
 소스 대 소스 번역 (다른 프로그래밍 언어로의 번역) 특정 언어로 작성된 코드는 저급 프로그래밍 언어라는 형태로 변환될 수 있으며, 이를 위한 네이티브 코드 컴파일러들이 널리 이용된다. 자바스크립트와 C 프로그래밍 언어는 이러한 번역기들을 위한 주요 대상이다. (예로서 커피스크립트, 치킨 스킴, 에펠 참고.)

같이 보기 
 추상화 (컴퓨터 과학)
 저급 프로그래밍 언어

각주 

 
프로그래밍 언어 분류