GoLang 수박겉핥기

학미새🐥·2022년 1월 7일
0

블록체인에 입문하기 위해 공부하면 좋을 프로그래밍언어가 뭐가 있을까 찾아보던 중, 매우 생소한 언어 'Go'를 알게되었다.
무려 구글이 만든 언어라고 하는데... 클라우딩, 블록체인 등 분산형 프로그램에 유용한 언어라고 한다.

C언어를 다룬지 1년이 지나면서 점점 가물가물해지고 있었는데, 이 Go언어가 C언어 계열이라고 한다! C언어를 닮았지만 훨씬 더 간편화된 언어인 느낌이 난다. Go를 배우면서 C언어도 살짝 복습할 수 있겠다 싶음.

아무튼 Go를 정식으로 공부하기 전에 대체 이게 무슨 언어인데? 를 알기 위해 약 13분짜리 찍먹 소개영상을 봤다
https://www.youtube.com/watch?v=QUbdGXe9aMc
(영상이 매우 웃기니 들어가서 직접 보시길 추천)


GO?

Go 언어지만 용이한 서치를 위해 GoLang이라고도 부른다.

구글 연구실의 로버트 그리즈머, 롭 파이크, 켄 톰슨 셋이 C++의 복잡함을 욕하면서 "우리가 편한 언어를 만들자"해서 탄생된 아이라고 한다.

"1.안정성 2. 빠른 속도 3. 가독성 4. 멀티프로세싱"
를 목표로 만들어진 언어!
무려 2012년에 1.0버전이 출시된 신생(?)언어이다.

  • 객체지향 언어가 아니다 (C계열이니까). 하지만 객체지향 방식으로 구현은 가능하다고!

장점

  • 빠른 속도
    컴파일 언어라서 (C계열이니까) 속도가 빠름!

  • 빠른 언어 학습 시간
    소스코드만 봐도 대충 어떤 코드인지 알 수 있도록 만들었다고 한다.
    코드만 봐도 문장 읽는 느낌이 나도록 했다는데 정말 대단하다... 접근장벽이 확 낮아질 수 밖에

  • 복잡한 것들을 제외했다는데 반복문 삼형제 중 for만 남기고 while, do while을 날려버렸다고 한다!
    나도 세 종류 각각 배우면서 굳이 이게 다 필요한가..?생각했었는데ㅋㅋㅋ for만 남긴거 정말 인상적이다 나 무젂권 단순히 만들거야!!!!!!하는 냄새가 진하게 난다

    심지어 개인적으로 C언어 배우면서 가장 어려운 아이라고 생각했던 포인터 연산을 삭제했다고 한다. 너무좋다

  • 스레드 생성이 단순해서 멀티프로세싱에 매우 강력하다
    고루틴이라는 친구를 사용하면 한줄로 스레드를 뚝딱 만든다고 한다

  • 다양한 프레임 워크

  • 가비지컬렉션을 지원해준다고한다!
    가비지 컬렉션은 자동으로 쓰레기를 처리해주는 친구이다
    (자바는 이게 없다)

단점

  • 초기엔 제네릭 지원을 안했다고 한다
    근데 항의가 들어와서 2021부터는 제네릭 지원한다고 한다 ㅋ ㅋ

  • 큰 바이너리의 크기
    헬로월드가 2MB라고....?


분산 네트워크 환경에 가장 강력하다! 즉 concurrency에 강력하다!

사용된 서비스에는 넷플릭스, 트위치, 사운드클라우드 등이 있다고 한다. 확 신뢰감이 올라가는 사례들..

아무튼 찍먹해보니 더더욱 흥미가 생기는 언어이다.
얼른 우선적으로 계획했던 공부들 끝내고 GoLang도 입문해봐야지!

profile
뭐든 다해보려는 공대생입니다

0개의 댓글