Offcanvas

모바일 / 애플리케이션

'벌써?' 애플 '스위프트 4.0' 밑그림 나왔다

2016.10.21 Paul Krill  |  InfoWorld
스위프트(Swift) 3.0 버전이 나온지 1달 밖에 안됐지만 애플은 벌써 4.0 버전 구상을 다듬고 있다. 스위프트 4.0은 내년에 공개될 예정이다. 기트허브에 공개된 관련 문서를 보면, 4.0 버전의 개선은 메모리 소유 모델의 탄력성부터 기호열까지 다양하다. 특히 소스 안정성과 표준 라이브러리를 위한 ABI(Application Binary Interface) 안정성을 높이는 데 초점을 맞추고 있다.



이를 위해 애플은 스위프트 4 릴리즈를 2단계로 구분했다. 1단계는 근본적인 변화가 필요없는 기능을 주로 구현한다. 현재 기능의 ABI가 그대로 유지되며 표준 라이브러리에 대한 ABI도 크게 바뀌지 않는다. 1단계의 주요 개발 목표 중 하나는 다른 언어 버전에 대한 코드 기반을 더 안정적으로 지원하는 것이다. 이를 통해 스위프트는 자체적으로 계속해서 신기능을 추가하면서도 이전 버전과의 호환성을 갖게 된다.

또다른 주요 목표는 탄력성(resilience)이다. 즉 안정된 ABI를 유지하면서도 API(Application Programming Interface)에 새로운 기능을 추가할 수 있도록 하겠다는 것이다. 이런 탄력성을 구현하면 '깨지기 쉬운 기반 클래스(fragile base class)' 문제도 해결할 수 있다. '깨지기 쉬운 기반 클래스' 문제는 일부 객체 지향 언어에서 ABI를 변경하지 않은 채 API 형식 변화를 기술할 때 종종 발생한다.

애플은 또한 표준 라이브러리의 제네릭(Generics)도 개선하고 있다. 기트허브의 문서를 보면, 이 라이브러리에는 언어의 결함을 방지하기 위한 다양한 수단이 포함된다. 이런 방지 장치가 없으면 기반 언어의 결함이 그대로 남아 결국 안정적인 ABI에도 영구적으로 존속하게 되기 때문이다. 이를 위해 다뤄야 할 부문은 조건부 일치, 회귀 프로토콜 요건 등인데, 만약 이들이 표준 라이브러리에 사용될 경우 다른 기능이 이 범주에 포함될 가능성도 있다.

시스템 프로그래머들은 고성능 애플리케이션의 메모리 소유 모델로 옵트인 사이클론/러스트 모델을 원하고 있다. 기트허브에 공개된 문서를 보면, 이 기능은 앞으로 ABI에 적용될 예정이다. 단, 'inout', 'addressors' 같은 저수준 언어부터 표준 라이브러리에 대한 영향까지 다뤄야 할 것이 많아 1단계에서 소화하기에는 쉽지 않을 전망이다. 이러한 변화가 ABI에 어떤 영향을 줄 것인지 전반적으로 판단하기 위해서는 더 포괄적인 설계가 필요하다는 지적이다.

애플 측은 ABI의 안정성을 강화하기 위해 런타임과의 상호작용을 포함해 코드 생성 기능을 향상할 필요가 있다고 설명한다. 이런 변화는 스위프트의 성능과 미래에 큰 영향을 줄 것으로 보인다. 한편 스위프트 4.0 개발의 2단계는 1단계 개발이 마무리되고 시작된다. 내년 봄 정도부터 진행될 것으로 예상된다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.