WHY GO?

0

GO 언어를 배워야 하는 4가지 이유

  • 고 루틴을 가지고 있다.
  • 기본 하드웨어에서 직접 실행
  • Go 로 작성된 코드는 유지 관리가 쉬움
  • Go 는 구글의 지원을 받음

Go Routine

  • 최근 하드웨어 업체는 싱글코어보다는 멀티코어, 하이퍼스레드 기능을 통해 성능을 향상 시킴
  • 소프트웨어 또한 이러한 추세에 맞게 싱글 스레드보다 동시성을 쉽게 지원할 수 있는 형태로 지원해야함
  • Java 나 Python은 90년대 단일 스레드 환경에서 사용되는 언어였으므로 멀티 스레딩 응용프로그램을 만들기가 쉽지 않음
  • Go Routine은 필요할 때만 더 많은 메모리를 사용 (성장 가능한 세그먼트 스택 사용)

  • GO Routine 은 스레드보다 시작 시간이 빠름
  • GO Routine에는 내장된 기본 요소가 제공되어 자체적으로 안전한 통신 사용
  • GO Routine을 사용하면 데이터 구조를 공유 할 때 뮤텍스 잠금에 의존하지 않음
    ( 뮤텍스 = 공유 자원에 여러 쓰레드가 접근하는 것을 막는 것, 둘 이상의 쓰레드가 동일한 데이터를 공유하여 발생하는 문제를 해결하기 위한 동기화 기법)
  • GO Routine과 OS thread 에는 1:1 매핑이 없으므로 최적화된 다수의 스레드에서 실행

기본 하드웨어에서 직접 실행

  • Java/python 에 비해 C, C++ 를 사용하면 성능이 월등히 좋음
  • Java 는 JVM, 파이썬은 스크립트언어로 인터프리터에 의해 해석되며 실행
  • Go 는 C, C++과 동일하게 바이너리로 직접 컴파일되므로 다른 최신언어에 비해 좋은 성능을 발휘(low-level lang)
  • 가비지 수집을 사용하여 개체를 할당하고 제거하므로 malloc 이나 free가 필요 없음

유지관리가 쉬운 코드

  • 매우 깔끔한 구문을 사용
  • 현대 OOP언어의 많은 기능을 의도적으로 제외 (Class, 상속, 생성자, 등이없음)
  • 거의 파이썬 만큼 쉽고 빠른 제작 가능

Google's support

  • 구글에서 설계하고 지원
  • 구글에서 확장성 및 효율성 지원문제를 해결하도록 설계
  • 우리의 서버나 프로그램을 제작할 때 직면할 만한 문제에 대한 고민과 발전을 함계할 수 있음.

출처:

GO 언어를 배워야 하는 4가지 이유(유튜브)
why should you learn go

profile
🇰🇷🇺🇸 #Back-End Engineer

0개의 댓글