동시성(concurrency) 프로그램
병행성(concurrency)와 관련된 Go의 구조적인 규칙들(channel과 선택적인 channel input들)은 Tony Hoare의 로부터 가져온 것이다. C++이나 Java에 있는 기능들 중 타입 상속, 제너릭, assertions, 메서드 오버로딩, 포인터 연산은 Go에서 포함하고 있지 않다. Go를 만들고 있는 개발자들은, 제너릭 등은 급하진 않지만 어느 시점에는 기능이 들어갈 거라고 한다. Go를 이용해 프로그램들이 서로 소통하면서 상태를 공유하는 동시성(concurrency) 프로그램을 쉽게 만들 수 있다. 동시성이란 멀티쓰레딩, 병렬 컴퓨팅 뿐 아니라, 비동기성 입출력 또한 포함한다. 예를 들어, 이벤트 기반 서버와 같이, 데이터베이스나 네트워크 작업과 같이 시간이 많이 걸리는 연산을 하는 동안 프로그램이 다른 일을 하는 것을 말한다. Go는 수많은 언어 배포판들과 동일한 종류의 디버깅, 테스트, 코드 검사 도구들을 포함하고 있다.
Go는 어떤 프로그램을 쉽게 만들 수 있어
Go (프로그래밍 언어)