2020.06.18

구글 고(Go) 언어, 2021년 제네릭(Generic) 지원 예정

Paul Krill | InfoWorld
구글 고(Go) 언어가 내년부터 제네릭(Generic)을 지원한다. 고 언어를 사용하는 개발자들은 수년간 단순성과 유연성을 제공하는 제네릭을 요청해왔던 바 있다.  

구글의 고 언어(고랭) 개발자들이 제네릭 도입을 추진 중이다. 큰 문제가 없다면 내년 8월에 정식 지원될 예정이다. 제네릭은 형식 매개변수(type parameter)를 사용하는 함수나 유형을 의미하며, 제네릭의 누락은 그간 고 언어의 단점으로 자주 언급돼 왔다. 
 
ⓒGetty Images

앞서 언급된 시기상 제네릭은 고 언어 1.17 버전에 포함될 것으로 예측된다. 그러나 고 프로젝트 개발자들(Go project developers)은 일정에 대해 낙관적인 입장을 피력하면서도 예상치 못한 문제가 발생할 수도 있다고 밝혔다. 제네릭 프로그래밍은 데이터 구조와 함수를 제네릭 형태로 표현할 수 있게 하며, 데이터 형식도 나중에 정의한다. 이는 일부 프로그래밍 작업을 단순화하는 이점이 있지만 고 언어를 복잡하게 할 수 있다는 문제도 있었다. 

고 프로젝트 개발자들은 지난 6월 16일 컨트랙트(contracts)를 인터페이스 유형(interface types)으로 대체하는 형식 매개변수에 대한 설계 초안을 업데이트했다. 또한 제네릭 코드 전환을 지원하는 툴을 도입했다. 설계 초안 작성자들은 컨트랙트와 인터페이스 유형 간 차이가 혼동된다는 것을 파악했고 컨트랙트 계획을 중단했다. 이제 형식 매개변수는 인터페이스 유형에 의해 제한되며, 인터페이스 유형은 제한 조건으로 사용될 때 형식 목록을 포함할 수 있다. 

고 플레이그라운드(Go Playground)를 기반으로 제공되는 전환 툴은 고 언어 개발자들이 초안을 개선하는 방법을 결정하는 데 도움을 주도록 고안됐다. 이 툴은 초안에서 정의된 제네릭 버전으로 작성된 실행 코드와 형식 검사를 허용하며, 제네릭 코드를 고(Go) 코드로 변환한다. 전환 과정에 한계가 있긴 하지만 이를 통해 고 개발자들은 제네릭 고 코드가 어떤 모습일지 가늠할 수 있고 제네릭 코드가 타당한지 알 수 있다. 

고(Go) 내에 포함된 제네릭의 다음 수순은 아마도 공식적인 언어 변경 제안일 수 있다. 고 언어 개발자들은 다이렉트 컴파일러 구현을 스케치하는 초기 단계에 있다. 또한 고 프로젝트 개발자는 타입 체커(Type checker)를 작성했다. 이는 초안 및 보고서 형식 오류에 설명된 대로 제네릭을 사용하는 고 코드를 구문 분석할 수 있는 프로그램이다. 예제 코드도 작성됐다. 

고 언어는 2009년 11월 처음 발표됐으며, 지난 주 1.15 버전이 베타로 공개됐다. 고 1.15 버전은 8월 정식 출시될 예정이다. ciokr@idg.co.kr



2020.06.18

구글 고(Go) 언어, 2021년 제네릭(Generic) 지원 예정

Paul Krill | InfoWorld
구글 고(Go) 언어가 내년부터 제네릭(Generic)을 지원한다. 고 언어를 사용하는 개발자들은 수년간 단순성과 유연성을 제공하는 제네릭을 요청해왔던 바 있다.  

구글의 고 언어(고랭) 개발자들이 제네릭 도입을 추진 중이다. 큰 문제가 없다면 내년 8월에 정식 지원될 예정이다. 제네릭은 형식 매개변수(type parameter)를 사용하는 함수나 유형을 의미하며, 제네릭의 누락은 그간 고 언어의 단점으로 자주 언급돼 왔다. 
 
ⓒGetty Images

앞서 언급된 시기상 제네릭은 고 언어 1.17 버전에 포함될 것으로 예측된다. 그러나 고 프로젝트 개발자들(Go project developers)은 일정에 대해 낙관적인 입장을 피력하면서도 예상치 못한 문제가 발생할 수도 있다고 밝혔다. 제네릭 프로그래밍은 데이터 구조와 함수를 제네릭 형태로 표현할 수 있게 하며, 데이터 형식도 나중에 정의한다. 이는 일부 프로그래밍 작업을 단순화하는 이점이 있지만 고 언어를 복잡하게 할 수 있다는 문제도 있었다. 

고 프로젝트 개발자들은 지난 6월 16일 컨트랙트(contracts)를 인터페이스 유형(interface types)으로 대체하는 형식 매개변수에 대한 설계 초안을 업데이트했다. 또한 제네릭 코드 전환을 지원하는 툴을 도입했다. 설계 초안 작성자들은 컨트랙트와 인터페이스 유형 간 차이가 혼동된다는 것을 파악했고 컨트랙트 계획을 중단했다. 이제 형식 매개변수는 인터페이스 유형에 의해 제한되며, 인터페이스 유형은 제한 조건으로 사용될 때 형식 목록을 포함할 수 있다. 

고 플레이그라운드(Go Playground)를 기반으로 제공되는 전환 툴은 고 언어 개발자들이 초안을 개선하는 방법을 결정하는 데 도움을 주도록 고안됐다. 이 툴은 초안에서 정의된 제네릭 버전으로 작성된 실행 코드와 형식 검사를 허용하며, 제네릭 코드를 고(Go) 코드로 변환한다. 전환 과정에 한계가 있긴 하지만 이를 통해 고 개발자들은 제네릭 고 코드가 어떤 모습일지 가늠할 수 있고 제네릭 코드가 타당한지 알 수 있다. 

고(Go) 내에 포함된 제네릭의 다음 수순은 아마도 공식적인 언어 변경 제안일 수 있다. 고 언어 개발자들은 다이렉트 컴파일러 구현을 스케치하는 초기 단계에 있다. 또한 고 프로젝트 개발자는 타입 체커(Type checker)를 작성했다. 이는 초안 및 보고서 형식 오류에 설명된 대로 제네릭을 사용하는 고 코드를 구문 분석할 수 있는 프로그램이다. 예제 코드도 작성됐다. 

고 언어는 2009년 11월 처음 발표됐으며, 지난 주 1.15 버전이 베타로 공개됐다. 고 1.15 버전은 8월 정식 출시될 예정이다. ciokr@idg.co.kr

X