비슷한 게 많을수록 다른 점도 많이 보인다.
예전에 우연찮게 봤던 오브젝티브-C 코드, 익숙한 분은 사용하는데 크게 어려운 게 없는 것처럼 말씀하셨지만, 복잡하지 않은 실행문조차 너무 거창하게 느꼈습니다. 개발하신 분의 코딩 스타일을 떠나서 언어 구문 자체가 사용하기에 만만치 않겠다는 느낌이었습니다.
스위프트 프로그래밍을 보면서, 그때 보았던 오브젝티브-C에 비하면 스위프트는 아주 심플하다는 느낌을 받았습니다.
스위프트를 읽어 나가면서 언어 설계자는 아마도 ...
- null 때문에 고생을 많이 했다.
- 비동기 처리하기 너무 불편해했다.
라는 생각이 들었었습니다.
다른 언어에서 아쉬웠거나 불편한 부분을 해소하는 스위프트만의 방식을 만날 수 있습니다.
개발의 편리함을 추구하다 너무 많은 것을 넣어버린 느낌도 살짝 듭니다.
프로그래밍을 스위프트로 시작한다면 전략을 잘 세우셔야 할 것 같습니다.
옆에서 도와줄 누군가가 있다면 가장 좋겠지만 그런 행운을 누릴 수 있는 분은 많지 않으리라 생각합니다.
한 번에 모두를 알 수 없다는 사실을 이해하셔야 합니다.
머리로는 끄덕끄덕 하지만 실제 진도를 나가면 답답한 순간을 수도 없이 만나게 될 것입니다.
설계한 사람들도 계속 개선하고 있는데, 처음 접하면 곳곳에서 막히는 건 당연한 것이니 조급해하지 않으셨으면 합니다.
프로그래밍을 해보셨던 분이 새로운 언어를 접하는데 크게 어려움을 느끼지 않는다면, 많은 경우 그것은 단지 새로운 언어의 문법이 기존에 알고 있던 언어의 문법과 비슷하다는 이유뿐이라 생각합니다.
새로운 언어를 이해한 게 아니라 언어가 가진 문법적인 서술 방식에 익숙할 뿐인 것입니다.
'타입 변수 할당' 순서를 가지는 스타일에 익숙하신 분들은 스위프트의 스타일이 생소할 수 있습니다.
이게 머리로는 이해하는데 기존 스타일이 워낙 눈에 익어 있다는 게 문제를 일으킵니다. 스위프트 코드가 조금 복잡해지기 시작하면 코드를 보다가도 어느 순간 기존에 익숙한 스타일과 헷갈려서 혼돈이 올 수 있습니다.
게다가 비슷한 개념인데 용어가 다르고 적용하는 형태가 같으면서도 다른 부분이 있으면 더 힘들 수 있습니다.
그럼에도 불구하고,
익숙한 것과 조금 거리를 두면 새로운 세상이 보인다면 괜찮지 않나요?
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.