Swift는 애플의 iOS 와 macOS를 위한 프로그래밍 언어로 2014년 6월2일 WWDC에서 처음 소개되었습니다
기존의 애플 운영체제용 언어인 Objective-C와 함께 공존할 목적으로 만들어졌고 , Objective-C와 마찬가지로 LLVM(Low Level Virtual Machine)으로 빌드되고 같은 런타임을 공유합니다.
Objective-C에는 없는 현대 프로그래밍 언어가 갖고있는 기능들을 많이 포함시켰으며 코드 내부에서 C나 Objective-C를 섞어서 프로그래밍 하거나 스크립트 언어처럼 실시간으로 상호작용하며 프로그래밍 할 수도 있습니다.
스위프트의 특징
애플이 최초로 스위프트를 발표할 때 스위프트 언어의 특징을 Safe , Modern , Powerful 이라고 발표했습니다
하지만 오픈 소스로 전환하면서 Safe , Fast , Expressive 로 변경하여 발표하고 "스위프트는 보다 직관적이고 배우기 쉬운 언어" 라고 소개했습니다.
애플이 소개한 스위프트 언어의 특징을 하나씩 알아보겠습니다.
안전성(Safe)
스위프트는 안전한 프로그래밍을 지향합니다
- 프로그래머가 저지를 수 있는 실수를 업격한 문법을 통하여 버그를 미연에 방지하고자 노력함.
- 때로는 강제적이라고 느낄수 있지만 문법적 제재는 실수를 줄이는데 도움이 됨.
- 옵셔널이라는 기능을 비롯하여 guard구문, 오류 처리, 강력한 타입통제 등을 통해 안전한 프로그래밍을 구현함.
신속성(Fast)
- C언어를 기반으로한 C,C++,Objective-C와 같은 프로그래밍 언어를 대체하려는 목적으로 만들어짐.
- 부분적으로 미흡하지만 성능 또한 C언어 수준을 목표로 개발.
- 성능을 예측할수 있고, 일정한 수준으로 유지할 수 있는 부분에 초점을 맞춤
실행 속도의 최적화 뿐만 아니라 컴파일러의 지속된 개량을 통해 더 빠른 컴파일 성능을 구현해 나가고 있음.
더 나은 표현성(Expressive)
스위프트는 수많은 프로그래밍 언어의 장단점을 참고하여 더 사용 하기 편하고 보기 좋은 문법을 구사하기 위해 노력했습니다.
- 개발자들이 원하던 현대적이고 세련된 문법을 구현할 수 있음
- 여러가지 프로그래밍 패러다임을 채용한 다중 패러다임 프로그래밍 언어
- 함수형 프로그래밍 패러다임 + 프로토콜 지향 프로그래밍 패러다임
다중 패러다임
- 명령형 객체지향 프로그래밍
- 함수형 프로그래밍
- 프로토콜 지향 프로그래밍
스위프트 사용 환경
애플에서 공식 지원하는 Xcode의 플레이 그라운드와 REPL(Read-eval-print-loop)가 가장 편리함
Xcode(플레이그라운드)
Xcode란 macOS에서 동작하는 애플의 통합 개발 환경입니다
Xcode의 기능 중 하나가 플레이 그라운드로 별도의 프로젝트 생성 없이 스위프트 코드를 실행할 수 있는 스위프트 코딩 환경입니다.
기본 문법 연습에서부터 복잡한 코드 테스트까지 다양한 기능을 수행할 수 있습니다.
정리
스위프트는 만들어진지는 얼마 되지 않았지만 빠른 속도로 발전하고 있는 언어입니다.
애플은 스위프트가 배우기 쉬운 언어라고 발표하였지만 , 기존 언어의 개념들 때문에 초보자가 배우기에 쉽지만은 않을것이라고 생각됩니다.
그러나 크레이그 페더리기(Craig Federighi) 애플 소프트웨어 엔지니어링부 시니어 부사장이 "스위프트는 향후 20년간 쓰일 주류 언어가 될 것" 이라고 말한만큼 매력적이고 강력한 언어라고 생각합니다.
'Swift' 카테고리의 다른 글
Swift 기초 문법 / 컬렉션 타입 (0) | 2021.06.05 |
---|---|
Swift 기초 문법 / 변수 , 상수 , 기초 데이터 타입 (0) | 2021.05.31 |