학교에서 C언어를 시작으로 어플을 만들기 위한 Java를 공부, Nodejs를 위한 JavaScript와 TypeScript, 스마트 컨트랙트 개발을 위한 Solidity 등 다양한 도전을 하였습니다. 새로운 언어를 시작할 때 마다 새로운 것을 배운다는 재미에 빠져 즐겁게 배우고 있습니다.
이번에 도전할 언어는 Go언어입니다. Go를 공부하며 기록으로 남기도록 하겠습니다. 잘 부탁드립니다.
목차
내가 Go language를 시작하는 이유
Go language란?
Go는 어디에 사용되는가?
마무리
내가 Go language를 시작하는 이유
블록체인에서 빠질 수 없는 언어라는 생각과 Go를 배운다면 나의 큰 강점으로 활용할 수 있겠다는 생각에 공부를 시작하기로 결심하였습니다.
Go 언어는 블록체인을 공부하기 시작하면서 건너건너 들어본 언어였습니다. 'Geth가 Go로 작성된 프로그램이다.', '블록체인 네트워크는 Go언어로 개발되었다.' 등 Go에 대한 소식을 접하였습니다.
Go에 대한 소식을 접하였을 땐 Solidity와 TypeScript등 공부하고 있는 언어가 있어 공부 중인 언어부터 익숙해지자고 생각하여 Go에 대한 공부는 참고 지냈습니다.
학원을 마무리 하고 스스로 더 공부하고 싶다는 마음에 컨퍼런스를 다니며 진로를 정하던 중 우연히 좋은 조언을 듣게 되어 Go에 대한 관심의 불씨를 다시 키우게 되었습니다.
Go language란?
Go 언어는 많은 개발자가 배우고 싶어하는 프로그래밍 언어로 항상 높은 순위에 오르고 있는 언어라고 합니다.
구글에서 만든 언어이며 배우기도 쉽고 컴파일 언어라서 코딩이 끝나면 0과 1로 변형되어 실행속도가 빠르다고합니다.
또한 멀티코어 컴퓨터에서도 사용할 수 있다고 저의 코딩 선생님인 노마드 코더님이 설명해주셨습니다.
이러한 이유로 많은 트랜잭션과 블록들을 관리하여야하는 블록체인에서 빠르고 쉬운 Go 언어를 선택하였다고 생각됩니다.
Go는 어디에 사용되는가?
Go는 백엔드용 언어라는 이야기를 하기 위하여 목차를 정하였습니다. 하지만 정보를 조사해보니 백엔드에서도 어떤 기업이 어느 용도로 사용하는지에 대한 정보도 얻게 되어 설명드리겠습니다.
구글의 다운로드 서버를 Go 언어로 작성되었고 우버는 유저와 드라이버를 매칭해주는 알고리즘을 Nodejs에서 Go언어로 교체, 데이터 저장을 위한 내용을 Python에서 Go언어로 교체하였고 트위터는 웹사이트에서 모바일 앱에 매일 50억개의 세션을 받는 작업을 Go언어가 담당하고 있다고 합니다.
Nodejs를 배울 때만 하여도 Nodejs가 혁신적이고 앞으로의 성장이 기대되는 언어라고 들었었지만 우버의 경우 Nodejs에서 Go로 이동하는 사례가 있고 현재 한국에서는 여전히 Java가 채용시장에서 높은 비중을 차지하고 있기에 어떤 특정 언어가 무조건 좋다는 것은 언어를 가르치기 위한 상술이라고 생각합니다.
필요에 따라 서비스의 목적에 따라 더 유리한 언어를 사용하는 것이 가장 효율적이라고 생각합니다.
마무리
새로운 언어를 배운다는 기대감에 즐겁습니다. 한 언어를 전문적으로 깊게 공부하여야 취직을 한다고 하지만 취직 전이기에 다양한 언어를 배우며 저에게 맞는 언어를 찾는 시간이라고 생각합니다.
또한 다양한 언어를 알고 있다면 추후에 다른 언어를 사용하는 사람과 협업을 하게 된다면 서로의 이해에 도움이 될 수 있지 않을까 하는 기대도 하고 있습니다.
Go언어를 공부하며 배운 내용을 최대한 상세하게 작성하며 복습하도록 하겠습니다. 잘 부탁드립니다.
'Go language' 카테고리의 다른 글
[Go] 상수 선언과 특징 (iota, 비트 플래그) (0) | 2023.08.22 |
---|---|
[Go] fmt 패키지를 이용한 표준 입출력 (대입 연산자 활용) (0) | 2023.08.22 |
[Go] Go 변수와 기본 문법 (문법의 특징) (0) | 2023.08.20 |
[Go] Go 기본 구조 설명 (build 설정) (0) | 2023.08.20 |
[Go] Go 개발 환경 준비 (gopls 오류) (0) | 2023.08.17 |