괴발개발 성장기

회사생활/개발일지

[개발일지] go 언어를 사용하는 이유?

지니유 2023. 4. 26. 09:51
반응형


# go를 시작한 이유

입사해서 golang을 접했다.

- 성능이 빠르다.

- 빠른 서비스를 만들기 위해서 선택했다고 했다.

- MSA를 하기 좋다고 했다.

- 미래가 밝은 언어이다.

=> 주입식 교육!


한번 의문을 갖지 않았던 것 같다.

왜 ? golang을 사용할까?

 

# 나의 생각

내가 golang이 좋은 건 

우선 세미콜론(;)를 안쳐도 된다.

쉽게 문법을 학습했다.

 

다른 언어로 웹서비스를 개발한 적이 없고 기본 문법만 배워서 정확히 비교는 할 수 없다.

하지만 타입을 전환하는데 많은 코드를 사용한다.

num, err := strconv.Atoi("5")
if err != nil {
   return 0, err
}

str:= strconv.Itoa(num)

그래서 생각보다 코드가 깔끔하지 않는 경우가 많다.

 


golang의 장점을 묻는다면 다른 언어에 비해 속도가 빠르다는 말 밖에 못한다.

 

그래서 급하게 벼락치기 해보자!

 

# golang이 속도가 빠른 이유?

go는 전체적인 헤더 파일을 관리하는 것이 아니라 소스 코드 자체만 관리합니다. 즉 소스 코드 자체를 패키지 할 때 변경된 부분만 컴파일하기 때문에 속도는 자연스럽게 빨라질 수 밖에 없습니다.

참조 : https://yozm.wishket.com/magazine/detail/1023/

 

구글의 고(GO)가 고(Go)할 수 있는 이유 | 요즘IT

지금 여러분이 쓰고 있는 프로그래밍 언어가 C, C++ 혹은 자바인가요? 만약 이 물음에 YES라면, 다른 언어들보다 고(Go)를 빨리 익힐 수 있다는 말이 있습니다. 그 이유는 우리가 알고 있는 고(GO)

yozm.wishket.com

그래서 다른 언어에 비해서 빠르다 (C언어에 비해는 느릴 수 있다)


알고리즘을 짜서 파이썬과 go를 돌렸을 때  go가 실행속도가 빨랐다. 왜?

 

# 파이썬

- 스크립트 언어이다

 

# 스크립트 언어

- 스크립트 작성 기능을 지원하는 소프트웨어(애플리케이션)을 제어하는 역할을 하는 언어

- 컴파일 없이 한 줄 한 줄 실행한다

- 번역 속도는 빠르나 매번 번역해야한다. 그래서 실행 속도가 느리다.

- 예시) JavaScript, Python

 

 결론 : go는 컴파일 언어이고 파이썬은 스크립트 언어라서 go가 실행속도 빠르다.


go가 자주 사용하는 곳은 확실히 컨테이너 기반 가상화 도구인 Docker, Kubernetes를 작성할 때이다. 

블록체인 관련해서도 많이 사용한다. 

내가 입사할 때에 비하면 지금은 go를 많이 사용하고 있지만 여전히 우리나라에서는 소수이다.

최근에는 AI 관련해서도 go를 사용하는 것 같다.

 

나는 우선 go 언어로 개발을 시작했고 익숙해졌다. 그리고 배울 것도 많다. 학습만 하고 실무에는 적용을 하지 못하는 경우 많다. 

정말 미래는 밝다. 우리나라에서 많이 사용하길 바란다.

go에는 다양한 라이브러리가 없다는 게 단점에 있다. 그건  아직 만들 수 있는 것들이 많다는 의미이다. 그래서 조금은 더 go를 사용하고 싶다.

 

반응형