구글 '고' 언어에서 개선해야 할 8가지
OSS
게시글 작성 시각 2017-08-10 09:06:56
2017년 8월 9일 (수)
ⓒ CIO Korea, Paul Krill | InfoWorld
구글의 오픈소스 고(Go) 언어용 개발툴을 개선하기 위해 마이크로소프트와 레드햇의 언어 서버 프로토콜과 비슷한 자체 언어 서버를 가져야 할까?
현재 고 언어 컨트리뷰터 토론 그룹 내에서는 이와 관련된 논의가 한창이다. 아직 결론이 나지 않았고 활발하게 서로 의견을 내고 있다. 현재 많은 컨트리뷰터로부터 공감을 얻고 있는 것은 다음과 같다.
- 언어 서버 IDE와 기타 툴의 도입: 코드와 패키지 관련 정보를 색인하고 표시할 수 있다. 한 컨트리뷰터는 "마이크로소프트의 언어 서버 프로토톨은 에디터와 IDE내에서 광범위하게 지원되고 있다"라고 썼다. 이 프로토콜은 여러 코드 에디터와 IDE에 걸쳐 다양한 언어를 통합하기 위해 개발됐다.
- 통계를 리포트하는 표준 카운터 API 개발
- 일부 어셈블리 코드 재작성
- 고 크립토 코드 재작성: 크립토 코드는 어셈블리 내에서 성능 향상을 사용된다. 그러나 이 코드는 디버그하고 유지하고 읽기가 까다롭다. 한 참석자는 "이를 새로 만들면 코드 유지보수를 더 쉬워질 것이다. 고유의 프로세서를 추가하고 128비트 처리 지원을 강화하면 고의 크립토 성능을 향상할 수 있을 것이다"라고 썼다.
- 처리/비트 패키지 확장: 이 패키지는 비트 조작을 최적화하는 역할을 하는 것으로, 이달 중 나올 고 1.9 버전에 포함돼 있다.
- 컴파일러와 런타임내 가비지 컬렉션과 관련 툴의 리팩터 : 코어 툴과 IDE의 오버헤드를 줄일 수 있다.
- 빠른 문법 확인을 위해 IDE에 컴파일러 내장
- 메모리내 코드 컴파일: 파일 시스템을 줄이고 연속적인 테스트를 할 수 있다.
이 토론 그룹에서 제기된 다른 이슈로는 의존성 관리와 인터페이스 관련 문제가 있다. 의존성 관리는 새 버전을 내놓는 기간과 관련이 있다. 컨트리뷰터들에 따르면, 현재 표준 라이브러리의 핵심 패키지를 수정해 새 버전을 내놓거나 보안 이슈에 대응하기 위한 새 버전을 내놓는 데 6개월이 걸린다. 한 컨트리뷰터는 "의존성 관리를 개선하면 표준 라이브러리에서 추출한 일부 패키지를 자체 프로젝트에 넣는 마이그레이션을 더 수월하게 할 수 있다"라고 썼다.
표준 라이브러리 인터페이스 사용의 어려움을 지적하는 목소리도 높다. 한 컨트리뷰터는 "io.Reader가 컨텍스트를 도입해 읽기 작업을 막는 것을 중단할 수 있으면 더 좋을 것 같다"라고 썼다. 고의 오류에 관한 토론도 진행중이다. 한 사용자는 "많은 고 사용자가 '오류'가 인터페이스라는 사실에 대해 혼란을 느끼거나 이해하지 못하고 있다. 이는 io.EOF 같은 구분점 오류를 마스킹하지 않고 오류에 더 많은 정보를 넣는 것을 어렵게 만들 수 있다"라고 썼다.
현재 고 언어 컨트리뷰터 토론 그룹 내에서는 이와 관련된 논의가 한창이다. 아직 결론이 나지 않았고 활발하게 서로 의견을 내고 있다. 현재 많은 컨트리뷰터로부터 공감을 얻고 있는 것은 다음과 같다.
- 언어 서버 IDE와 기타 툴의 도입: 코드와 패키지 관련 정보를 색인하고 표시할 수 있다. 한 컨트리뷰터는 "마이크로소프트의 언어 서버 프로토톨은 에디터와 IDE내에서 광범위하게 지원되고 있다"라고 썼다. 이 프로토콜은 여러 코드 에디터와 IDE에 걸쳐 다양한 언어를 통합하기 위해 개발됐다.
- 통계를 리포트하는 표준 카운터 API 개발
- 일부 어셈블리 코드 재작성
- 고 크립토 코드 재작성: 크립토 코드는 어셈블리 내에서 성능 향상을 사용된다. 그러나 이 코드는 디버그하고 유지하고 읽기가 까다롭다. 한 참석자는 "이를 새로 만들면 코드 유지보수를 더 쉬워질 것이다. 고유의 프로세서를 추가하고 128비트 처리 지원을 강화하면 고의 크립토 성능을 향상할 수 있을 것이다"라고 썼다.
- 처리/비트 패키지 확장: 이 패키지는 비트 조작을 최적화하는 역할을 하는 것으로, 이달 중 나올 고 1.9 버전에 포함돼 있다.
- 컴파일러와 런타임내 가비지 컬렉션과 관련 툴의 리팩터 : 코어 툴과 IDE의 오버헤드를 줄일 수 있다.
- 빠른 문법 확인을 위해 IDE에 컴파일러 내장
- 메모리내 코드 컴파일: 파일 시스템을 줄이고 연속적인 테스트를 할 수 있다.
이 토론 그룹에서 제기된 다른 이슈로는 의존성 관리와 인터페이스 관련 문제가 있다. 의존성 관리는 새 버전을 내놓는 기간과 관련이 있다. 컨트리뷰터들에 따르면, 현재 표준 라이브러리의 핵심 패키지를 수정해 새 버전을 내놓거나 보안 이슈에 대응하기 위한 새 버전을 내놓는 데 6개월이 걸린다. 한 컨트리뷰터는 "의존성 관리를 개선하면 표준 라이브러리에서 추출한 일부 패키지를 자체 프로젝트에 넣는 마이그레이션을 더 수월하게 할 수 있다"라고 썼다.
표준 라이브러리 인터페이스 사용의 어려움을 지적하는 목소리도 높다. 한 컨트리뷰터는 "io.Reader가 컨텍스트를 도입해 읽기 작업을 막는 것을 중단할 수 있으면 더 좋을 것 같다"라고 썼다. 고의 오류에 관한 토론도 진행중이다. 한 사용자는 "많은 고 사용자가 '오류'가 인터페이스라는 사실에 대해 혼란을 느끼거나 이해하지 못하고 있다. 이는 io.EOF 같은 구분점 오류를 마스킹하지 않고 오류에 더 많은 정보를 넣는 것을 어렵게 만들 수 있다"라고 썼다.
※ 본 내용은 한국IDG(주)(http://www.ciokorea.com)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒCIO. 무단전재 및 재배포 금지
[원문출처 : http://www.ciokorea.com/news/35165]
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 396555 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 386371 | 2020-10-27 |
7154 | "마이크로소프트, '정신 승리'가 필요할 때"…2017년 상반기 웹 브라우저 시장 분석 | 4669 | 2017-08-11 |
7153 | MS, 하이브리드 클라우드 ‘애저 스택’ 출시 | 4772 | 2017-08-10 |
7152 | 유니세프, 스마트계약 활용 추진 | 5031 | 2017-08-10 |
7151 | 공인인증서 대신 '블록체인'...내달 MTS에 도입 | 4637 | 2017-08-10 |
7150 | 구글 '고' 언어에서 개선해야 할 8가지 | 4342 | 2017-08-10 |
7149 | 시스트란, SKT ‘누구’에 인공신경망 기반 한영사전 서비스 개시 | 4835 | 2017-08-10 |
7148 | 최근 가장 인기있는 DBMS는 무엇?…포스트그레SQL 선전 | 5718 | 2017-08-10 |
7147 | 레드햇, 퍼마비트의 데이터 중복제거 기술 및 자산 인수 | 5518 | 2017-08-10 |
7146 | 카카오뱅크, 은행 IT에 새 이정표를 제시했다 | 4492 | 2017-08-10 |
7145 | [해외소식] 블리자드와 딥마인드가 스타2를 AI랩으로 바꿔놓았다 | 5270 | 2017-08-10 |
0개 댓글