Objective-C의 문법이 '괴랄하다'는 평가는 매우 오랫동안 프로그래밍 커뮤니티에서 나온 반응인 것으로 보인다. 대괄호를 중첩하는 문법, 메시지 전달 방식 — 이 언어로 처음 마주한 개발자들이 느끼는 위화감은 결코 우연이 아니다.
Objective-C는 C 위에 Smalltalk 스타일의 메시지 전달 체계를 얹은 구조로 설계되었다. 일반적인 함수 호출 문법에 익숙한 개발자가 처음 만나는 대괄호의 중첩과 셀렉터 기반 호출은, 다른 주류 언어들과의 문법적 거리감을 심하게 느끼게 한다는 점이 지적되고 있다. Python이나 Java 같은 보다 직관적인 문법의 언어들이 점점 대중화되던 시대에 Objective-C는 구조적으로 접근성이 떨어지는 선택지로 읽혀왔던 것으로 보인다.
그렇다면 문법이 이토록 낯설고 복잡했는데도, 수많은 개발자들이 이 언어로 iOS 앱을 만들어야 했을까. 그 배경에는 플랫폼 독점이라는 시장 현실이 있었다. Apple은 iOS 개발의 유일한 표준으로 Objective-C를 제시했고, App Store를 통한 수익 기회가 매력적이었던 시절, 개발자들은 언어의 편의성을 뒤로하고 이를 배우고 익숙해져야 한 것으로 전해진다. 문법의 완성도보다 플랫폼이 제시하는 선택지가 개발자 커뮤니티의 표준을 결정했던 것으로 볼 수 있다.
이 상황이 변화하기 시작한 시점은 2014년인 것으로 보인다. Apple이 Swift를 공개하면서, 개발자들은 드디어 더 현대적이고 직관적인 문법으로 iOS 앱을 작성할 수 있는 대안을 얻게 되었다. Swift는 기존의 메시지 전달 방식을 단순화하고, 더 익숙한 함수 호출 구문을 채택하면서 Objective-C의 가파른 학습곡선을 완화시켰다. 신규 프로젝트들을 중심으로 빠르게 전환이 이루어졌고, 개발자 커뮤니티 내에서도 새로운 표준으로 자리 잡게 되었다는 평가가 나오고 있다.
다만 Objective-C가 완전히 사라진 것은 아니다. 10년 이상 축적된 레거시 코드베이스들은 여전히 유지보수와 기능 개선이 필요한 상황인 것으로 보인다. 기존 iOS 앱들 중 상당수가 Objective-C로 작성되었으며, 이들을 Swift로 일괄 변환하는 것은 비용과 리스크 측면에서 현실적이지 않다는 판단이 지배적인 것으로 보인다. 따라서 개발자들은 여전히 Objective-C 유지보수 수요와 마주하고 있는 상황인 것으로 보인다.
결국 이 이야기가 보여주는 바는 명확하다. 프로그래밍 언어의 선택은 '어떤 문법이 더 좋은가'가 아니라 '플랫폼과 시장이 무엇을 요구하는가'에 의해 결정되곤 한다는 점인 것으로 보인다. Objective-C의 복잡함이 과연 나쁜 설계였는지, 아니면 단순히 개발자들의 기대와 생태계의 변화 속에서 불편해 보일 뿐이었는지는 사실 중요하지 않을 수도 있다. 중요한 것은 플랫폼의 강제력이 얼마나 큰 영향력을 행사해왔는지, 그리고 현재도 하고 있다는 사실일 수 있다.
📌 원문 발췌
한때 수 많은 앱 개발자들이 이 언어로 iOS앱을 만들었다는 사실이 놀랍네요.. 역시 돈 앞에는 언어 따위는.. 이제 모두 스위프트로 개발하죠?
원본 출처: 클리앙 모두의공원