[Go언어] 요즘 뜨는 Go언어... 왜?
안녕하세요! 요즘 Go언어에 빠져 있어서 블로그에 연재를 하는데! 사람들의 관심이 따아아악히... 없는거 같아서...!
Go언어에 대해서 글을 써보려고 합니다!
언어로써 어떤 장점이 있는지, 어디에 활용할 수 있는지, 그리고 왜 앞으로 유망한지 간단하게 알아보겠습니다.
역사
우선은 Go언어의 역사입니다.
Go언어는 구글에서 2009년에 개발하기 시작한 언어로, 현재 1.10버전까지 출시가 되어 있습니다.
최초로 디자인한 사람은 로버트 그리즈머, 홉 파이크, 켄 톰슨이라고 합니다.
Golang이라고 많이 불리고, 검색 할 때 golang이라고 검색하면 더 많은 결과를 찾을 수 있습니다.
공식 홈페이지는 golang.org입니다.
Go언어를 사용하는 사람들을 고퍼(Gopher)라고 부른다고 합니다. (그러면 나도!) 그리고 고퍼들을 위한 행사인 고퍼콘(Gophercon)이 매년 전 세계에서 열린다고 하니! 기회가 되면 참석해 보시는 것도 좋은 경험이 될 것이라고 생각합니다.
<Go언어 공식 웹사이트>
Go언어로 할 수 있는 것
Go언어로는 무엇을 할 수 있나요?
제가 구글에 직접 가서 알아본 결과 구글에서 새롭게 진행하는 프로젝트들에서 이 Go언어를 많이 활용하고 있다고 하는군요!
대표적인 프로젝트로는 FCM(Firebase Could Message), tensorflow 같은 서비스들이 있겠습니다.
그 외에도 Docker라든지, twitch라든지, 다양한 서비스들에서 Go언어를 활용하고 있습니다.
사실 다른 언어들처럼 다양한 분야에 활용할 수 있습니다. 특히, 웹 개발과 관련된 패키지들을 기본적으로 잘 제공하고 있어서 수 많은 웹 프레임워크들을 보유하고 있습니다. (만들어진지 얼마 안된 언어이지만) 대표적으로는, Revel, Beego, Echo 등이 있겠습니다. (저는 Echo를 사용합니다.)
<Go언어 웹 프레임워크인 Echo>
예전에는 사용하는 사람들이 많이 없었지만, 요즘에는 재밌는 문법 체계와! Go언어만의 매력 때문에 점점 사용하는 사람들이 많아지고 있습니다. 특히, 앞으로는 안드로이드나 IOS 개발을 할 수 있도록 적용하고 있다고 합니다.
Go언어의 특징
Go언어의 가장 정말 대표적인 특징이라고 한다면, 컴파일 언어인 것입니다. 이게 왜 특징이냐, 하면! 그것은 바로 컴파일 속도가 매우 빠르기 때문입니다. 오죽하면 컴파일 속도가 너무 빨라서 인터프리터 언어를 사용하는 듯한 느낌을 줍니다. 이러한 특징 때문에 Go언어를 사용하는 사람들이 늘어나고 있습니다. 컴파일 언어인 C 계열 언어와 빠른 개발을 지향하는 인터프리터들의 중간 정도에 위치해서 정말 높은 효율을 보여주고 있다고 할 수 있죠. 특히, 서비스의 속도적인 면에서의 퍼포먼스를 높이기 위해 많이 사용된다고 합니다.
이와 관련되서는 아래의 링크에 글을 참고 하시면 좋을 것 같습니다.
5 Reasons Why We switched from Python To Go
저도 사실 Go언어 개발을 본격적으로 시작할지 말지 고민을 많이 했었는데 위 링크의 글을 보고 Go언어 개발을 본격적으로 시작하게 되었습니다.
여러분들도 빨리 입문할 수 있기를!
위의 글이 영어로 되어 있어서 내용을 간단하게 소개해 드리자면!
저 블로그 글의 작성자는 자신들이 운영하던 웹 서비스에 기존에 적용되어 있던 python을 빼고 Go언어를 도입했습니다. 그 이유를 5가지 정도 설명해 주고 있는데,
- 하나의 바이너리로 컴파일 가능하다.
- 정적인 타입 시스템이다.
- 퍼포먼스가 좋다. (파이썬과는 비교가 안될 정도로 빠르죠)
- 웹 프레임워크가 따로 필요 없다. (파이썬은 순수 웹 개발이 힘들기 때문에 장고, 플라스크 등 웹 프레임워크를 사용해야 하는 반면, Go언어는 자체 제공하는 패키지 만으로도 웹 개발을 할 수 있습니다.)
- IDE가 잘 되어 있고 디버깅이 쉽다.
Go언어의 장점
1. 엄청 빠른 퍼포먼스
2. 배우기 쉽다.
3. 귀여운 캐릭터가 있다.
언어를 배우는데 아래의 귀여운 캐릭터가 항상 함께한다? 와 그건 진짜 더 할나위 없이 좋은 일이죠.
여러분도 함께 하시길 바라겠습니다!