Go๋ ์๋์ ์ผ๋ก ์ ์ง๋ง ์ธ๊ธฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์
๋๋ค. ์ ์ํด
์ญ์ฌ์ ๋นํธ
Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ Google์์ ๋ง๋ค์์ต๋๋ค. ์ค์ ๋ก Golang์ ์ ์ฒด ์ด๋ฆ์ "Google ์ธ์ด"์์ ํ์๋์์ต๋๋ค. ๋ฐํ์์ ํด๋น ์ธ์ด๊ฐ young์ด๋ผ๊ณ ๋ถ๋ ธ์์๋ ๋ถ๊ตฌํ๊ณ ์ฌํด๋ก XNUMX๋ ์ด ๋์์ต๋๋ค.
Go ์ ์์์ ๋ชฉํ๋ ๊ณ ํ์ง ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด์์ต๋๋ค. Go์ ์ฐฝ์์ ์ค ํ ๋ช ์ธ Rob Pike๋ Go๊ฐ ๋น๊ต์ ์๋ก์ด ์กธ์ ์์ด๊ณ Java, C, C++ ๋๋ Python์ ์๊ณ ์๋ ํ์ฌ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํด ์ค๊ณ๋์๋ค๊ณ ๋งํ์ต๋๋ค. ๊ทธ๋ค์๊ฒ Go๋ ๋นจ๋ฆฌ ์ดํดํ๊ณ ์ต์ํด์ง ์ ์๋ ์ธ์ด์ ๋๋ค.
์ฒ์์๋ Google ๋ด๋ถ์ ๋๊ตฌ์์ง๋ง ์๊ฐ์ด ์ง๋๋ฉด์ ํ์ฌ ๋ด๋ถ์์ ๋ฑ์ฅํ์ฌ ๋์ค์๊ฒ ์๋ ค์ง๊ฒ ๋์์ต๋๋ค.
์ธ์ด์ ์ฅ์
Golang์ ์ ์๋ ค์ ธ ์๊ฑฐ๋ ์ ์๋ ค์ง์ง ์์ ๋ง์ ์ฅ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋จ์์ฑ ์ฌ์ค ์ด๊ฒ์ด ์ธ์ด๋ฅผ ๋ง๋๋ ์ฃผ์ ๋ชฉํ์์ผ๋ฉฐ ๋ฌ์ฑ๋์์ต๋๋ค. Go๋ ๋งค์ฐ ๊ฐ๋จํ ๊ตฌ๋ฌธ(ํน์ ๊ฐ์ ํฌํจ)์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ์ธ์ด๋ณด๋ค ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ๋ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ ์ด ์์ต๋๋ค.
์ฒซ์งธ, Golang์ ํ๋ก๊ทธ๋๋ฐ์ ์์ ํ ์ด๋ณด์, ์ฆ ์ธ์ด๋ฅผ ์ ํ ๋ชจ๋ฅด๊ณ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ ์ฌ๋์ด ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋ฐฐ์ธ ์ ์์ต๋๋ค. Go๋ PHP๋ Pascal๋งํผ ๋ณต์กํ์ง ์์ง๋ง(์๋์ ์ผ๋ก ๋งํ๋ฉด) C++๋งํผ ๊ฐ๋ ฅํ๋ค๊ณ ๋งํ ์ ์์ต๋๋ค.
๋์งธ, Go๋ ์ด๋ฏธ ํ๋ ์ด์์ ์ธ์ด๋ฅผ ์๊ณ ์๋ "ํ์ฑ๋ ํ๋ก๊ทธ๋๋จธ"๊ฐ ๋ง์คํฐํ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ฐ๋ฐ์๋ Python์ด๋ PHP๋ฅผ ๋ง์คํฐํ ํ Go๋ฅผ ๋ฐฐ์๋๋ค. ๋ํ ์ผ๋ถ ํ๋ก๊ทธ๋๋จธ๋ Python/Go ๋๋ PHP/Go ์์ ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋ง์ ์์ ๋์๊ด. Go์ ๋๋ฝ๋ ๊ธฐ๋ฅ์ด ์๋ ๊ฒฝ์ฐ ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์๋ฃํ ์ ์์ต๋๋ค. Go์๋ ๋ ๋ค๋ฅธ ์ฅ์ ์ด ์์ต๋๋ค. C ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฝ๊ฒ ์ํธ ์์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. Go ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ C ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํผ๋ผ๋ ์๊ฒฌ๋ ์์ต๋๋ค.
์ฝ๋ ์ฒญ๊ฒฐ์ฑ. Go ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ๊น๋ํ๊ฒ ์ ์งํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ๋์ง ์๋ ๋ณ์๋ ์ปดํ์ผ ์ค๋ฅ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. Go๋ ๋๋ถ๋ถ์ ํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ฅํ๊ฑฐ๋ ์ปดํ์ผํ ๋ gofmt ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ์ด ์์
์ ์ํํฉ๋๋ค. ์์์ด ์๋์ผ๋ก ์์ ๋ฉ๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํํ ๋ฆฌ์ผ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ ์ ํ์ดํ. Go์ ๋ ๋ค๋ฅธ ์ฅ์ ์ ๊ฐ๋ฐ์๊ฐ ์ค์ํ ๊ฐ๋ฅ์ฑ์ ์ค์ฌ์ค๋ค๋ ๊ฒ์ ๋๋ค. ์, ๋์ ํ์ดํ์ ์ต์ํ ํ๋ก๊ทธ๋๋จธ๋ ์ฒ์ ๋ฉฐ์น ๋์์ ๋ชจ๋ ๋ณ์์ ํจ์๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๋ํ ์ ํ์ ์ ์ธํด์ผ ํ ๋ ์ง์ฆ์ ๋ ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ์ง์์ ์ธ ์ด์ ์ด ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ก์ต๋๋ค.
์ฝ๋ ์ ์ง ๊ด๋ฆฌ. ๊ฐ๋จํ๊ณ ๊ฐ๊ฒฐํ ๊ตฌ๋ฌธ ๋๋ถ์ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฝ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด Google์ ์ ์ฐ์ ๋๋ค. ํ์ฌ์๋ ๋ค์ํ ์ํํธ์จ์ด ์ ํ์ ๋ํ ์์ฒญ๋ ์์ ์ฝ๋๊ฐ ์๊ณ ์ด๋ฅผ ์ ๋ฆฌํ๋ ์๋ง ๋ช ์ ๊ฐ๋ฐ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ง ๊ด๋ฆฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฝ๋๋ ์์ ํ๋ ๋ชจ๋ ์ฌ๋์ด ์ดํดํ ์ ์์ด์ผ ํ๋ฉฐ ์ ๋ฌธ์ํ๋๊ณ ๊ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด Go๋ก ๊ฐ๋ฅํฉ๋๋ค.
๋์์ Golang์๋ ํด๋์ค๊ฐ ์์ผ๋ฉฐ(๊ตฌ์กฐ์ฒด, ๊ตฌ์กฐ์ฒด๊ฐ ์์) ์์์ด ์ง์๋์ง ์์ผ๋ฏ๋ก ์ฝ๋ ๋ณ๊ฒฝ์ด ํฌ๊ฒ ๋จ์ํ๋ฉ๋๋ค. ๋ํ ์์ธ, ์ฃผ์ ๋ฑ์ด ์์ต๋๋ค.
Go๋ก ๋ฌด์์ ์ธ ์ ์๋์?
์ผ๋ถ ์ฌํญ์ ์ ์ธํ ๊ฑฐ์ ๋ชจ๋ ๊ฒ(์: ๊ธฐ๊ณ ํ์ต๊ณผ ๊ด๋ จ๋ ๊ฐ๋ฐ - C/C++ ๋ฐ CUDA์ ๋ฎ์ ์์ค ์ต์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ Python์ด ์ฌ๊ธฐ์ ๋ ์ ํฉํฉ๋๋ค).
๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ์์ฑํ ์ ์์ผ๋ฉฐ ์ด๋ ํนํ ์น ์๋น์ค์ ํด๋น๋ฉ๋๋ค. ๋ํ Go๋ ์ต์ข ์ฌ์ฉ์์ ๋ฐ๋ชฌ, UI ๊ฐ๋ฐ ๋ชจ๋๋ฅผ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๊ฐ์น๊ฐ ์์ผ๋ฉฐ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋น์ค์ ์ ํฉํฉ๋๋ค.
Golang์ ๋ํ ์์
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ธ์ด์ ๋ํ ์์๊ฐ ์ ์ ๋ ๋ง์์ง๋๋ค. ์ ๊ทธ๋ฆผ์ ์๋ ํ์ฌ ์ธ์๋ Mail.ru Group, Avito, Ozon, Lamoda, BBC, Canonical ๋ฑ์ด Golang์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
โ์ฐ๋ฆฌ๋ ์ฌ์ ์ ํ์ฅํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ ํ์ ์ ์ํ ๊ฐ๋ฐ์ ๋ณด์ฅํ ๊ทผ๋ณธ์ ์ผ๋ก ์๋ก์ด ๊ธฐ์ ํ๋ซํผ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ Go์ ์๋์ ์์ ์ฑ, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ๊ฒ๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋จธ ์ฒญ์ค ๋๋ฌธ์ Go์ ์์กดํ๊ณ ์์ต๋๋ค.โ Ozon ๋ํ๋ ํ์ฌ๊ฐ Golang์ผ๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ ํ 2018๋ ์ ๋งํ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์์
์ ์ด๋จ๊น์? ์๋
Go ๊ฐ๋ฐ์์ ๊ธ์ฌ๋ ํ๊ท 60~140๋ฃจ๋ธ์ด์์ต๋๋ค.
๋ค์์ ๋ญ์ง?
Golang์ ๋ฐ์ ์ ๊ฒฐ์ฝ ๋ฉ์ถ์ง ์์ ๊ฒ์ ๋๋ค. ์ด ์ธ์ด๋ฅผ ์๋ ์ข์ ์ ๋ฌธ๊ฐ์ ํ์์ฑ์ ๋์ฑ ์ปค์ง ๊ฒ์ด๋ฏ๋ก ์ ๋ฌธ๊ฐ(์ด๋ณด ๋๋ ์ ๋ฌธ๊ฐ)๊ฐ ์ผ์๋ฆฌ๋ฅผ ์ฐพ๋ ๊ฒ์ ์ด๋ ต์ง ์์ ๊ฒ์ ๋๋ค. ์์น์ ์ผ๋ก IT ์์ฅ์๋ ๊ฐ๋ฐ์๊ฐ ์ง์์ ์ผ๋ก ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ์ด ์ง์ ์ ์ค๋๋ ์๋ ์ฌ์ ํ ๊ด๋ จ์ด ์์ต๋๋ค.
Go๋ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ์ ์ด๋ฏธ ํ๋ ์ด์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์๊ณ ์๋ ์ ๋ฌธ๊ฐ ๋ชจ๋์๊ฒ ์ ํฉํฉ๋๋ค. ๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ด๋ฅผ ๋ฐฐ์ฐ๊ฑฐ๋ ๋ค์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
๊ธฐ์ฌ๋ ์ ์๋๊ณผ ๊ณต๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.
์ถ์ฒ : habr.com