What's Swift ?
"손쉽게 학습할 수 있는 강력한 프로그래밍 언어." "Apple Developer" 홈페이지에서 Swift를 소개하는 문장이다. Apple은 Swift의 특징을 Safe,Fast,Expressive 라 발표했다. 그래서 스위프트가 뭔데?
swift를 검색하면, 칼새, 신속한 등의 의미가 나온다. 좀 빠른가 보다
Safe, Fast, Expressive
- Safe(안전성)
스위프트는 안전한 프로그래밍을 지향한다.
- 프로그래밍 중에 개발자가 실수할 수 있는 부분을 엄격한 문법을 통해 실수를 미연에 방지한다. 이러한 문법적 제재는 강제적이라 느낄 수 있지만 실수를 줄이는 데에 큰 도움이 된다. 이를 통해 버그를 수정하거나 실수를 찾아내는 시간을 절약할 수 있다.
- 옵셔널이라는 기능부터, guard 구문, 오류처리, 강력한 타입통제등을 통해 스위프트는 안전한 프로그래밍을 지향한다.
- 변수는 사용 전에 항상 초기화 되고, 배열 및 정수에 대한 오버플로우 검사가 수행되며 메모리는 자동으로 관리된다.
- 메모리에 대한 독점적인 접근을 통해 실수를 방지한다. - Fast(신속성)
스위프트는 C언어 기반의 C,C++,Objective-C등의 언어를 대체하기 위해 만들어졌다.
- 고성는 LLVM 컴파일러 기술을 통해 최신 하드웨어를 최대한 활용할 수 있도록 최적화된 기본코드로 변환된다.
- C언어 수준의 성능을 목표로 개발되어 성능을 예측할 수 있고 일정 수준으로 성능을 유지할 수 있게 만들어졌다.
- 실행속도의 최적화 뿐 아니라 컴파일러의 개량을 계속하여 더 빠른 컴파일 성능을 구현해 나가고 있다.
- 클래스, 프로토콜, 제네릭과 같은 객체 지향 기능을 제공한다. - Expressive(더 나은 표현성)
스위프트는 기존의 언어를 참고해 개발자들이 원하느 현대적이고 보기 좋은 문법을 구사한다.
- 스위프트는 명령형 프로그래밍 패러다임, 객체지향 프로그래밍 패러다임 을 기반으로 함수형 프로그래밍 패러다임, 프로토콜 프로그래밍 패러다임을 강조한다.
- C++과 Java와 같은 명령형, 객체지향 프로그래밍 패러다임에 함수형, 프로토콜 프로그래밍 패러다임을 접목 시켰다고 생각할 수 있다.
What can I do with swift
스위프트는 애초에 애플의 플랫폼을 위한 애플리케이션 제작을 목적으로 만들어 졌다.
- 스위프트를 사용하는 웹서버 애플리케이션 제작 (스위프트용 프레임워크가 생겨나고 있다. 다양한 프레임 워크가 생겨날 것을 예상된다.)
- 리눅스, 맥 환경에서 간단히 사용할 프로그램 제작 (스위프트는 오픈소스여서 다른 OS에서도 스위프트를 위한 컴파일러를 제공하면 다른 곳에서도 스위프트를 사용할 수 있다.)
Where can I use swift
스위프트가 오픈소스로 전환된 후 로는 매킨토시 컴퓨터 및 macOS가 아니더라도 사용할 수 있다.
하지만 스위프트를 연습하고 익히기에는 mac환경에서 제공하는 Xcode의 플레이 그라운드와 REPL(Read- eval-print-loop)이 가장 유리하다.
참고 : https://blog.yagom.net/526/
Swift란 어떤 언어인가? - yagom's blog
yagom's blog Swift란 어떤 언어인가?
blog.yagom.net
https://developer.apple.com/kr/swift/#safety
Swift - Apple Developer
Swift는 iOS, macOS, tvOS 및 watchOS에서 사용할 수 있는 강력하면서도 직관적인 프로그래밍 언어입니다. Swift 코드 작성은 대화식으로 재미있고, 구문은 간결하면서도 표현력이 풍부하며, Swift에는 개
developer.apple.com
'IOS > swift 기초 문법' 카테고리의 다른 글
[Swift 기초 문법] 1.5 함수 ( function ) (0) | 2022.07.05 |
---|---|
[Swift 기초 문법] 1.4 (Array, Dictionary, Set) (0) | 2022.07.04 |
[Swift 기초 문법] 1.3 Any, AnyObject, nil (0) | 2022.07.03 |
[Swift 기초 문법] 1.2 상수와 변수, 기본 데이터 타입 (0) | 2022.07.03 |
[Swift 기초 문법] 1.1 명명법, 콘솔로그, 문자열 보간법 (0) | 2022.06.30 |