- 13
- 네모
- 조회 수 1996
드립용입니다. 주의하세요.
구글에서 개발중인 Golang.
점점 인기를 얻고 있는 추세지만, 아직까진 Python의 강세를 이기지 못하고 있습니다.
그래서 써보는 코딩입문자에게 Python보다 Go를 추천하는 (6-3)가지 이유!
1. Go의 문법은 대중적이다.
Go의 문법은 파이썬에 비해 좀 더 대중적인(?) 모습을 보인다.
사용하기 편리한가 아닌가를 떠나서, 좀 더 구체적인 표현으로 다른 유명한 언어들과 비슷한 모습을 가진다는 것은, 입문자에게 큰 메리트이다.
이후에도 새로운 언어를 배울 의향이 있다면 Go를 배워두는 것이 C나 Java 등을 배울 때 좀 더 도움이 될것이다.
2. Go는 정적타입 언어이다.
기본적으로 Go는 정적타입 언어이다. 컴파일러 단위에서 체크를 진행하므로, 사실 대다수의 컴파일 언어들이 가지는 특징이라고 할 수도 있다.
인터프리터 언어인 Python에 비해 배우기 까다로울 수 있으나, 그럼에도 입문용으로는 더 좋은 선택지로 본다.
모래주머니를 차고 반년을 보내다 그것을 풀고 1개월간 생활하는것과, 아무 거리낌없이 반년을 보내다 모래주머니를 차고 1개월을 생활하라는 것,
무엇이 더 적응하기 힘들지는 대부분의 사람들이 알거라고 생각한다.
3. 사용자층이 굳건한 언어이다.
파이썬은 사용자층이 넓은 언어이고, Go는 사용자층이 좁지만 단단한 언어이다.
사용자층이 좁은 이유도 구글에서 자체 개발한 언어이고, 구글에서만 자주 사용되기 때문이라고 생각한다.
사용자층이 좁으면 안좋은게 아닌가? 할 수 있다. 그러나 좁기에 가질 수 있는 장점도 꽤 많은 편이다.
많은 프로젝트들이 비슷한 철학관(?)을 가지고 제작되고, 이는 코딩 스타일도 비슷하게 만들 수 밖에 없다.
프로젝트마다 코드 스타일이 달라서 헷갈리는 경우가 많이 줄어든다. 파이썬은 그런 방면에서 참 극악한 언어다.
4. 컴파일 언어이다.
사실 지금부터가 본론(???)인데, 컴파일 언어라는 점은 매우 중요하다.
모름지기 코딩이라면 컴파일 하는 맛이 있어야 한다고 생각한다.
컴파일 에러가 나서 어디가 문제인지 하루종일 찾다, 세미콜론을 입력하지 않았다는 것을 깨닫는 순간의 그 허탈한 기분이야말로 코딩의 묘미다.
그 허탈한 기분을 즐기는 것이야 말로 코드를 작성하는 사람들에게 있어 제일 중요한 덕목이기도 하다.
괜찮다, 걱정하지 마라.
코더로써 당연히 가져야 할 덕목이므로 마조히스트가 된 것 같다는 기분은 가지지 않아도 좋다.
코더가 되었다는 것, 그것은 당당히 마조히즘에 입문했다는 것과 같은 말이기 때문이다.
5. 문법이 상당히 귀엽다.
파이썬처럼 웅장하고 위대한 문법을 가진 언어가 아니다. Go는 실용적이면서도 귀여운 문법을 가지고 있다.
이건 사람마다 느끼는 점이 다르겠지만, 최소한 필자는 그렇게 느꼈다.
들여쓰기를 적극 활용하는 파이썬은 오와 열을 맞추려고 발악을 한다. 필자는 아직 신병이지만, 그럼에도 오와 열을 보면 눈물이 흐른다.
이에 비해 괄호를 활용해 아기자기함을 뿜어내는 Go를 봐라. 얼마나 귀여운가. 정말 사랑스럽다.
아 물론, 결국은 Go로도 오와 열을 맞추게 된다. 습관이라는 건 무서운거구나 라는 걸 깨닫고 있는 우리는 자랑스러운 코더다.
6. 구글은 신의 직장이다.
이게 제일 중요한 문단인데, 구글은 신의 직장이기 때문에 구글에서 만든 Go 를 쓰자.
콘덴싱을 만들지는 않지만, 콘덴싱을 쓰는 지구 지키는 히어로 아빠가 있듯.
구글에 다니지는 않지만, 구글 제품을 쓰는 신의 직장에 다니는 듯한 코더가 있다.
고래앵 사용해효오오오~
작성자
댓글 13
그렇군요! 현재 유지보수할 개발자가 부족한 포트란이나 코볼을 한다면 연봉이 높겠네요~! ㄷㄷ
괴랄한 언어라고 하면 현재와 과거 어느 시점에도 랭킹 20위 내에 들지 못한 언어를 의미하나요??
예컨대 Brainfuck 같은 언어요??
대체적으로 함수형 프로그래밍 언어가 속합니다
https://insights.stackoverflow.com/survey/2018/#technology-what-languages-are-associated-with-the-highest-salaries-worldwide
전세계, 미국의 연봉 상위권이 모두 함수형 프로그래밍 언어입니더.
물론 우리나라는 이 경향성을 따른다고 하기엔 어렵네요.
앗 그렇군요! 감사합니다 ^^
제가 컴알못이라서 함수형 프로그램 언어를 잘 몰라서 그나마 친숙한 하스켈과 LISP를 떠올렸는데
LISP는 순위권에 없고, 하스켈은 생각보다 순위가 높지 않네요 ㅠㅠ
미국과 글로벌의 샐러리 차이가 생각보다 크고,
펄이 글로벌에서는 꽤 상위권에 있는 것이 인상적이네요!
펄이 가독성이 낮아서 유지보수가 어렵다고는 들었네요 ㄷㄷ
그럼 humit 님께서도 즐거운 주말 되세요 ^-^
저는 “코딩”이라는 입장에서 Go 와 Python 은 같은 맥락인줄 알았는데 지난번 글도 그렇고 이번글도 그렇고 컴파일이냐 인터프리터이냐를 많이들 이야기 하시네요.
둘이 초심자가 “배우기위한 쉬운 언어” 로 그룹을 지어야 하는게 아닌 다른 언어처럼 생각해야 하는거군요.
맛스타 님께서도 PHP과 C++을 모두 경험해보셨으니 저같은 초보가 댓글을 다는 것은 사족이 되겠지만
실사용을 배제한 학습 단계만 놓고보면 컴파일러 vs 인터프리터의 차이가 아주 큰 차이는 아닐 수도 있다는 생각도 드네요~!
그리고 파이썬도 인터프리터 언어이기는 하지만 윈도우에서 EXE 파일로의 컴파일이 불가능한 것도 아니구요 ^^
https://studyforus.com/freeboard/505510
https://studyforus.com/freeboard/449891
그럼 즐거운 주말 저녁 되세요~!
경험이라고 말할것도 없는 겉핥기라 민망하네요.
목욕탕에 몸 담궈보고 “나 수영해봤어” 라고 하는 기분입니다 ㅋㅋㅋ
컴퓨터 언어 공부 어렵네요. 차라리 영어공부가 더 쉬워요. ㅠㅠ
그건 맛스타 님께서 미쿡에 장기간 거주하셨으니 쉽다고 말씀하시는거죠 ^^
저는 운좋게 토익 990을 찍어봤지만 영어권 국가에 체류해본 경험이 없어서 영어공부가 너무 어렵거든요 ㅠㅠ
영어 공부도 '성문종합영어' 같은 텍스트북으로 문법 위주로 공부하는 것이 아니라
특정 상황에 필요한 회화 위주로 학습하면 상대적으로 쉽고 재미있잖아요~!
컴퓨터 언어도 마찬가지로 접근하시는 것이 수월하다고 생각합니다.
영어 단어 200개를 제대로 구사하면 평균적인 네이티브가 구사하는 일상회화의 80% 이상을 커버칠 수 있다는 통계가 있더군요.
개업의가 처방하는 약물의 95%는 50종류 미만이라는 통계도 있구요.
마찬가지로 컴퓨터 언어도 문법 그 자체를 공부하는 것이 아니라
특정 문제를 상정하고 이것을 해결하기 위한 문법 위주로 중요한 명령어 100개 정도를 우선적으로 익히는 것이
공부방법론(?)적인 측면에서 수월하다고 생각합니다.
댓글을 작성하고 보니 마치 제가 컴퓨터 언어에 대해 능숙하게 잘 알고 있는 것처럼 써놨는데요.
실은 저는 네이티브 앞에서 영어도 못해서 취업에 고생을 했고,
컴퓨터 언어는 간신히 'Hello world!'을 출력하는 수준이고,
심지어는 한국어 구사 능력도 떨어져서 많이 혼났습니다 ㅠㅠ
+)
파이썬이 쉽다는 평가를 받는 것도 무료 라이브러리가 풍부해서
특정 문제를 상대적으로 쉽게 해결하는 경우가 많은 것이 이유 중 하나라고 생각합니다.
문법 자체만 놓고보면 파이썬이 과연 쉬운지는 솔직히 잘 모르겠네요 ㅠㅠ
제 와이프가 kbs한국어 능력시험 준비하면서 같이 문제를 풀어봤는데....
한국어가 제일 어렵더라구요. 푸는 동안에도 반도 못 맞출것 같다라는 생각을 계속했네요. ㅠㅠ
확실히 파이썬이 문법적으로 깊게 들어가면 어렵습니다... decorator 패턴이라던지요..
https://youtu.be/LJvEIjRBSDA
가사는 요기: https://www.facebook.com/iamprogrammer.io/posts/1306777872677067
고오오ㅗㅗㅗㅗ오ㅗ오오오!
많은 프로젝트들이 비슷한 철학관(?)을 가지고 제작되고, 이는 코딩 스타일도 비슷하게 만들 수 밖에 없다.
요말 재밋네요.
사용자 층이 좁으면 단점이 찾을 만한 내용이 reference 정도만 있다는 점이 있습니다...
그래도 go는 어느 정도 사용자 층이 있지만 괴랄한 언어는 그러지 못해서 레퍼런스를 주구장창 파야 한다는 단점이 있습니다.
물론 사용자 층이 적다면 그 언어를 유지보수 할 수 있는 사람이 적다는 것을 의미하므로 연봉을 높게 받을 수 있겠네요.