적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Swift iOS 앱 개발/Swift

Swift 언어에 대하여

hongssup_ 2023. 4. 13. 19:41
반응형

About Swift

https://www.swift.org/about/

Swift의 목표는 시스템 프로그래밍에서 모바일 및 데스크톱 앱, 클라우드 서비스로 확장하는 데 이르기까지 사용 가능한 최상의 언어를 만드는 것. 가장 중요한 점은 개발자가 올바른 프로그램을 작성하고 유지하기 쉽도록 설계되었다는 것. 이러한 목표를 달성하기 위해 Swift 코드는 다음과 같이 작성되어야 한다.

Safe. 

Opting for safety sometimes means Swift will feel strict, but we believe that clarity saves time in the long run. 

Fast.

Swift는 C 기반 언어를 대체하기 위한 것이기 때문에, 대부분의 작업에서 해당 언어와 성능이 비슷해야 한다. 빠르기만 한 것이 아니라 성능 또한 예측가능하고 일관성있어야 한다. 새로운 기능을 가지는 다른 언어들도 많지만, 빠르기까지 하는 건 드물다. 

Expressive.

 

특징

Swift supports inferred types to make code cleaner and less prone to mistakes. (let number = 42 요런거 처럼 타입을 명시하지 않아도 알아서 타입을 추론해준다. type inference) Memory is managed automatically. Don't need to type semi-colons. 

- Closures unified with function pointers 함수 포인터로 통합된 클로저 (??)

- Tuples and multiple return values

- Generics

- Fast and concise iteration over a range or collection

- Structs that support methods, extensions and protocols

- Functional programming patterns, e.g. map and filter

- Powerful error handling built-in

- Advanced control flow with do, guard, defer and repeat keywords.

 

 

Documentation - The Swift Programming Language

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/aboutswift

 

safe, fast and interactive programming language. 안전하고 빠른 대화형 프로그래밍 언어 

The compiler is optimized for performance and the language is optimized for development, without compromising on either. 컴파일러는 성능에 최적화되어 있고, 언어는 개발에 최적화되어 있다. 

 

Swift defines away large classes of commom programming errors by adopting modern programming patterns:

최신 프로그래밍 패턴을 채택하여 일반적인 프로그래밍 오류들의 가능성을 날려버린다(?)

- Variables are always initialized before use. 변수는 사용하기 전에 항상 초기화된다.

- Array indices are checked for out-of-bounds errors.

- Integers are checked for overflow.

- Optionals ensure that nil values are handled explicitly. 옵셔널은 nil 값이 항상 명시적으로 처리되도록 해준다. 

- Memory is managed automatically. 메모리는 자동으로 관리된다. ARC

- Error handling allows controlled recovery from unexpected failures. 에러 처리를 통해 예기치 않은 오류로부터 복구를 제어할 수 있다(?)

 

Swift is a type-safe language. It performs type checks when compiling your code. 

Type inference is particularly useful when you declare a constant or variable with an initial value. 

Swift always chooses Double (rather than Float) when inferring the type of floating-point numbers.

참고 ) Why a double is preferred over float? 

 

 

 

728x90
반응형