chapter1. 프로그래밍
1.2 프로그래밍 언어
프로그래밍의 명령을 수행하는 주체는 컴퓨터이기 때문에 인간이 이해 할 수 있는 자연어
가 아닌 컴퓨터가 이해 할 수 있는 기계어
를 사용해야 한다.
하지만 사람이 기계어로 직접 명령을 전달하는 것에는 무리가 있기 때문에 사람들이 이해 할 수 있는 약속된 구문
인 프로그래밍 언어로 작성한 후 번역기 역할을 수행하는 컴파일러
혹은 인터프리터
로 번역을 수행하여 컴퓨터한테 보낸다.
인터프리터(Interpreter)와 컴파일러(Compiler)
컴파일러(compiler)
- 전체 파일을 스캔하여 한꺼번에 번역한다.
- 초기 스캔시간이 오래 걸리지만, 한번 실행 파일이 만들어지고 나면 빠르다.
- 기계어 번역과정에서 더 많은 메모리를 사용한다.
- 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있다.
- 대표적인 언어로 C, C++, JAVA 등이 있다.
인터프리터(interpreter)
- 프로그램 실행시 한 번에 한 문장씩 번역한다.
- 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다.
- 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋다.
- 프로그램을 실행시키고 나서 오류를 발견하면 바로 실행을 중지 시킨다. 실행 후에 오류를 알 수 있다.
- 대표적인 언어로 Python, Ruby, Javascript 등이 있다.
출처