Go 후기: 너로 정했다!

2020. 3. 1. 18:58· Computer Science
목차
  1. 장점
  2. 단점

golang 좋다는 소리만 여러번 듣다가 며칠전에 처음 시작해서 처음으로 작은 프로젝트를 해봤다.

익숙하면서 익숙하지 않은 언어다.

입문하고자 하는 분들을 위해 며칠동안 느낀점을 적자면,,

장점

  1. 비동기 실행이 너무 편하다.(고루틴)
  • 어디서 봤던 표현을 인용하자면 굉장히 마법같다.
  • 실행하고자 하는 함수 앞에 'go' 만 붙이면 가벼운 쓰레드로 해당 내용이 생성되어 실행된다.
  • 거기다 성능도 뛰어나다.
  1. 컴파일 언어라서 바이너리로 나오는게 편하다.
  • php의 강점 중 하나인 '설정의 간편함'이 여기서도 적용되는거같다.
  • 서버에 워커를 올리던 웹서버를 올리던 그냥 해당 플랫폼으로 크로스 컴파일 해준 뒤에, ftp나 scp로 올려도 문제 없이 잘 돈다.

단점

  1. 모듈 의존성 관리 도구가 파편화 되어있다.
  • vgo, go mod, godep, dep 까지 유명한것만 벌써 4개다.
  • 요즘은 go mod로 통일되고 있다고 하지만 옛날에 작성된 코드들은 많이 파편화 되어있다.

 

  1. 파이썬처럼 언어 자체에서 많은 기능을 제공하는 느낌은 아니다.
  • 당장 list에서 검색이나 어떤 원소가 들어있는지 확인하는 함수가 없다. 코드작성이 어려운건 아니지만 기능이 없는게 있는것보단 별로니까.

 

workspace를 지정해서 그 안에서만 코드를 짜야 한다.

  • 파이썬 쓸 때 처럼 아무대나 중구난방으로 프로젝트를 만들면 안된다. 가능은 한데, 모듈 의존성 관리가 안된다.

 

  1. 아직 커뮤니티가 작은거같다.
  • 파이썬이 크게 Django와 Flask로 나뉘는데 반해 go는 아직도 중구난방이라고 한다.
  • 거기다가 그 각각 프레임워크의 커뮤니티도 또 작다.
  • 비슷한 이유로 파이썬의 pip나 노드의 npm처럼 모듈이 많지가 않다.

전체적인 감상은 다음과 같다.

 

아직 채널이나 동기화같은 고루틴 패러다임을 잘 활용하지 못하고 있는데, 이것만 적응되면 뛰어난 성능의 코드를 매우 쉽게 짤 수 있을것같다.

C의 언어적 요소위에

자바 같은 메모리관리(가비지 콜렉터) + 패키지 관리를 얹고

컴파일이라는 점이 얹어진 느낌?

되게 괜찮은 언어 같다. 파이썬은 간단히 프로젝트 할 때, golang은 성능이 필요하거나 안정적이게 컴파일 된 바이너리가 필요할 때, 혹은 파이썬 하다가 정적 타입이 그리울때 하면 좋을것같다는 생각이 들었다.

'Computer Science' 카테고리의 다른 글

프로토콜 버퍼(protocol buffer)란?  (0) 2020.12.14
SW 마에스트로 11기 후기  (3) 2020.11.29
선린인터넷고등학교 정보보호과 동아리 지원시스템 개발기  (1) 2020.06.07
SW 마에스트로 11기 지원기  (0) 2020.05.16
폭력적인 동생을 혼내주자! - Mild Controller 개발 일지(?)  (1) 2020.02.08
  1. 장점
  2. 단점
'Computer Science' 카테고리의 다른 글
  • SW 마에스트로 11기 후기
  • 선린인터넷고등학교 정보보호과 동아리 지원시스템 개발기
  • SW 마에스트로 11기 지원기
  • 폭력적인 동생을 혼내주자! - Mild Controller 개발 일지(?)
mengmotaYeonGyu
mengmotaYeonGyu
mengmotaYeonGyu
Somewhere
mengmotaYeonGyu
전체
오늘
어제
  • 분류 전체보기 (50)
    • Computer Science (23)
    • Non Computer Science (16)
      • My Story (11)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • docker
  • 소마11기
  • 그래도지구는안망함
  • CICD
  • 다시 읽어보니 취미를 잃은게 아니라 새 취미가 생긴게 아닐까?
  • docker-swarm
  • 권도형
  • 도권
  • docker-stack
  • 프로토콜버퍼
  • MSA
  • 개발
  • github action
  • SWM
  • gRPC
  • unary
  • protocol Buffer
  • 구글
  • 루나코인
  • MicroServiceArchitecture
  • ChatGPT
  • grpc-gateway
  • 프로토콜 버퍼
  • SW마에스트로
  • 서비언스
  • happy_birthday_to_me
  • 배포
  • stream rpc
  • unary RPC
  • DevOps

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
mengmotaYeonGyu
Go 후기: 너로 정했다!
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.