프로그램 & 프로그래밍 언어
프로그래밍 언어는 컴퓨터와 의사소통할 수 있도록 컴퓨터에 내리는 명령이다.
프로그램은 인스트럭션(Instruction)이라는 흔히 말하는 명령어로 쓰여져 있으며, 컴퓨터는 이러한 명령어를 논리적 순서에 따라 수행한다. 이러한 명령어는 2진수 형태의 기계어로 쓰여있기 때문에 인간이 이해하기 힘들다.
이 문제를 해결하기 위해서 인간도 쓰기 쉽고 컴퓨터도 기계어로 해석할 수 있는 프로그래밍 언어(Programming Language)를 개발하여 사용하게 된 것이다.
프로그래밍 언어로 프로그램을 작성하는 것을 코딩(Coding)이라고 하며, 코딩이 끝나면 고급 언어로 작성된 명령문을 기계어로 바꾸는 컴파일 단계에 들어간다. 컴파일은 프로그래밍 언어의 성격에 따라 컴파일러를 이용한 방식과 인터프리터를 이용한 방식으로 나누어지며, 두 방식을 혼합한 하이브리드 방식 또한 존재한다.
컴파일러
- 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꿈.
- 컴파일러가 소스파일을 컴파일을 하면서 실행파일(예, *.class)을 생성한다.
- 컴파일 언어는 소스 전체를 실행파일로 만든 후 기계에서 실행한다.
(번역과 같음/ 예, C/C++,java)
【 소스파일(*.py 등) 】 -▷ 컴파일 -▷ 【 기계어(1001 0011 ..) 】 -▷ 기계(PC)에서 실행
인터프린터
- 컴파일러와 달리 실행파일을 만들지 않고, 실행이 필요할 때 기계어로 변환한다.
- 인터프리터 언어는 필요한 소스 코드만 그때 그때 실행한다.
(동시 번역과 같음/ 예, python)
【 소스파일(*.py 등) 】 -▷ 기계(PC)에서 실행 ( 기계어(1001 0011 ..) )