예전 대학시절이에는 프로그래밍 언어를 1년에 하나씩 배우는 것이라고 생각했던 적이 있다. 자주 읽던 프로그래밍 관련 책에서 그렇게 나와서 저런 생각을 했고, 그 때는 나에게는 프로그래밍은 취미였기 때문에 재미있게 느껴졌던 것도 있다. 그리고 절대적인 시간도 많았고, 머리도 지금보다 더 잘 돌아갔다. (물론 그 때도 나자신에게 돌머리라고 생각했는데. 돌이켜 생각해 보면 실력은 그 때가 더 좋았던 것 같다. 다만 경험이 없었을 뿐이고. )
그런데 이제는 주력 언어가 중요하고 공부해야 할 것이 언어만 있는 것도 아니고 플랫폼도 익혀야 하고 딥러닝도 공부하고 싶고, 이미지 쪽도 좀 공부하고 싶고.... 배운 언어도 버전업 되어서 계속 익혀야 하는 문제도 있고, 프로그래밍 방법론도 다양해 지면서 이것도 익혀야 하고, 등등의 문제로 많은 언어를 배우는게 한계가 있다. 그리고 요즘에는 이미 배운 언어들 때문에 생긴 선입관들이 새로운 언어를 익히기 어렵게한다. 그리고 언어에 대한 나의 철학이 어느정도 정착되면서 이 철학과 벗어난 언어를 습득하는게 어렵기만하다. (Ruby 와 ROR 의 경우 이 철학 때문에 나에게 좀 많이 어렵게 느껴졌다. 그래서 Ruby 습득은 실패한 것 같다. )
그래도 언어 습득은 계속 필요하다. 내가 알고 싶은 자료들이 내가 모르는 언어로 만들어 진 것일 수도 있고, 새로운 영감을 얻기에도 좋다. 그리고 특정 언어가 가지고 있는 특수한 편리함도 있다.
어째든 이제 나도 2번째 언어가 필요한 것 같다. 내 모국어는 C 언어 였으나, 이제는 파이썬을 더 많이 사용하고 있다. 그리고 버전업된 C를 많이 접하지 못했다. C를 읽기는 하겠으나 쓰지는 못하겠다. Javascript + HTML + CSS 는 나의 1.5번째 언어이다. 첫번째라고 할 수는 없지만 2번째 라고 하기에는 너무 가깝다. 다만 Nodejs 도 해보고 싶긴하나 잘 적응이 안되더라. 그래도 잠시 관심을 딴데 두고 있다고 다시 관심을 가지면 좋은 툴들이 나와서 나를 편하게 해줄 것 같긴한다.
자바는 내 첫번째 언어였으나(처음에 프로그램 언어를 접할 때 javascript 를 배우고 싶었으나 java 와 javascript 차이를 알지 못해 java 를 조금 익힌 적이 있다. ) 너무 방대해서 익히기 너무 어렵다. 그래도 필요할 때 간단히 java 프로그램을 짤 수 있으니 이것으로 만족하겠다. CPP 은 내가 첫 직장에서 사용했던 언어이나 너무 많은 버전 업으로 인하여 내가 CPP를 아는게 맞는지 혼동스럽다. 그리고 C나 CPP은 플랫폼을 너무 타서 나에게 너무 힘들다.
그래서 이런 저런 이유로 남는 것이 Go lang 이다. 적당히 native 언어이고, 적당히 유연하다. 그리고 개발환경도 어느 정도 세팅되었다. VSCode 로 개발할 만하다.
앞으로 조금씩 Go lang 을 익혀서 속도가 필요한 부분에는 Go lang 을 사용해 봐야겠다.