프로그래밍 언어라는 것은 결국 각 CPU 아키텍처를 준수하여 명령어(0, 1)로 바꾸기 위한 서술 방식일 뿐이다.
그럼에도 불구하고 어떤 프로그래밍 언어들은 엄청나게 인기가 많고, 어떤 프로그래밍 언어는 유행에 뒤쳐진다고 사람들이 배우지 않는다.
유행 따라 이것저것 따라 배워본 사람으로서 느껴보면,
결국 플랫폼을 운영하고 있는 회사가 밀어주면 그 언어는 성공하더라.
유지보수도 소프트웨어 대기업에 의해서 제공되고,
프레임워크와 제품도 그 언어를 통해서 지원된다면
트렌드는 그쪽으로 넘어갈 수밖에 없다고 생각한다.
그런 의미에서 Golang은 일단 '문법'정도는 봐 두면 미래에 좋을 것 같긴 하다.
1. Google이 만들었다.
Youtube, Android, Google Photo, Google Cloud Platform 등..
물론 구글이 모든 서비스를 성공시킨 것은 아니지만,
(구글이 종료한 서비스를 볼 수 있는 사이트 : https://gcemetery.co/)
대부분 하나의 흐름을 바꿀 수 있는 플랫폼 서비스들은 거의 성공했다고 본다.
(물론 유튜브나 안드로이드는 인수한 것이지만...)
그리고 이미 상당수 웹 프레임워크가 지원되고 있고
나중에는 Kotlin처럼 응용프로그램을 만들기 더 쉬워질 것으로 보인다.
(그 반면 마이크로소프트는 잘 되는 것도 망치거나 없앤다는.. 이미지가.. 읍읍)
2. 미래를 준비하는 프로그래밍 언어
구글이 만든 것 중 하나인 Go 언어는 미래 지향적인 언어로 보인다.
CPU 속도가 빨라지고 다양한 배포 환경이 대두되는 요즘의 환경에서
유연한 타입 추론, 멀티 코어 지원, 쉬운 배포, C언어와 비슷한 메모리 접근이 가능한 언어는 내게 필요한 언어였다.
도커와 쿠버네티스가 Go로 만들어졌다고 하고,
(https://github.com/kubernetes/kubernetes, 97% Go로 작성됐다.)
(https://github.com/docker, Go로 된 것도 있고 아닌 것도 있고.)
미국의 대부분의 거대한 기업들이 웹 백엔드로 Go를 도입했다고 한다.
(상당 수가 Node.js에서 넘어왔다.)
Python, Node.js 등 미국에서 한창 유행했던 기술들이 몇 년 후에 우리나라도 똑같이 도입되곤 한다.
우리나라에서 Go를 지금 배운다는 것은 미래로 가는 거대한 흐름에 참여하는 것이 아닐까?
(물론 이미 나는 한 4년 늦은 것 같기도 하다.)
3. 실행속도가 빠른 컴파일 언어이다.
요새 나는 인터프리터 언어만 다루고 있다.
스크립트 언어만 다루다가는 제대로 된 컴퓨터 사이언스를 공부하기 어렵다는 생각이 많이 들었다.
타입도 엄격하게 명시할 수 있고, 기계어로 컴파일하여 동작하는 언어로 프로그램을 만들어 보는 경험은 매우 중요하다.
C언어를 경험해보기도 했고, Java 프로그래밍도 2년이나 했기 때문에
포인터나 메모리 개념은 크게 어렵지 않았다.
더 깊은 컴퓨터과학 지식을 쌓기 위해서
나중에 Go로 구현하는 인터프리터, 컴파일러 책도 사서 공부할 생각이다.
파이팅.