Go언어의 특징
안녕하세요.
고코더 입니다.
이번 시간에는 Go가 가지고 있는 많은 특징 중에 3가지를 다뤄 보려고 합니다. 빠른 컴파일, 가비지 컬렉션, 모듈화 패키지를 차례대로 알아보겠습니다.
빠른 컴파일 속도
● 1. 컴파일 언어의 단점은 인터프리터처럼 빠르게 개발을 할 수 없다는 단점이 있었지만 Go는 이런 약점을 보완하였습니다. 즉 컴파일 언어의 단점을 극복한 언어가 되었습니다. 기존의 컴파일 언어를 컴파일할 때 처리해야 되는 헤더 파일이 속도 느리게 하는 요소입니다. 무엇보다 이러한 헤더는 의존관계가 읽혀 있어서 수정 시마다 컴파일을 다시 해야 하는 문제가 있었습니다.
● 2. 하지만 Go는 다릅니다. 문법적인 복잡한 요소를 최대한 줄였습니다. 덕분에 컴파일 속도가 매우 빠릅니다. 헤더 팔이 없고 패키지 된 소스 코드 덕분입니다. 그리고 문법적으로도 간결하면서 아주 보기 좋은 소스코드를 작성할 수 있습니다.
가비지 컬렉션
● 3. 가비지 컬렉션은 메모리를 알아서 관리해주는 기술입니다. Java와 C#이 대표적인 예입니다. 그런데 C, C++은 직접 메모리를 할당하고 해제해주어야 합니다. 덕분에 개발자만 죽어납니다. 하지만 Go언어는 메모리를 관리하는 기술을 사용합니다. 메모리를 자동으로 관리해주기 때문에 쉽게 빠르게 개발이 가능합니다.
모듈화 및 패키지
● 4. node.js를 사용하면 npm은 필히 사용해야 하는 패키지 시스템입니다. 인터넷으로 패키지를 받아와서 의존성을 자동으로 주입합니다. 최근에 나온 개발 언어들은 이러한 모듈화 패키지를 필수로 다루고 있습니다.
● 5. Go도 역시 이러한 모둘화를 인터넷에 접속해서 소스 코드를 다운로드하여 사용할 수 있게 만들었습니다. 즉 패키지 관리 기능을 통해 의존성 관리를 할 수 있는 특징이 있습니다.
마무리
장점이 정말 많은 최신의 언어
'IT_Developers > Go' 카테고리의 다른 글
Go - 레플릿(repl.it)에서 Golang 실행하기 (0) | 2021.02.10 |
---|---|
Go - 공식 홈페이지에서 Golang을 실행 하고 테스트하기 / play.golang.org (0) | 2021.02.10 |
Go 언어의 특징 - 동시성(고루틴), 정적,동적 타입 (0) | 2021.01.29 |
Go - 구글이 만들고 관리하는 언어 / Go로 만든 프로그램은? / Golang (0) | 2021.01.28 |
댓글