Swift 입문 | Swift 사용 준비 | Swift(스위프트)란?

Swift는 2014년 6월에 개최된 애플 개발자 컨퍼런스에서 갑자기 발표된 완전히 새로운 프로그래밍 언어이다.

기존에는 Mac OS X 및 iOS (iPhone과 iPad) 앱 개발은 “Objective-C (오브젝트-씨)“라는 프로그래밍 언어를 사용했었다. 이는 Mac OS X의 성립 유래에 따른다.

Mac OS X은, 실은 그 이전에 있었던 ‘NeXT STEP’라는 OS를 기반으로 하고 있다. NeXT STEP은 원래 Objective-C라는 강력한 객체 지향 언어를 개발했을 때, 이 Objective-C에 의한 프로그램 작성 및 실행을 위한 플랫폼으로 만들어진 것이다. 즉, Objective-C와 NeXT STEP은 일심 동체에서 이 둘은 거의 같은 것으로 해도 좋을 정도로 밀접한 관계에 있었다. 이 NeXT STEP을 개발하고 있던 곳이 당시 NeXT사였고, CEO가 스티브 잡스였다.

스티브 잡스가 애플에 복귀했을 때,이 NeXT STEP도 함께(?) 애플로 이적하고 이를 바탕으로 “Mac OS X"가 만들어 졌다. 물론 외관은 Mac 다워 졌지만, 내용은 NeXT STEP이었다. 그래서 Mac OS X도 “Objective-C 프로그램을 만들어 움직인다"것이 전제가 되어 있었다.

이 대전제는 사실 지금도 바뀌지 않는다. Mac OS X (그리고, 이를 바탕으로 만들어진 iOS)는 Objective-C을 위해 준비된 프레임 워크 내부에 포함되어 있으며,이를 이용하여 모든 프로그램이 움직이고 있다. “Mac 또는 iPhone의 개발은 왜 Objective-C가 아니면 안되는 걸까” 이유는 이런 것이었다. 원래 “Objective-C로 만드는 것을 전제로 설계된 OS “이기 때문이다.

이 Objective-C는 솔직히 매우 이해하기 어려운 언어이다. 이것은 C언어에 Smalltalk는 객체 지향 언어의 원조라고도 말할 수있는 것을 결합시킨 같은 언어로 하나의 언어에서 두 언어의 문법이 동거하고 있는 것 같은 이상한 문법으로 되어 있다. C의 또 다른 개체 언어 발전형인 C++, 이것에 문법이 가까운 Java, C # 등의 언어가 주류가 됨에 따라 이들로 부터 벗어난 Objective-C는 “보통의 언어와 다르고, 배우기 어려운 언어"라고 인식되어 갔다.

Mac 또는 iPhone이 붐이 되어 많은 개발자가 이러한 응용 프로그램을 만들려고 모여들었다. 하지만 이 “Objective-C의 첫인상 어려움"에 질리게 되다. 왜 좀 더 이해하기 쉬운 언어를 사용할 수없는 거야? 라고 많은 개발자들이 생각하게 된다.

이러한 상황은 애플에게도 바람직한 것은 아니다. 그래서 Objective-C와는 다른 새로운 “배우기 쉽고 알기 쉬운 사용하기 쉬운 언어"등장하게 된 것이다. 그것이 “Swift"이다.