저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
Go 언어란?
이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07
컴파일 언어와 인터프리터 언어
Go 언어는 컴파일 언어입니다. 프로그래밍 언어는 크게 컴파일 언어와 인터프리터 언어로 나눌 수 있고, 보통 인터프리터 언어는 스크립트 언어라고 부릅니다.
그림 1-2과 같이 컴파일 언어는 텍스트 형태의 소스 코드를 컴파일하여 기계어 형태로 된 실행 파일(바이너리)을 만들어냅니다. 실행 파일은 CPU에서 바로 실행되기 때문에 속도가 빠르고 간결한 것이 장점입니다.
스크립트 언어는 인터프리터가 텍스트 형태의 소스 코드를 해석하여 실행합니다. 최근에는 인터프리터의 느린 성능을 개선하기 위해 JIT(Just-In-Time) 컴파일러라고 하여 실행 시점에 기계어로 바로 컴파일하는 방식이 등장했습니다. 하지만 스크립트 언어는 텍스트 형태를 직접 처리하므로 컴파일 언어에 비해 성능상 한계가 있습니다.
Go 언어는 컴파일 언어이면서 네이티브 바이너리 형식이기 때문에 C, C++처럼 완전한 실행 파일을 만들어냅니다. 그림 1-3처럼 Java, C#은 컴파일 언어지만 실행 파일이 아닌 바이트코드, IL(Intermediate Language, 중간 언어)을 생성합니다. 그리고 바이트코드와 IL은 가상 머신(Virtual Machine) 위에서 실행됩니다. Go 언어는 Java, C#과는 달리 프로그램 실행을 위해 덩치가 큰 가상 머신을 설치하지 않아도 되므로 실행 환경이 복잡하지 않습니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.