
Swift를 배우려는 이유.
그 프로젝트를 진행하기 위해서는 iOS 어플리케이션을 개발해야 하는데, iOS 앱 개발은 Swift 혹은
Objective-C로 진행해야 했습니다.
개인적으로 Swift를 배워보고 싶었고 나름 iOS 개발쪽은 어떻게 진행이 되나 궁금했었기에, 이번기회에 Swift를 배워보려고 해요.
Swift는 어떤 언어인가?
Swift는 애플이 자신의 플랫폼과 Linux를 위해 개발한 일반적인 컴파일 언어입니다. 2014년 Objective-C의 대체제로 소개됐고, 읽기 쉽고 쓰기 쉬운 것을 기반으로 설계된 덕분에 표현력이 좋고 간결한 구문을 가지고 있어요.
Swift는 주로 애플의 플랫폼(iOS, macOS, watchOS, tvOS)에서 애플리케이션을 만들기 위해 사용됩니다. 서버 측 애플리케이션을 만드는 데도 사용되고, 직관적인 구문, 안정성, 성능 등의 이유로 전체 개발 커뮤니티에서 인기가 있는 편이에요. 한국의 경우는 아직 그렇게 활성화 된 편은 아니지만요. (그래도 점점 인지도가 늘어나는 편이랍니다.)
객체지향, 기능적, 명령형 프로그래밍을 지원하는 것과 같은 최신 구문 외에도, 자동 참조 카운팅(ARC)을 사용한 자동 메모리 관리, 인라인 어셈블리와 SIMD 지시어를 지원하는 저수준 작업과 같은 기능 등을 가지고 있어 누구나 사용하기 좋은 언어입니다.
Swift의 강점.
직관적인 문법
Swift의 구문은 읽기 쉽고 쓰기 쉬운 것을 기반으로 설계하고 있습니다. 일반적인 컴퓨터 언어와 유사한 요소를 가지고 있기 때문에, 이미 컴퓨터 언어를 배웠거나 사용해보았다면 쉽게 적응할 수 있어요.
높은 안정성
Swift는 오류가 발생할 가능성이 적고, 실행 시간에 예상치 못한 결과가 발생할 가능성이 적은 언어입니다. 이는 컴파일 시에 오류가 잡히고, 실행 시에도 오류가 발생할 가능성이 적은 자료형 체계, 예외 처리 시스템, 안정적인 메모리 관리 등의 요소가 있기 때문이에요.
안전 중심 설계
Swift는 안전하지 않은 코드의 전체 클래스를 제거해요. 변수는 사용전에 항상 초기화 시키고, 벼일과 정수에 대한 오버플로우 검사가 진행되며, 메모리는 알아서 관리해줘요. 이처럼 Swift는 보안과 관련된 문제가 생기지 않도록 많은 신경을 쓴 언어입니다.
빠르고 강력한 성능
Swift는 고성능 LLVM 컴파일러를 통해 최적화된 네이티브 코드로 컴파일되기 때문에, C와 C++과 같은 언어와 성능이 유사하거나 심지어 더 빠를 수 있어요. 인라인 어셈블리와 SIMD 지시어를 지원하기도 하기 때문에, 일부 상황에서 더욱 더 성능을 개선할 수 있습니다.
호환성
Swift는 C와 Objective-C를 포함한 다른 언어와 쉽게 통합할 수 있도록 설계되었습니다. 이는 다중 언어 애플리케이션을 만들거나 기존 코드베이스와 통합할 때 도움이 될 수 있어요.
이제 Swift를 배워볼까?
Swift를 프로젝트에 사용하기 위해서 먼저 문법과 같은 언어의 특성을 학습할 예정이에요. 그냥 보았을땐 주로 사용하던 Python 언어 보다는 처음 배운 프로그래밍 언어인 C언어와 더욱 유사한 느낌이 들어요. 둘을 섞은 느낌이라고 하는게 더 정확하려나요?
저는 언어를 학습할때 이론적인 부분보다는 나에게 필요한, 만들고 싶던 프로그램을 설계하고 그 프로그램을 만드는데 어떤것이 필요한가에 대해 알아보며 언어에 조금씩 스며드는 방식으로 공부해요.
그렇게 프로그램을 만들어 작동시켰을때 내가 원하던 기능이 잘 작동하는것 만큼 행복한게 없거든요. ☺️
그러니 이제 첫 걸음을 내딛어 볼까요?
- (차후에 프로젝트 설명을 만들게 되면 링크를 걸어야지..) [본문으로]