탄생
Swift는 애플이 만든 프로그래밍 언어이다.
2014 WWDC에서 최초로 깜짝 발표했다.
애플 생태계 소프트웨어를 위한 언어로 탄생했다.
버전
현재 기준(24.01.11) Swift 5.9.2 버전까지 나왔다.
각 버전별 주요 업데이트는 다음과 같다.
Swift 2: 오픈 소스 프로젝트로 전환했다.
Swift 3: 플랫폼 간 호환이 가능케 했다. (예컨대 macOS에서 작성한 코드를 Linux에서 작동시킬 수 있다.)
Swift 5: ABI(Application Binary Interface)의 안정화가 이루어졌다. Swift 5 이후 컴파일러는 ABI를 공유하기 때문에, 어떤 버전에 대해서도 실행 가능하다.
Swift 5.1: LSP(Language Server Protocol)이 도입되었다. 다른 플랫폼의 IDE에서도 구문 하이라이트, 자동완성, 툴팁 등의 기능을 작동케 하는 도구이다.
특징
애플은 Swift를 처음 소개할 때 Objective-C without the C 라고 말했다.
그러나 반은 맞고, 반은 틀리다고 한다.
장점
- Swift는 Javascript, Python과 같은 스크립트 언어가 아니라, C와 같은 컴파일 언어이다. LLVM 컴파일러를 통해 기계어로 번역된다. 그만큼 빠르다.
- 컴파일 시간에 오류를 잡아내기 때문에, 런타임 오류가 줄고, 앱의 안정성이 높다.
- 동시에 스크립트 언어의 작성 편의성을 최대한 가져왔다.
- 코드 작성에 있어 안전 장치가 많다.
- 함수형, 객체 지향, 프로토콜 지향 프로그래밍이 모두 가능하다.
단점
- 오픈 소스 프로젝트이지만, 사용처는 애플 생태계 소프트웨어로 극히 제한된다.
- concurreny에 대한 기능이 부족하다. GCD(Grand Central Dispatch, aysnc/await 등의 도구가 있다.
- 안전 장치가 매우 많다. 학습의 초기라면 작성이 어렵다.
- 빠른 실행 시간과 작성 편의성을 얻은 대신, 컴파일 시간이 길다.
참고
<Mastering Swift 5.3>, Jon Hoffman, 6th Edition
Chapter 1: Taking The First Steps with Swift
'Dev > Swift' 카테고리의 다른 글
[Swift] 타입(Type)의 종류 (0) | 2024.02.04 |
---|---|
[Swift] class와 struct의 차이 (메모리를 중심으로) (2) | 2024.01.25 |
Swift 문법 (3) - Tuple, Enumeration, Operators (1) | 2024.01.14 |
Swift 문법 (2) - Variables, Constants, Strings, Types (1) | 2024.01.14 |
Swift 문법 (1) - Swift 문법 특징 (0) | 2024.01.11 |