본문 바로가기

지식

프로그래밍 언어 스위프트란 무엇?오브젝티브C와 비교한 장점 및 단점들

애플의 아이폰용 IOS 나 맥OS 어플을 개발하려면 오브젝티브 C를 익히면 되는 줄 알았더니 이것말고도 스위프트라고 하는 또다른 프로그램 언어가 있었다. 2014년도에 애플이 아이폰, 맥, 애플티비등 애플 기기에서 구동되는 어플 개발을 위해 자체적으로 개발한 프로그래밍 언어라고 한다.

 

애플이 오브젝티브 C를 대체할 언어로 대폭 밀어주고 있는 언어라는데 아직까지는 범용으로 오브젝티브C를 이용할 수 있게 하고 있지만 사실상 언제 밀려날지 모르는 뒷방 늙은이 처지에 놓인 것 같다.

 

찾아보니 스위프트의 장점이 정말 많았다. 오브젝티브 C에 비해 가독성이 높고 배우기가 쉬운편이라 3~4개월 정도면 왠만한 어플은 만들어 볼 수 있다고 한다. 라이브러리도 지속적으로 나오고 있고, 오브젝트 C 라이브러리를 가져다 이용할 수도 있기 때문에 라이브러리가 부족할 걱정을 할 필요가 없다.

 

또한 거의 C++과 비견될 만큼의 속도를 보여준다고 하는데 이건 하드웨어의 사양이 많이 높아진 만큼 그다지 큰 의미는 없어보인다.  공개된지 불과 5년 밖에 안된 프로그래밍 언어라고 하기엔 학습할 수 있는 자료의 양이 풍부하다는 점 또한 매력이라고 할 수 있다.

 

많은 프로그래머들이 스위프트로 갈아타고 있는 모습인데 거기에는 위의 이러한 장점들도 영향이 있었을 테고 애플이라는 대기업에서 차세대 언어로서 전폭적인 지원을 하고 있는 것 역시도 많은 영향을 미쳤을 것이다.

 

프로그래밍 언어 이용 순위를 보면 스위프트는 오브젝티브 C 와 거의 같은 10위 권에 머물러 있는데 5년 밖에 안된 언어라는 점에서 매우 놀라운 쾌거?라고 할 수 있다. 

 

만약에 실무자로서의 취업을 위한다면은 아직까지는 오브젝티브C로 된 어플들이 많기 때문에 이들 어플의 유지 및 보수를 해야 되서 오브젝티브 C 를 익혀야 하겠으나 자신만의 프로젝트를 하는 사람이라면 대세인 스위프트를 배우는 것이 좋을 것이라고 한다.

 

구글 조차도 스위프트 언어에 매력을 느껴서 안드로이드 개발 언어를 스위프트로 변경할지에 대한 논의를 진행한적이 있다고 한다. 만약에 이것이 실현 된다면 스위프트 만으로 IOS와 안드로이드 어플을 동시에 개발 할 수 있는 시대가 도래하게 되니 모든 하이브리드 어플 개발툴의 사망 선고가 내려질 것이다. 하지만 구글이 자바 생태계를 포기하게 되는 것이기 때문에 실현 가능성은 그다지 높지 않다고 한다.

 

모든 프로그래밍 언어가 그렇듯이 스위프트도 장점만 있는 것이 아니라 단점도 있는데 워낙 빠른 속도로 업데이트가 되다보니 이전 버전으로 만들어진 어플을 최신으로 버전업하기 위한 수정작업을 계속 해줘야되고 그 작업이 상당히 번거로워 한번 버전업 하는데에만 수일이 걸린다고 한다. 하지만 이것은 애기 언어가 빠르게 어른 언어로 성숙되는 과정에서 거쳐야되는 통과 의례라고 할 수 있고 일정 버전에 도달하면 더이상 이렇게 수차례의 버전업을 통한 스트레스는 크지 않을 것이다. 또한 컴파일 시간이 느리다는 점이 있는데 이것은 최신 버전에서 대폭 개선되었다고 한다.

 

아무튼 결론은 오브젝티브 C 굿바이~ 스위프트 하이~