[Go] Go의 배경 지식 한입

윤동환·2023년 7월 3일
0

Go

목록 보기
2/18
post-thumbnail

Go 개발의 배경

구글의 인프라 소프트웨어는 대부분 C++로 작성하고 있었는데, 수천명의 프로그래머들이 개발에 참여하였고 매일 업데이트를 해야하는 상황이었습니다.
분산 빌드 시스템이 잘 갖춰져 있었음에도 불구하고 서버 하나를 빌드하는데 45분이라는 시간이 걸렸습니다.
이에 지친 구글 엔지니어 3명이 웹 서버와 같은 대규모 프로그램을 개발하는데 적합한 언어를 만들겠다는 것이 Go언어 개발의 시작점이었습니다.

Go언어는 2007년도 구글에서 개발을 시작하여 2012년도 1.0버전을 완성하였습니다.
2009년 11월에 리눅스와 맥OS 플랫폼을 대상으로 공식 발표됩니다.

Go에서는 이날(2009년 11월)을 중요하게 생각하는 것 같습니다.
그 이유는 Go tour 에서
<playground 안에서 시간은 2009-11-10 23:00:00 UTC(이 날의 중요성을 결정 짓는 것은 독자들을 위한 활동입니다)에 시작합니다. >
이러한 문구가 있기 때문이고, time.Now()를 실행하면 해당 날짜가 출력되기 때문입니다.

계속 향상된 버전을 내 놓으며 2022초 1.18버전에 이르렀습니다.

현재 Go언어는 컨테이너와 클라우드 환경 구축에 없어선 안될 언어로 자리매김하였으며, 도커, 쿠버네티스를 비롯하여 이더리움블록체인의 메인 클라이언트 Geth의 개발에 사용되는 등 성능과 안정성을 인정받으며 시장의 입지를 다지고 있ㅅ브니다.

golang이라 불리는 Go 프로그래밍 언어를 개발한 엔지니어 3명은
구글의 V8 Javascript 엔진 개발에 참여했던 Robert Griesemer,
Bell Labs에서 유닉스 개발에 참여했던 Rob Pike, Ken Thompson(B언어도 개발함)입니다.

Go의 경쟁력

  1. C++과 같이 컴파일러를 통해 컴파일 되며 정적 타입의 언어입니다.
  2. Java와 같이Garbage Collection 기능을 제공합니다.
  3. Java의 절반에 해당하는25개의 키워드만으로 프로그래밍이 가능합니다.
  4. Communication Sequential Processes(CSP) 스타일의Concurrent 프로그래밍을 지원합니다.

Go 동시성에 대한 좋은

Reference

  1. http://golang.site/go/article/1-Go-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%96%B8%EC%96%B4-%EC%86%8C%EA%B0%9C
  2. https://velog.io/@myong/CSP%EB%AA%A8%EB%8D%B8%EC%9D%84-%ED%86%B5%ED%95%9C-Go-%EC%96%B8%EC%96%B4%EC%9D%98-%ED%8A%B9%EC%84%B1
  3. https://s-core.co.kr/insight/view/%EB%AC%BC%EC%96%B4%EB%B3%B4%EB%8A%94-%EC%82%AC%EB%9E%8C%EC%9D%B4-%EB%A7%8E%EC%95%84%EC%84%9C-%EC%A0%95%EB%A6%AC%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4-go%EC%96%B8%EC%96%B4/
profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글