대학 시절 매킨토시 사용의 인연으로 지금까지 Apple의 맥(macOS, iOS, iPadOS)을 애용해 왔다. 애플워치만 개인적으로 사용해보지는 않았고 거의 모든 애플 제품을 구매하여 사용해 왔었다. 심지어 케이블 같은 액세서리도 애플 정품을 구매하였고 추가로 애플스토어를 이용하여 대부분의 소프트웨어는 정품을 사용해왔다.
필자는 사실 xcode에서 swift 언어를 이용하여 iOS 프로그램을 거의 개발하지 않는다. 다만 xcode와 함께 설치되는 컴파일러를 이용하여 다른 개발 툴에서 사용하는 용도가 대부분이다. 예로 Qt(C++), Lazarus(pascal) 개발 같은 경우이다.
macOS의 장점, 사용이유
현시점까지 macOS를 사용하는 이유는 운영체제 기반이 UNIX이기 때문이다. 리눅스(유닉스)를 애용하는 개발자는 터미널 사용 빈도에 따라 윈도우에서 주지 못하는 개발환경을 맛볼 수 있다. ‘brew’를 사용해보면 리눅스의 패키지 설치와 비교해 편의성이 충분하다.
다행히 최근에는 Windows 10(2004)에서 새로운 터미널과 WSL이라는 리눅스 환경을 같이 제공해 주기 때문에 기본적인 유닉스 명령어와 터미널의 조합은 충분히 윈도우에서 해결될 것이라고 본다. 마이크로 소프트는 다음 버전의 WSL에서 Xwindow 프로그램 실행뿐 아니라 GPU 가속까지 지원한다고 하니 인공지능에 이 환경을 충분히 활용할 수 있는 가능성이 열린 셈이다. 아마도 내부적으로 리눅스를 완전히 흡수할 모양이다.
두 번째로 맥을 좋아했던 이유는 애플 장비 간 연동성 때문이다. 이건 정말 편리하다. 애플의 연동성만큼은 좋은 환경은 아니지만, 구글, 마이크로소프트, 안드로이드 제품의 자체 클라우드 연동은 이제는 충분히 애플 환경을 어느 정도 대체할만하다. 최근 Windows 10 버전은 클라우드 백업, 설치를 지원한다고 하는데 정확한 정보는 아직 없다.
개발자 마인드에서 보면 애플 제품을 사용하는 사람은 대부분 정품소프트웨어 구매를 당연한 것으로 본다는 점인데 이것은 소프트웨어 생태계에 좋은 역할을 한다. 마지막으로 macOS가 좋았던 점은 운영체제 자체의 UI/UX이다. 이건 트랙패드의 제스처를 사용해보면 실감할 수 있다. 그리고 상대적으로 보안에 유리하고 백신이 거의 필요 없다는 점도 장점이다. 마우스가 필요 없을 정도의 기능을 가진 트랙패드 활용성을 보여준다.
현시점에서 맥을 멀리하는 이유
일차적으로는 비싼 가격 때문이다. 맥북프로의 경우 스펙 대비 기본 사양은 같은 구성의 하드웨어 윈도우 계열의 노트북에 비해 그렇게 비싸지 않은 것처럼 보이지만 추가적인 옵션 비용이 상상을 초월한다. 예로 메모리 16G에서 32G로 업그레이드하면 추가로 540,000원이 들어가며 스토리지도 1T에서 2T로 올리는 경우도 540,000원 비용이 들어간다. 이 비용이면 윈도우 계열의 가벼운 노트북을 구매한 후에 추가 옵션에 eGPU까지 살 수 있다. 또한 최근 맥북은 생각보다 발열을 잘 잡지 못하는 것 같다. 그리고 생각보다 맥북프로 시리즈는 무겁다.
해외 상황과는 다르게 우리나라는 아직도 CS(Desktop Application) 환경에서 프로그램은 윈도우 기반이 대부분이다. 특히 닷넷으로 윈도우 애플리케이션을 개발하려면 윈도우 운영체제가 현재까지는 필수적이다. 아마 우회할 수 있는 환경도 있겠지만 개발에 투자하는 시간도 부족한 데 환경설정까지 신경 쓸 여유는 없다. 물론 웹 개발만 한다고 치면 맥을 사용해도 무방할 것이다.
그리고 장비에 종속되는 프로그램 역시 대부분 윈도우거나 리눅스이다. 이 분야의 개발을 할 때 맥을 사용해서 개발은 하는 경우는 거의 없다고 본다. 최근의 조립PC로 인공지능 개발환경을 구성하는 경우 대부분 우분투 환경으로 설치하는 것을 자주 보았다.
맥(macOS)이 필요한 경우
당연하지만 iOS 프로그램 개발이다. 현재까지는 개발환경이 맥에서만 가능하다. 국내 개발자를 보면 macOS 개발자는 거의 없다. 사실 macOS 프로그램 개발의 경우 옵션이 많은 데 Qt, Lazarus, dotNET Core, Mono, Delphi, C++ Builder 등으로 개발할 수 있다. 필자의 경우 제일 좋아하는 개발 프레임워크는 닷넷 코어이다. 그다음이 C++, Rust, Pascal이다.
또 하나의 이유는 우리가 명품 브랜드를 선호하는 것처럼 카페 출입증이 필요하거나 자기만족일 것이다. 사실 별것 아닌 것처럼 보이지만 우리 삶에서 큰 부분을 차지한다.
앞으로 Intel 기반의 CPU에서 ARM 기반의 CPU로 새로운 제품이 나오고 이 제품을 사용하는 사람들이 많아지면 시장은 어떻게 바뀔지 정확히 짐작하기는 어렵다.
그리고 아이폰과 아이패드의 상품군은 인정할 만하다. 안드로이드 계열의 제품들도 많지만, 개인적으로는 애플의 제품은 넘사벽이다. 물론 단순한 하드웨어 비교뿐 아니라 운영체제와 소프트웨어의 관점에 우위를 둔다는 조건이다.
개인적으로 개발환경에 필요한 하드웨어 구성은 윈도우 운영체제 기반의 워크스테이션급 노트북과 1kg 미만의 서브 노트북으로 정도로 마무리할 것 같다. 사실 네트워크(인터넷) 세상에서 가로막는 벽(壁)이란 없다.