Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

제네릭

고 개발자 26% "제네릭을 이미 코드에 사용하고 있다"

고(Go) 개발자 설문조사 결과에 따르면 전체 응답자의 4분의 1 이상이 이미 ‘제네릭(Generics)’을 사용하고 있다. 지난 3월 고 프로그래밍 언어에 추가된 제네릭이 빠르게 채택되고 있다. 이는 9월 8일 발표된 ‘고 개발자 설문조사 2022 Q2 결과(Go Developer Survey 2022 Q2 Results)’에서 확인됐다. 전체 설문조사 응답자의 대다수(86%)가 고 1.18 릴리즈에 제네릭이 추가됐다는 사실을 알고 있었으며, 26%는 고 코드에서 이미 제네릭을 사용하기 시작했다고 밝혔다. 54%는 제네릭 사용에 개방적이지만 아직까진 특별히 필요하지 않다고 답했다.    한편 몇 가지 문제에 직면하고 있는 개발자도 있었다. 전체 설문조사 응답자의 8%는 제네릭을 쓰고 싶지만 현 제네릭 구현의 제한(30%), 린터 등의 도구 지원 제한(26%), 가파른 학습 곡선 및 문서 부족(12%)으로 제네릭을 사용하지 못하고 있다고 언급했다. 개발자가 지적한 제네릭 구현의 문제에는 매개 변수화된 메소드의 부족, 타입 추론 개선 필요성, 타입 전환의 필요성 등이 있었다. 아울러 제네릭 구문이 사용하기 불편하다는 응답도 있었다.  2012년 출시된 이래 고 언어의 가장 중요한 변화로 꼽히는 제네릭은 개발자에게 사용 중인 특정 타입과 독립적인 코드를 작성할 수 있는 방법을 제공한다. 또 제네릭은 코드를 공유 및 재사용하고, 프로그램을 더 쉽게 구축할 수 있는 빌딩 블록을 지원한다. 회사에 따르면 2022 2분기 고 개발자 설문조사는 지난 6월 진행됐으며, 총 5,752명의 개발자가 참여했다. 이 밖에 다른 설문조사 결과는 다음과 같다.    전반적인 고 언어 만족도는 여전히 매우 높으며, 전체 응답자의 93%가 ‘매우 만족(63%)’ 또는 ‘어느 정도 만족(30%)’이라고 전했다. 불만족스럽다는 응답은 4%에 불과했다.  버그를 찾기 위해 입력을 지속적으로 조작하는 자동...

고 언어 고랭 제네릭 2022.09.20

'어느덧 10살 넘은' 고(Go) 언어를 돌아보다

구글에서 개발한 인기 프로그래밍 언어 ‘고(Go)’의 강점, 약점, 사용 사례, 앞으로의 발전 방향을 살펴본다.  구글의 프로그래밍 언어, 일명 ‘고랭’(2022년 3월 현재 버전 1.18)은 출시 당시 마니아 개발자에게 주목받는 신기한 언어 정도였지만 10년이 지난 지금에는 중요 클라우드 프로젝트의 핵심 언어로 우뚝 올라섰다. 도커와 쿠버네티스 등의 프로젝트 개발자가 고를 선택한 이유는 무엇일까? 고의 대표적인 특징은 무엇이고, 다른 프로그래밍 언어와 어떻게 다르며, 가장 적합한 프로젝트 종류는 무엇일까? 여기에 더해 고의 특징, 최적 사용 사례, 없는 기능 및 한계, 앞으로의 발전 방향까지 살펴본다.    작고 단순하다 고랭이라고도 불리는 고는 구글 엔지니어 롭 파이크를 중심으로 한 일부 구글 직원이 개발했지만 엄밀히 말하면 ‘구글 프로젝트’는 아니었다. 오히려 고는 사용법과 방향성에 강력한 의견을 가진 리더십이 주도하는 커뮤니티 기반의 오픈소스 프로젝트로 개발됐다.  고는 배우거나 사용하기 쉬운 그리고 다른 개발자도 읽기 쉬운 언어를 목표로 설계됐다. 그래서 C++ 같은 언어와 비교하면 기능이 그렇게 많지는 않다. 문법적으로는 C와 비슷해서 C 경험이 풍부한 개발자라면 비교적 쉽게 배울 수 있다. 또한 고의 동시성과 함수형 프로그래밍 기능은 얼랭(Erlang) 등의 언어를 연상시키기도 한다. 여러 크로스 플랫폼 엔터프라이즈 애플리케이션을 구축 및 유지하기 위한 C와 유사한 언어인 만큼 고는 자바(Java)와 공통점이 많다. 아울러 어디에든 실행할 수 있는 코드를 신속하게 개발할 수 있게 해준다는 점은 파이썬과 비슷하다. 다만 파이썬과 비교하면 유사점보다는 차이점이 훨씬 많다. 고 언어에는 모두를 위한 무언가가 있다 고 문서는 고를 “동적 타입의 인터프리터 언어처럼 느껴지는, 빠른 정적 타입의 컴파일 언어”라고 설명한다. 실제로 용량이 큰 고 프로그램도 몇 초 안에 컴파일된다. 또한 고는 파일 및 라이브러리 ...

구글 고 언어 고랭 2022.08.18

"성능 최대 20% 향상" 구글, '고' 1.19 버전 공개

구글이 ‘고(Go)’ 프로그래밍 언어의 최신 버전을 선보였다. 이번 업데이트는 최근 추가된 제네릭을 개선하고, 향상된 메모리 모델을 선보였다. 지난 8월 2일(현지 시각) ‘고 1.19’이 공개됐다. 개발팀에 따르면 제네릭 개발은 해당 커뮤니티에서 제기된 몇 가지 문제 그리고 성능 개선(일부 제네릭 프로그램에서 최대 20% 성능 향상)을 해결하는 데 초점을 맞췄다. 제네릭 기능들은 지난 3월 출시된 고 버전 1.18에서 도입됐다.    아울러 고 메모리 모델은 동기화/원자 패키지 동작을 명시적으로 정의한다. 동기화 알고리즘을 구축하기 위한 저수준 원자 메모리 기본 요소도 제공한다. 발생 이전(happens-before) 관계의 공식 정의는 C, C++, 자바, 자바스크립트, 러스트, 스위프트에서 사용되는 메모리 모델에 맞게 수정됐다. 기존 프로그램을 영향을 받지 않는다고 개발팀은 전했다.  메모리 모델 업데이트 외에도 atomic.int64 및 atomic.Pointer(T) 등 새로운 유형이 동기화/원자 패키지에 지원돼 원자 값을 더 쉽게 사용할 수 있다. 고 1.19는 이곳(go.dev)에서 다운로드할 수 있다. 고 1.19의 기타 개선사항 및 새로운 기능은 다음과 같다.    가비지 수집기에 소프트 메모리 제한이 추가됐다. 이 제한을 통해 고 프로그램을 최적화해 메모리 양이 할당된 컨테이너에서 가능한 한 효율적으로 실행되도록 할 수 있다. 스택 카피라이팅을 줄이기 위한 코루틴 스택의 동적 크기 조정, 유닉스 시스템에서의 자동 추가 파일 설명자 사용, x86-64 및 Arm 64 상에서의 스위치 스테이트먼트용 점프 테이블, Arm64에서의 디버거 주입 함수 호출 지원이 지원된다.  메소드 선언의 형식 매개변수가 수정됐다. 기존 프로그램은 영향을 받지 않는다. 이제 문서 주석에서 링크, 목록, 제목 구문을 지원한다. 특히 대규모 API를 갖춘 패키지에서 명확한 문서 주석을 작성할 수...

고 언어 고랭 2022.08.05

구글 ‘고’ 언어, 제네릭 도입한 1.18 베타 버전 공개

구글 고(Go) 언어 개발팀이 제네릭(Generics) 기능을 추가한 고 1.18 베타 버전을 14일 공개했다. 지난 2012년 고 1.0 버전 출시 이후 가장 중요한 변화다.   고 1.18 베타 버전은 고 언어의 첫 번째 테스트 버전으로, 타입 매개변수를 사용하는 제네릭 코드를 지원한다. 제네릭 프로그래밍은 함수 및 데이터 구조를 제네릭 형태로 표현할 수 있는 향상된 기능이다. 코드를 공유하고 프로그램을 더 쉽게 만들 수 있는 빌딩 블록을 제공한다. 고 개발팀은 중요한 기능이 추가됐을 때 새로운 버그가 발견되는 것은 흔한 일이라고 경고했다. 제네릭 기능도 예외는 아니다. 따라서 개발자는 고 베타 버전에서 제네릭 기능을 사용할 때 적절한 주의를 기울여야 한다. 특정 종류의 재귀적 제네릭 타입은 추후 지원할 예정이다.  개발팀은 일부 사용자들이 베타 버전에 매우 만족했다고 밝혔다. 지난 2019년 7월 개발팀의 블로그 포스팅에 따르면, 고는 제네릭 프로그래밍의 한 형태인 인터페이스 타입을 사용하고 있었지만 당시에는 고 개발자들이 원하는 기능을 완전히 제공하지 못했다. 제네릭 기능을 선호하는 개발자들은 예컨대 슬라이스 요소의 유형을 신경 쓰지 않고 리버스 같은 기능을 사용하고자 했다. 고 1.18 베타 버전은 홈페이지에서 다운로드할 수 있으며, 아직은 ‘불안정’ 단계다. 고 1.18 정식 버전은 오는 2022년 2월 출시될 예정이다. 제네릭 사용 지침서도 공개됐다. 릴리즈 노트에 따르면, 고 1.18에는 다음과 같은 기능도 추가된다.    무작위로 데이터를 입력해 프로그램 충돌이나 에러를 검사하는 퍼즈 테스팅(Fuzz Testing) 기능 개발자가 여러 가지 고 모듈을 동시에 사용할 수 있는 고 워크스페이스 모드. 대규모 프로젝트 개발 시 중요한 기능 컴파일러 플래그 같은 빌드 세부사항 기록하도록 go version -m 명령 기능 확장 GOAMD64 환경 변수에서 4가지 AMD64 아키텍처 버전 가운데 하나...

구글 제네릭 2021.12.17

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.