Go (프로그래밍 언어)
내위키
구글에서 만들고 밀어주는 프로그래밍 언어. 하지만 왕창 밀어주고 있지는 않다. 구글=Go라는 인식이 지나치게 박히면 널리 퍼지는데 오히려 장애가 된다고 생각하는 듯.
C 언어와 많은 부분이 닮아 있다. 요즘 안 그런 언어도 있나? Go 언어를 만든 주역 세 명 중에 한 명인 켄 톰슨이 C 언어의 전신인 B 언어를 만들었다는 점을 생각해 보면 이해가 간다. 그러고 보니 C에 점 하나만 찍으면 G가 된다. 본격 민소희 언어?
최근 쏟아져 나오는 프로그래밍 언어와는 달리 수많은 치명적 버그의 원흉 포인터를 지원한다. 다만 포인터 연산은 지원하지 않는다. 변수에 대한 참조로는 쓸 수 있지만 메모리를 마음대로 조작하게 그러다가 뽀개먹게 만들지는 않겠다는 뜻.
요즘 나오는 대부분의 언어들이 클래스를 비롯한 객체지향 프로그래밍 기능을 기본으로 지원하는데 비해, Go는 클래스가 없다. 다만 구조체를 만들고 구조체의 포인터를 인자로 받는 함수를 만들면 비슷한 효과를 낼 수 있다. 패키지 기능을 쓰면 패키지 바깥에서 쓸 수 있는 함수와 변수를 지정할 수 있다. 함수 또는 변수의 첫 글자를 대문자로 하면 외부에서 쓸 수 있고, 소문자로 하면 패키지 내부에서만 쓸 수 있다.