고급 프로그래밍 언어

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

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

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

실행 방식[편집]

현대의 고급 언어를 실행하는 데에는 일반적으로 3가지 방식 가운데 하나가 쓰인다:

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

같이 보기[편집]

각주[편집]

  1. HThreads - RD Glossary
  2. London, Keith (1968). 〈4, Programming〉. 《Introduction to Computers》. 24 Russell Square London WC1: Faber and Faber Limited. 184쪽. ISBN 0571085938. The 'high' level programming languages are often called autocodes and the processor program, a compiler. 
  3. London, Keith (1968). 〈4, Programming〉. 《Introduction to Computers》. 24 Russell Square London WC1: Faber and Faber Limited. 186쪽. ISBN 0571085938. Two high level programming languages which can be used here as examples to illustrate the structure and purpose of autocodes are COBOL (Common Business Oriented Language) and FORTRAN (Formular Translation).