본문 바로가기
카테고리 없음

Go lang

by GreatYun 2020. 6. 21.
go언어 공부하

Go 언어 공부를 해보자…

요즘 Go 언어를 공부하고 있다.

사실 나는 자바로 개발을 해온지 꾀 오랜시간이 지났고 새로운 언어에 대한 거부감 같은건 없었으나…

내가 현재 일하고 있는 회사에서 사용하는 언어가 여태 대부분 자바였고, 또한 다른 언어를 선택하기 쉽지 않은 부분도 있었다.

나혼자서 다른언어 사용해보자!! 해서 이게 될리가 만무하다…

특히 스타트업 같이 소규모로 계속 도전해보고 실험해보는 개발 조직이 아닌이상… 그리고 새로운 기술스택을 사용하고 도전해보는데 긍정적인 마인드를 가진 팀이 아닌 이상 더더욱 힘들다…

그래서 요즘은 내 스스로가 너무 자바라는 언어에 국한되어 나를 가두고 있는 듯한 느낌이 들어서

새롭게 Go 언어를 쳐다보고있다…

그럼 왜 하필 Go 언어 인가?

자바라는 언어 말고 좋은 언어는 많다. 특히 요즘 핫하다는 파이썬도 있고, 특히나 내가 일하고 있는 backend 부분은 자바 뿐만 아니라 node.js 로도 많은 회사들이 이미 서비스를 하고 있고 이런 언어들의 장점 또한 좋다고 생각한다.

그럼에도 불구하고 내가 Go 언어를 공부하려는 이유는…

심플하다

Go 언어의 문법을 보면 상당히 심플하다… 예를들어 자바 에서 loop 를 사용하기 위해 for , foreach , while , do-while 등등…다양한 문법이 존재한다.

그런데… Go는 그냥 for 이거 하나다.

문법이 심플하고 마치 예전 C 언어를 공부할때 느낌을 받곤한다.

병렬처리

Go 언어는 Go 루틴이라는 기능이 있다. 아직 자세하게 공부하기 전 이지만 Go 루틴은 특정 로직을 병렬로 처리하게 해준다.

근데 병렬이라면 다른언어의 thread 로 처리하면 되는거 아닌가?

라는 생각을 할 수도있는데, 스레드로 처리하기 위해 코딩해야 하는 소스코드의 양과 Go 언어에서 Go 루틴을 사용하기 위해 코딩하는 소스코드의 양을 비교하면… 너무나 심플하다… 계속 심플하다…

빠르다

물론 자바라는 언어도 속도면에서는 상위권에 속해있다. 하지만 Go 언어도 상당히 빠른 퍼포먼스를 제공하고 있다. 이부분에 대해서는 직접 토이프로젝트로 어플리케이션을 하나 개발해보고 기존 자바 스프링 프레임워크 기반의 웹 어플리케이션과 퍼포먼스를 한번 비교해볼 예정이다…

개인적으로 도전이라는 성장이 필요하다

개발자로 처음 사회생활을 시작했을 때, 정말 열심히 공부했다. 새로운기술들… 그리고 front , backend 가리지 않고, 심지어 Network 벤더사의 라우팅 프로토콜 까지 공부했다…;;

그런데 요근래 저때의 설레임과 의지가 많이 없어졌다는 것을 느낀다… 물론 나도 살다보니 이것저것 치여서 바쁘다는 핑계로 공부를 많이 못한 부분도 있지만…

그래서 요즘 새로운 자극제가 필요했고, 나를 한단계 더 성장 시킬 수 있는 무엇인가가 필요하다 느꼈다.

뭐 어쨋든… 공부하기로 했으니… 끝은 봐야지?