1. Low-level Language
2. High-level Language
cf) Abstraction
Data Abstraction
: 문자열, 수, tree와 같은 계산될 자료의 특성을 추상화하는 것. string, number, tree etc...Algorithm Abstraction
: 실행 순서를 제어하는 특성을 추상화하는 것으로 여러 기계어를 모아 이해하기 쉬운 추상 구문으로 만드는 것. Loop Statements, Condition statements, Procedure call etc...1. Compiler Language
Object Code
- object module라고도 불리며 compiler가 source code로부터 compile을 수행하여 생성한 code 혹은 파일
- machine language, intermediate language과 같은 binary code
- linker 등을 통해 여러 다른 object code와 연결되어 executable code가 됨.
2. Interpreter Language(Script Language)
Compiler Language | Interpreter Language |
---|---|
object code 생성 | 일반적으로 object code 만들지 않음 |
program 단위의 translation | statement 단위의 translation |
translation에 많은 시간 | translation 속도 빠름 |
execution 속도 빠름 | execution 속도 느린 편 |
executable code 변환 이후 compiler 필요 없음 | 원칙적으로는 interpreter가 수행을 위해 필요 |
결과물이 OS 종속적인 경우 많음 | 결과물이 OS 독립적인 경우 많음 |
Reference :
1) https://dsaint31.me/mkdocs_site/CE
2) https://www.vadimbulavin.com/xcode-build-system/