Swift 언어의 탄생과 진화 요약
이 요약은 2014년 Swift 언어 발표부터 현재까지의 주요 발전 과정과 철학을 다룹니다.
1. Swift의 충격적인 등장 (2014년)
- 발표 순간: 2014년 WWDC에서 애플의 크레이그 페더리기(Craig Federigi)가 "C의 짐이 없는 Objective-C"를 목표로 Swift를 공개했습니다 [0:00-0:33].
- 당일 출시: 연구 프로젝트가 아닌, 당일 다운로드 가능한 완성된 언어로 출시되어 개발자들에게 큰 충격을 주었습니다 [0:30-1:03].
2. Swift의 기원과 핵심 철학
- 배경: 2010년, LLVM을 만든 크리스 랩너(Chris Lapner)가 "안전하고, 명확하며, 빠른" 언어를 만들기 위해 개인적으로 실험하며 시작했습니다 [1:01-1:33].
- 협력: 랩너와 더그 그레거(Doug Greger), 존 맥콜(John McCall) 등의 엔지니어들이 합류하여 언어 설계를 구체화했습니다 [1:32-2:05].
- Objective-C 호환성 준비: 애플은 Swift 출시 전, ARC (자동 참조 카운팅) 도입 등 Objective-C에 점진적인 개선을 가하며 개발자들을 새로운 패러다임으로 유도했습니다 [2:03-2:36].
3. 설계 사상 및 영향
Swift는 여러 언어의 장점을 융합했습니다 [2:35-3:37]:
* Objective-C: Coco와의 상호 운용성 및 동적 기능 계승.
* 함수형 언어 (Haskell, ML): 불변성(immutability) 및 옵셔널(Optionals)을 통한 안전성 흡수.
* Rust: 가비지 컬렉션 없이 메모리 안전성을 추구하는 방식에서 영감.
* Python, Ruby: 높은 가독성과 표현력이 뛰어난 구문 차용.
4. 초기 혼란과 성숙 (2015년~)
- 초기 불안정성: 초기 버전들은 구문 변경이 잦았으며, 2016년 Swift 3에서 대대적인 API 개편이 있었습니다 [5:42-6:14].
- 오픈 소스 전환: 2015년 12월 3일, 애플이 Swift를 오픈 소스화하면서 전 세계 개발자들이 언어 설계 과정에 참여하게 되었습니다 [6:12-6:46].
- 주요 이정표:
- Swift 4 (2017):
Codable
도입으로 모델 매핑 간소화 [6:44-7:17]. - Swift 5 (2019): ABI 안정성 확보. 앱에 런타임 포함 불필요, 앱 크기 감소 및 안정성 향상 [7:16-7:49].
- Swift 4 (2017):
5. 플랫폼 확장 및 동시성 혁신
- 플랫폼 확장: Windows 지원 및 서버 사이드(Vapor 등)에서의 활용이 시작되었습니다 [7:16-8:07].
- 동시성 혁신 (Swift 5.5, 2021):
async/await
,Actors
및 구조적 동시성(structured concurrency)이 도입되어 복잡한 비동기 코드를 안전하고 명확하게 작성할 수 있게 되었습니다 [7:47-8:20].
Key Takeaways (핵심 시사점)
- 안전성 우선: Swift는 성능과 안전성 사이의 타협을 거부하고, 언어 자체에 안전 기능을 내재화하는 것을 목표로 했습니다 [8:49-9:33].
- 점진적 진화: 초기 마이그레이션의 고통에도 불구하고, 오픈 소스화를 통해 개발자 커뮤니티와 함께 언어를 지속적으로 성숙시켜 왔습니다 [6:12-6:46].
- 선언적 사고방식: Swift UI와 함께, Swift는 단순한 앱 개발 언어를 넘어 디자인 철학 자체를 변화시키고 있습니다 [7:16-7:49].