Swift 언어란?
Swift 는 애플이 출시한 새로운 프로그래밍 언어로 -> 코코아 터치와 코코아 앱 개발을 하기 위한 언어이다.
Swift 특징?
안전성(Safe)
엄격한 문법을 통해 실수 미연에 방지 -> 옵셔널, guard 구문, 강력한 타입 통제등
신속성(Fast)
미흡하지만 c언어 수준을 목표로 개발되었다. 성능 예측을 할 수 있고 유지할 수 있는 부분에 초점맞춰서 개발 되었다. 실행 속도의 최적화 뿐만이 아니라 컴파일러의 지속된 개량을 통해 더빠른 성능을 구현해 나가고 있다.
더나은 표현성(Expressive)
사용하기 편하고 좋은 문법 구사하려는 노력을 함 - > 현대적이고 세련된 문법을 구현하고 계속된 업데이트를 함
구체척 특징?
1. 메모리 관리가 간단한다.
Memory Leak원인을 찾기 어렵기 때문에 디버깅에 많은 시간과 노력이 필요하다. 하지만 스위프트는 타입 지정이 필요 없고 ARC를 사용하기 때문에 메모리 관리를 위한 노력을 덜 수 있고 로직에 집중 할 수 있다.
**ARC ? : 인스턴스가 더이상 필요 없을 때 클래스 인스턴스를 자동적으로 메모리에서 해제 해준다.
2. 안전한 코딩 설계를 할 수 있다.
스위프트는 안전한 프로그래밍을 지향한다. 반면 현대언어는 유연성을 강조한 나머지 의도하지 않는 동작으로인해 디버깅이 어려운 경우가 많다 애플은 이것을 미연에 방지하고자 노력했고 변수는 반드시 사용되기전에 초기화를 하거나 , 배열의 오버플로우를 검사하는 등 문제가 발생할 여지가 있는 부분을 미리 체크하고 예외를 발생하는 함수나 메소드에 대해서 반강제적으로 처리하도록 하는 안전한 스위프트 구현을 하고 있다.
3. 신속함
성능을 예측할 수 있고 일정한 수준으로 유지할 수 있음
LLVM으로 컴파일 되어 실행 속도의 최적화 뿐만이 아니라 빠른 컴파일 성능을 구현해나가고 있다.
**LLVM ? : 스위프트의 컴파일러
4. 실행결과 바로 알 수 있는 playground 기능
playground기능으로 개발 적용하기전 검증할 수있다.
5. objective-c와 같이 사용가능
6. 스위프트 코드를 리눅스에서 작성하고 컴파일 할 수 있다.
===>결론: 진입장벽이 낮고 생산성과 성능이 높은 언어!
'프로그래밍 언어 > Swift' 카테고리의 다른 글
swfit 실습 day02 (0) | 2020.02.01 |
---|---|
swift 기본 문법 (0) | 2020.01.31 |
IOS Delegate 패턴 (0) | 2018.11.25 |
swift 기본 문법 (0) | 2018.11.19 |