본문 바로가기

Programming/Swift for Beginners

[Swift] 001_Introduction(간략한 swift 소개) for beginners


Swift는 애플이 출시한 새로운 프로그래밍 언어로 iOS와 Mac OS용 앱을 개발하기 위한 언어이며 모바일뿐만 아니라 데스크탑 컴퓨터를 통틀어 최고의 컴퓨터 언어가 될 것으로 생각한다. Swift 는 배우기 어려운 프로그래밍 언어인 Objective-C와 비교하면 배우기 쉽고 사용하기 편한 언어라는 장점이 있다. 애플은 오랫동안 자사 플랫폼의 프로그래밍 언어로 Objective-C를 주로 사용해 왔지만 Swift를 선보이고 나서 Swift가 주력 프로그래밍 언어가 되어 가고 있는 중이다. 이처럼 배우기 쉬울 뿐만 아니라 매우 강력한 도구인 Swift를 조금씩 올려보려고 한다.


여느 프로그래밍 언어와 마찬가지로 Swift도 샘플로 소개되는 예제를 직접 작성해 보는것이 무엇보다 실력향상에 있어서 중요하다고 본다. 직접 입력함으로써 전반적인 이해를 얻을 수 있기에 시간을 내서 모든 소스 코드를 직접 입력해 보시라.

Swift

Swift는 처음부터 강력하지만 쉽게 배울 수 있도록 개발된 프로래밍 언어이다. Swift는 애플이 iOS와 Mac OS 생태계를 이루고 있는 앱의 지속적인 성장을 위해 선택한 언어이기 때문이다.


Xcode

Xcode 는 애플의 앱을 개발하는 데 최고의 도구이다. Xcode는 Swift 코드를 iOS 또는 Mac OS에서 실행 가능하게 해주는 데 필요한 편집기, 디버거, 프로젝트 매니저, 컴파일러 툴 체인을 갖추고 있다. 애플의 Mac App Store에서 Xcode를 내려 받아 설치할 수 있다.

LLVM

Xcode 내에서 실행되지만 LLVM은 Swift의 컴파일러이자 애플 기기를 가동시켜 프로세서가 필요로 하는 비트와 바이트로 변환해 준다.

The REPL

Read-Eval-Print-Loop의 약어인 REPL은 명령형 툴이며 Swift의 코드를 신속하게 테스트하는데 사용가능하다. Mac OS의 Terminal 애플리케이션에서 실행할 수 있다.

PLAYGROUNDS

Swift는 프로그래머들이 사소한 테스트 때문에 코드를 빌드하고 실행하는 과정에서 시간을 낭비하는 일 없이 즉시 코드를 테스트하고 결과를 볼 수 있도록 하는 혁신적인 도구인 플레이그라운드(playgrounds)를 지원한다.



Introducing Swift

언어는 정보를 공유, 교환, 조합하는 수단이다. 우리는 친구, 가족, 직장 동료에게 언어를 통해 의사를 전달한다. 컴퓨터 시스템 간에 의사소통을 하는 기본적인 원리도 인간과 크게 다르지 않다. 인간의 언어처럼 컴퓨터 언어도 새로운 것이 아니다. 컴퓨터 언어는 오랫동안 다른 형태로 우리 곁에 존재하고 있었다. 컴퓨터 언어의 존재로 인해 우리는 지금껏 컴퓨터가 특정 작업을 수행할 수 있도록 의사소통하고 지시를 내릴 수 있었다. 

지금까지 바뀌고 진화한 것은 컴퓨터 언어 그 자체였다. 초창기 컴퓨터 선구자들은 0과 1로 컴퓨터에 작업을 지시하는 것이 지루한 작업이고 에러가 쉽게 발생한다는 것을 알고 있었다. 컴퓨터 언어를 처리하고 해석에 필요한 프로그래밍 언어의 문법이 풍성해졌고 C와 C++ 언어 같은 컴퓨터 언어가 현대 컴퓨터 애플리케이션의 공통 언어로 자리 잡았다.

C와 C++ 언어를 주요 컴퓨팅 플랫폼에서 더 많이 채택하고 사용하는 가운데 애플은 Objective-C라는 조금 다른 언어를 소개하였다. C 언어 기반에서 만들어진 Objective-C는 프로그래머의 툴 박스에 객체 지향 설계 방법과 기존에 사용하던 프로그래밍 언어의 강점만을 조합해서 만들었다. 오랫동안 Objective-C는 Mac 컴퓨터와 iOS기기 등 애플 생태계의 기반이 되는 애플리케이션이었다.

그러나 Objective-C의 강점에도 불구하고 Objective-C는 이름에서 알 수 있듯이 C라는 짐을 지고 있다. C 언어를 잘 아는 사람들에게는 C 언어 기반이 방해된다는 것은 아니다. 그러나 Mac과 iOS 플랫폼을 사용하기 시작한 많은 개발자는 최근 좀 더 이해하기 쉽고 개발하기 쉬운 언어가 나오기를 기대했었다.

이런 개발자들의 바람에 애플이 Swift로 답을 했고 더불어 개발 분야 진입 장벽도 낮추었다. 이제 앱을 개발하기는 더 쉬워졌고 앱이 해야하는 일을 표현하는 능력은 좀 더 "쉬운" 단계로 더 다가섰다.