Mac OS X와 XCODE를 사용하면서 느낀점.

요새 Mac OS X와 XCODE를 붙잡고 씨름하면서 많은 생각을 한다.
맥빠들이 보기에 XCODE가 Visual Studio보다 아름다워보이긴 할텐데…
Visual Studio와 XCODE의 성능과 안정성을 비교한다면 뭐…말할 필요도 없고. 단적으로 변수 내용 확인하려고 gdb콘솔을 불나게 두들겨야되는게 난 이해가 안된다. 97년도에도 난 변수 내용 확인하자고 콘솔창을 두들기진 않았다고.
Visual Studio가 편하다고 생각해본 적이 없는데 XCODE쓰면서 처음으로 VS가 무척 편리한 툴이라는 생각을 하게 됐다.
편리함과 안정성 문제도 그렇지만 맥 개발 플랫폼은 개발자에게조차도 많은 것을 숨기고 싶어하는 것 같다.
난 원리를 알아가면서 학습해가는 타입이다. MS의 개발툴을 사용할때는 비록 소스코드까진 볼 수 없어도 굉장히 많은 툴과 자료를 얻을 수 있어서 Windows OS와 바이너리 코드의 상당 부분을 비교적 깊게 이해하고 학습할 수 있었다.
왜 그렇게 돌아가는지를 이해한다는 것은 개발에 정말정말 어마어마하게 큰 도움을 준다. 내가 짠 코드를 신뢰할 수 있고 나아가서 플랫폼에 대한 신뢰까지 준다.
Visual Studio의 디거버만으로도 굉장히 많은 걸을 할 수 있다. 그런데다 자료도 엄청나게 많다. MS에서 공개하는 자료만 해도 엄청 많다.
Windows Internal같은 책이나 MSDN의 자료만으로도 충분한 정보를 얻을 수 있다.
DDK로 커널 모드 프로그래밍을 할수도 있고 windbg로 직접 커널 디버깅을 해 볼 수도 있다.
커널 리소스 하나하나 추적해가며 볼 수 있고 내 어플리케이션이 정말 튼튼한지 Application Verifier를 사용해서 검증할 수 있다. (XCODE에 포함된 프로파일링 도구들을 보고 그 아름다움에 감탄했지만 알맹이가 없어서 충격받았다.)
애플의 문서나 개발툴들을 보면 불친절하기 짝이 없다. 껍데기만 이쁘지. 버그 투성이에 뭐 되는게 없다.
 gdb콘솔에다 GUI붙이고 gcc에다 UI붙여서 툴이라고 제공하는건 그렇다 치자. 대체 문서는 왜 그리 부실한건지. 자료는 왜 그리 부족한건지…
유져모드 어플리케이션을 만들다보니 Mac OS X에 대해서도 신뢰할 수 없다는 생각이 들었다. 개발 플랫폼이 이 지경인데 애플 내부에선 제대로 개발을 하고 있을까.
내부에선 뭐 신이 내린 툴이라도 쓰고 있나. 리소스 해제같은건 제대로 되고 있을까…
물론 애플에서 일하는 엔지니어들이 나보다 십만배쯤은 똑똑하겠지만 말이다.
내가 애플 사 바깥의 엔지니어로서 감히 말하자면 ‘애플은 소프트웨어 기술 떨어진다’라고 말하겠다. 그 규모와 컴퓨터 회사로서의 역사를 볼때는 이건 떨어지는거다.
하긴 뭐 가져다가 잘 포장해서 파는게 애플의 특기지.
난 애플과 잡스가 열라 싫은데다가 애플의 소프트웨어 기술 또한 신뢰하지 않는다.
그럼에도 불구하고 아이폰을 사용하고 있고 올해 아이폰5와 아이패드2를 구입할 가능성이 높다.
이게 더 거지같은 현실이다. 내가 볼때 현재 애플의 플랫폼이 가장 낫다.
애플이 싫고 잡스가 싫다고 해서 일부러 더 못한 제품을 사용할 수는 없지.
엔드유져로서의 입장을 좀 접어두고 개발자 마인드로 보자면…몇 가지가 충족되면 다른 플랫폼으로 옮길 생각은 있다.
가령…
MS가 거지같은 Windows CE를 버리고 – 진심으로 Windows CE부서 높은 사람이 스티브 발머 사위쯤 되지 않을까 하는 생각을 하고 있다 –  NT커널을 탑재한 윈모바일 OS를 내놓고 네이티브 C/C++로 개발할 수 있게 해준다면…
구글이 하드웨어를 직접 제조하거나 적어도 스펙을 엄격하게 관리하면서 자바 안쓰고 네이티브 C/C++로만 개발 할 수 있게 해준다면…
당장이라도 MS나 구글 모바일 플랫폼으로 옮겨가겠다.
그러나 그런 일은 일어나지 않을거다. 가능성이 거의 0%다.
그러니 나는 저 망할 애플 제품을 꽤 오랫동안 써야할거 같다. 젠장.
오늘도 xcode쓰다 보니 하도 짜증나서 이렇게라도 안적으면 도저히 견딜 수가 없다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중