혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

구글, GO 언어[Golang] 간단히 알아보기

간지뽕빨리턴님 2020. 2. 20. 10:35
반응형
  구글 GO

구글이 2009년 개발한 프로그래밍 언어 GO에 대해서 간단히 알아보려고 합니다.
다소 부족할 수 있고 추후 수정이나 추가되는 내용이 있을 수 있습니다.

Go Programming Language

"빠른 컴파일, 형식 안전성 제공 컴파일 형 언어"

 

가비지 컬렉션[쓰레기 수집] 기능 : 메모리 관리 기범 중의 하나이며, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능
병행성 : 여러 계산을 동시에 수행하는 시스템의 특성

 

C언어의 기반인 B언어 개발을 주도적으로 참가한 켐 톤슨, 로버트 그리즈머, 롭 파이크가  분산 운영체제에 관한 작업을 하면서 Go의 역사가 시작될 준비를 합니다.
08년 켐 톰슨은 C 코드를 만들어내는 컴파일러 개발을 시작으로 이안 테일러, 러스 콕스 참여하며, Go의 모습이 갖춰지기 시작함.

 

C언어와 비슷한 문법을 갖고 있다는 GO언어는 위에서 설명했듯이 가비지 컬렉션 도입
C언어 C++언어언어에서의 동적 할당한 메모리 소멸 책임의 걱정을 덜 수 있고, Go 키워드를 통해 행성 프로그래밍을 쉽게 할 수 있어, 쓰레드를 통한 비동기적 프로그래밍 대신할 수 있게 하였습니다.

 

고랭[Golang], 어떤 점이 편리 할까 ?

- 설치가 필요없어요, 웹 기반으로 가능하며 [https://golang.org/] 사이트 접속 시 작성하고 실행 할 수 있다.
속도 : 자바스크립트, 파이썬등과 비교하면 훨씬 더 Golang이 빠르다
편리성
이식성 : 톨체인(toolchain) 사용하여 생성된 실행 파일은 외부 종속성 없이 단독 실행 가능
지원 : 여러 운영체제에서 지원이 가능하고 소스를 간편 배포도 가능하며, 여러 툴에서도 고랭을 지원한다.
상호운용성 : 외부 라이브러리 통신 네이티브 시스템 호출이 가능

 

The Go Programming Language

Download Go Binary distributions available for Linux, macOS, Windows, and more. // You can edit this code! // Click here and start typing. package main import "fmt" func main() { fmt.Println("Hello, 世界") } Hello, World! Conway's Game of Life Fibonacci Clos

golang.org

 

Go로 만들어진 오픈소스 프로젝트는 여러가지 있지만, 몇 가지만 소개하려고 합니다.

1. 도커[Docker]
2. 휴고[Hugo]
3. 코크로치DB[CockroachDB]

 

구글의 고가 세상에 나온지 10년이 넘었는데,  많은 변화를 가져다주었습니다.
일단, 그 이유는 가볍고 빠른 컴파일의 속도 그리고 동시, 분산 애플리케이션[Application] 개발을 쉽게 할 수 있으며, 다양한 라이브러리가 있다는 게 이런 고의 능력을 만들어 준 것 아닐까요?

 

참고:언제나휴일프로그래머, 위키백과