본문 바로가기

Notes/Tips

왜 개발자들이 맥 컴퓨터를 사용할까?

*본 내용은 주관적인 견해가 많이 들어가 있습니다.

많은 사람들이 맥북에 대해서 일반론처럼 말하길래 끄적여 보는 글 입니다.

Apple Developer의 Xcode

맥북은 비싸고, 사치품이야.

틀린말은 아니다. 애플의 고가정책에 항상 혀를 내두루고 있다. 이점은 정말 공감한다.

그렇지만 시작에 앞서 맥을 무조건적으로 비하하는 사람들에게 말하고싶다. 맥 컴퓨터는 기본적으로 워크 스테이션이다.

즉, 일반적인 것 보다는 개발, 음향 등에 초점을 맞춰져 있다는 것이다. 물론 대중들에게 더 나은 서비스와, 최초의 개인용 컴퓨터를 출시한 것은 맞다. 하지만 생각해봐라, 그때 개인용으로 컴퓨터를 기본적으로 일반적인 대중들이 그냥 놀기만 하려고 사용을 했을까? 업무의 향상을 위해 기본적으로 사용했다는 것이다.

그렇다고 대중성을 버린 것은 아니다. 아름다운 UI, 특히 애플 안에서의 생태계는 모든 사람에게 편의성을 제공한다. 이러한 부분을 볼 때 애플의 제품군들은 정말 편리하게 일상생활을 만들어 주는 좋은 도구이다.

그렇지만 위에서 서술했듯이 맥 컴퓨터는 기본적으로 무엇인가를 만드는 것에 적합한 워크 스테이션이다. 그것도 안정적인 OS를 탑재해서 제공해준다. 하드웨어의 원가에 소프트웨어 개발 비용을 생각하면 가격은 생각보다 매우 싼 가격이다. 물론 맥북 에어나 맥북 프로 13인치를 말하는 것은 아니다... 이 둘은 엄청 비싼게 맞다ㅠㅠ

 

본론에 들어가기 전에 간단히 맥 컴퓨터의 포지션에 어느정도 서술을 했다. 요약을 해보자면

  1. 맥 컴퓨터는 워크스테이션이다.
  2. 일반인들에게도 맥은 편하지만, 개발이나 창의적 영역에서 활동하는 부분에 최적화가 되어있다.

이렇게 된다. 그러기에 개인적으로 일반인들이 맥 컴퓨터를 산다는 것은 명품같은 것을 사는 사치일 뿐이라 생각한다. 물론 그 정도 돈이 있는 부자라면 당연한 이야기겠지만...

그렇다면 오늘의 글의 포인트를 시작해보자, 왜 생각보다 많은 개발자들이 맥 컴퓨터를 선호할까? 특히 해외 개발자 그리고 회사에서 많이 맥북 프로로 업무 환경을 지원해 주는 경우가 많다. 이유는 아주 간단하다. 매우 큰 생산성이다.
윈도우도 큰 생산성을 제공한다고 이야기하는데, 물론 좋은 생산성을 준다. 다만, 개인적인 의견으로 개발보다는 업무, 그러니까 Office를 사용하거나 회사의 업무 및 관리를 하는데 윈도우만한 OS는 없다고 생각한다. 정말 업무의 생산성에는 최적이다.

그렇지만 개발로 들어가면 의문이 생긴다. 윈도우정말 좋은 플랫폼인가?
현재 MS의 친 오픈소스 정책으로 개발자에게 좋은 환경을 만들어 주려고 노력중이다. 윈도우에서 리눅스 터미널을 사용가능한 솔루션을 제공한다던가, 많은 부분을 오픈소스화를 하고 개발자가 사용할 수 있도록 장려하고 있다. 이부분에서 정말 가슴이 뛰는 일이었다. 하지만, 아직 리눅스 터미널이 윈도우에서 제공하는 자체 가상환경 위에서 돌아가는 것 이기 때문에 그렇게 안정적이라는 생각도 들지 않고, 컴파일링도 쉽지 않다(물론 크로스 플랫폼을 지원하는 언어들은 좀 나은 편이다). 더불어 아무래도 가상환경이기에 컴퓨터 리소스를 계속 잡아먹고 있는것도 한몫한다.

또한 기본적으로 커널의 구조가 Unix-like의 OS와 다르고, 어셈블리어의 문법도 약간씩 다르다. 이 때문에 개발 후 환경문제에 따른 오류 때문에 개발자 들은 골치를 앓는 경우가 많다. 물론 아닌경우도 있다. 내가 윈도우 사용할 때는 기본적인 코드는 윈도우에서 작성하고, 항상 가상환경의 리눅스에서 테스트했기에 문제가 일어나는 일은 많지 않았지만, 역시 매우 번거롭다는 단점이 있다. 여하튼 이러한 것 때문에 윈도우만 가능한 소프트웨어를 사용하지 않는 이상 리눅스를 메인 OS로 사용하거나 윈도우/리눅스 듀얼부팅으로 사용하는 경우를 정말 숱하게 보았다.

 

그렇다면 맥은?
하지만 맥은 이런 것들을 단번에 해결해준다. 우선 macOS는 Unix-like계열인 FreeBSD 를 포크에서 만든 다윈(Darwin) OS를 사용한다. 그리고 이를 다듬어 소비자에게 공개하는 것이 macOS라고 보면 쉽다. 간단히 말해서 서버에서 자주 사용하는 리눅스와 매우 비슷하며, 어셈블리 문법도 같다는 것이다. 이는 따로 추가적인 테스트 없이 그냥 맥에서 개발하면 왠만한 Unix-like family (Unix, BSD, Linux)에서는 문제없이 작동한다는 것이다. 또한 Unix-like이기 때문에 개발자의 필수이자 매우 익숙한 터미널이 있어서 쉘 명령어로 빠르게 설치, 관리 및 테스트하기가 용이하다. 이러한 개발자와 연동성이 좋고 리눅스와 좋은 시너지를 내는 것이 개발자들에게 정신적인 스트레스를 확연하게 줄여주는 역할을 한다. 개발의 속도도 꽤 높여주기에 개발자에게 좋은 생산성을 제공한다 생각한다.

그리고 회사에서는 다른 개발자와 좋은 연동성을 유지하기 위해서 사용하는 경우가 많다. 에어드롭이나 애플 생태계를 말하는 것이 아니라 위에서 서술했던 개발 환경의 이야기에 연장성이다. Unix-like이기에 코드가 그대로 다른 멤버니 팀에 가더라도 오작동 할 확율이 적어진다. 그리고 추가로 컴파일링 또는 각 OS에 맞춰줄 필요도 없기 때문에 그냥 Git을 통해서 버전관리 및 공유가 편리해진다. 또한 디자인 팀의 경우 맥을 사용하는 경우가 많으므로, 이 또한 좋은 연동성을 제공한다.

마지막으로 맥북의 경우 다른 노트북에 비해 엄청 튼튼하다. 아마도 이보다 튼튼한 노트북은 HP의 엘리트북 시리즈(밀스팩 인증받은 제품)과 델 레티튜드 익스트림같은 제품군일것이다. 필자의 경우 HP의 엘리트북 워크스테이션을 사용한적이 있는데 정말 튼튼하다. 하지만 매우 무거운게 큰 단점이었지만, 뭐 워크스테이션에 그정도 험하게 썼는데 디스플레이와 모든 키보드가 멀정한 것이 아직도 신기하다. 참고로 아직도 윈도우 테스트용으로 사용한다.

그렇다고 윈도우에 개발자가 전부 안 맞다는 것은 아니다. 만약 C#, 윈도우 서버, .Net 프레임워크를 사용하거나 게임을 개발를 한다면 이러한 부분은 확실히 윈도우에서 개발하는 부분이 더 낫다. 나 또한 맥에서 비주얼 스튜디오를 설치하지 않고 윈도우에 설치해서 따로 개발하고 있으니까. 그 편이 훨씬 더 필자에게 편하다는 느낌을 주기 때문이다. 아 참고로 필자는 경우도 윈도우와 맥 둘다 사용을 하고있다. 공인인증서 전용 윈도우는 추가로 하나 더...

 

이 글은 모든 개발자들에게 맥을 강요하는 글이 아니다. 단지 왜 개발자들이 맥을 선호하는지, 그리고 맥의 용도에 대해서 설명하고 싶을 뿐이다. 비싸지만, 이런한 비용을 지불하고 생산성을 높혀 더 나은 능률을 보여준다면 괜찮은 투자가 아닌가? 하지만 사용자에 따라 달렸을뿐, 목적에 맞게 그리고 각자에 맞는 것을 사용하는 것이 옳다고 생각한다.

 

 

추신
혹시 처음이지만 맥 컴퓨터를 사용하고 싶다면, 중고로 구입하는 것을 추천한다. 대부분 애플제품을 사용하는 사람들은 중고가격이 낮아질 것을 우려해서 조심히 쓰는 경우가 많기 때문에 상등 상품이 꽤 많다(근데 난 아니다..). 2~3년된 제품을 사용해 보고 나중에 돈을 번다면 그 돈으로 새 맥 컴퓨터를 사보는 것을 추천한다. 추천 제품은 맥북 프로 15(16)인치 제품군이며, 가성비가 가장 좋다고 생각되는 구간이다. 휴대성을 향상시키고 싶다면 맥북 프로 13인치를 구매하는 것이 좋지만, 만약 그래픽카드가 필요없어서 맥북 프로 13인치를 사려고 한다면 맥 미니도 한번 고려해 보아라. 휴대성은 없어지지만, 성능 면에서는 훨씬 쾌적한 결과를 보여줄것이다.