[Swift/스위프트] Swift: 새로운 언어의 탄생

DDang·2023년 3월 20일
0

[Swift/스위프트]

목록 보기
1/3
post-thumbnail

이제 개발자들의 선택은 'Swift'가 되지 않았을까?

지금까지 iOS 개발자들은 앱 개발을 위해서 Objective-C와 Swift 두 언어를 선택해 개발해왔습니다.
Swift는 2014년에 Apple에서 개발했지만, Objective-C는 옛날부터 존재해 왔으며 오랫동안 iOS 개발자들이 가장 먼저 선택했습니다.
Objective-C부터 Swift까지 가볍게 다뤄보려 합니다.

Objective-C

Objective-C는 iOS 및 Mac OS X 앱을 개발하는 데 사용되는 객체 지향 프로그래밍 언어입니다. 이름에서 파악할 수 있다시피 C언어를 기반으로 두고 있어 C언어가 할 수 있는 문법들을 모두 사용할 수 있습니다. Objective-C의 주된 이점은 동적으로 코드를 로드하여 작고 가벼운 프로그램부터 크고 복잡한 프로그램을 개발할 수 있습니다.

Objective-C의 탄생과 발전

Objective-C 언어가 개발되고 현재 지금까지 Apple 프로그램 개발에 활용되게 된 배경을 살짝 설명하자면, 1980년도에 StepStone 회사에서 출시되었습니다. 더욱 파고들어 따져보자면 Objective-C는 C언어와 Smalltalk라는 언어로부터 영향을 받아 설계되어 개발되었고 이후, NeXT라는 운영체제의 주요 언어로 채택되어 사용되었습니다.
NeXT의 CEO가 된 스티브 잡스(Steve Jobs)는 다시 Apple로 복귀하며 NeXT 운영체제에 사용된 개발자 도구들을 Mac OS X에 적용하여 새로운 Mac OS를 탄생시켰고 지금까지 iOS 및 Mac OS X 앱을 개발하는 주요한 프로그래밍 언어로 자리를 잡게 되었습니다.

Swift

Objective-C에서 발견되는 몇 가지 문제점

Swift는 왜 개발되었는가를 살펴보려면 Objective-C의 불편한 점을 짚고 넘어가야 합니다. 우선 구문이 복잡합니다. 구문이 일반 현대 영어와 유사한 Swift와 비교할 때 Objective-C의 구문은 더 지루하고 작성하기 어렵습니다. 그로 인해 연쇄되어 발생하는 문제점은 시간이 많이 걸립니다. C언어의 구문만 해도 익혀야 할 시간적인 비용이 많이 드는데 추가적으로 객체 지향 프로그래밍 패러다임까지 익혀야 하기에 더욱이 언어에 대한 장벽은 높아지게 됩니다. Objective-C를 익히고 본격적으로 개발을 하면서도 Swift에 비해 프로그래밍하는 데 더 많은 시간이 걸리게 되고 Objective-C 코드의 시간 소모적인 요소는 결국 프로그래머에게 더 많은 비용을 발생시키고 소프트웨어 애플리케이션의 출시를 지연시킬 수 있습니다.

Swift의 탄생과 발전

앞서 설명한 Objective-C의 문제점을 해결하고자 한 Apple은 Swift라는 새로운 프로그래밍 언어를 계획하여 WWDC(Worldwide Developers Conference) 2014에서 발표되었습니다. 기존 언어였던 Objective-C뿐만 아닌 C#, Python, Ruby 등 기존의 언어와 현재도 탄생하는 새로운 언어들을 참고해 지속적으로 업데이트되고 있습니다.

Q. 그렇다면 Apple이 직접 개발하고 출시하는 당시 많은 주목을 받은 Swift는 순탄히 성장하였을까요?
A. 아니었습니다.

WWDC 2014에서 발표된 Swift는 그 내년에 진행된 WWDC 2015에 1.0 버전에서 2.0 버전으로 Major 버전이 빠르게 바뀌었고 그 1년동안 수시로 Minor 버전 업데이트 진행되어 왔습니다. 하지만 Minor 업데이트때마다 안정성과 문법 변화가 빠르게 일어나 혼돈기를 겪었습니다. WWDC 2015 이후에는 안정기에 들어서며 안정성으로 고려하고 버그 수정이 진행된 비교적 변화가 적은 업데이트를 이어갔습니다.

같은 해 Apple은 Swift를 오픈소스로 전환하여 언어에 대한 범용성을 확장시켰으며, 많은 개발자들의 피드백을 수용함으로서 빠른 시간안에 개발자들이 선호하는 언어로 발전해 지금까지 이르게되었습니다.

[TIOBE Index for February 2017] - 개발 언어 코드 생산량 순위 (Swift와 Objective-C 언어 사용량의 상반된 모습을 보인다)


참조 문서.
애플은 왜 스위프트를 내놓았는가?
Swift vs Objective C - Differences Explained in Detail
Swift vs. Objective-C: A Look at iOS Programming Languages

profile
Pursuing to Develop life

0개의 댓글