개발자가 Linux나 Mac을 사용하는 이유

조 은길·2021년 5월 26일
20
post-thumbnail
post-custom-banner

✨들어가기

재작년에 구글 LA 투어를 갔을 때, 이상한 경험을 했다. 구글 개발자들이... 그 안드로이드 OS를 개발하시는 분들이 모두 다!! 단 한 명의 예외도 없이!! 맥북을 사용하고 있었던 것이다😳

당시에 나는 그저 한 명의 문과생이었기 때문에 이유를 알지 못했지만, 최근에 부트캠프를 통해서 그 이유를 알 수있었다. ( 사진은 추억팔이용으로 첨부합니다 ㅎㅎ )


🚨🚨시작하기에 앞서, 윈도우를 써도 개발은 할 수있다!!🚨🚨 다만, 개발을 위한 환경설정을 하는데, 맥북으로 1시간 반이면 끝날 것을 윈도우는 하루종일 걸린다.
또한, CLI 환경에서 작업시, 발생하는 에러에 대한 해결책은 Mac OS에 비해서 절망적일 정도로 적게 나온다.

하지만, 그럼에도 윈도우로 개발은 가능하다. 특히나, 한국에서는 윈도우로 개발하시는 분들이 많은 것같다. 그러니, 어떤 OS를 사용할지는 개인이 들어간 회사 방침이나 선택의 몫이라는 점을 밝힌다.

추가로, 필자의 결론과 같지만, Window OS로 개발하는 것의 장단점을 정리한 글 하나를 남긴다.

개발자가 mac이 아니라 윈도우로 개발 하는 이유

=> 무언가를 판단할 때는 다양한 의견을 들어보고, 거기에 대한 자신의 생각을 정리하는 게 가장 좋다. 그러니, 필자의 의견도 읽어보고, 위의 의견도 읽어본 다음, 자신만의 생각을 정리하기를 바란다.

이제 본격적으로 시작해보자!! 🙋


개발자가 Window보다 리눅스나 Mac을 사용하는 이유

일단, window와는 다르게 리눅스나 Mac은 Unix계열 OS이다.

그렇다면, 다음과 같은 의문이 들 수있을 것이다.
"멀쩡한 윈도우를 두고 왜 Unix 계열의 OS를 사용해야 할까?"

이 불만에 대한 대답은 비교적 명확한 편이다. C#이나 .NET 개발을 하시는 분이라면 윈도우가 좋은 답일 수도 있겠지만, iOS, MacOS 개발까지 가능한 macOS의 유용성은 익히 알려져 있다. 추가적으로, Amazon Web Service 역시도 대부분 Unix 기반 OS로 구성이 되어있다.


자바스크립트 개발에 윈도우 계열의 OS가 불리한 이유

특히 자바스크립트는 오픈 소스, 특히 npm을 기반으로 발전해왔다. 이 거대한 생태계를 기반으로 개발자들이 스스로 업데이트하고, 스스로 발전하는 건설적인 개발 환경을 구축해왔다. 문제는 이 ecosystem이 macOS 사용자 위주로 구성되어 있다는 점이다.

윈도우에서 자바스크립트 개발을 시도할 경우, 문제가 될 만한 부분은 주로 다음과 같다.

  • node.js 버전 관리 툴인 nvm은 윈도우를 지원하지 않습니다.

  • node.js 모듈 중 리눅스/macOS용 컴파일 도구를 이용하는 경우 윈도우에서 사용할 수 없습니다.

  • 시스템 환경 변수를 사용해야 할 경우, 대부분은 리눅스/macOS 기준으로 설정되어 있으며, 이 경우 윈도우에서 제대로 작동하지 않습니다.

  • git을 이용할 때 개행문자 처리의 차이로, 다른 개발자들과 협업 시 불필요한 문제가 발생할 수 있습니다.

물론 여러 대안들이 있지만, 이는 결국 "대안" 이라는 점에서 한계가 있다.

또한, 부트캠프 강사분께서 말씀하시길,

" 자바스크립트 생태계의 큰 부분을 차지하는 React 개발진이 맥북 이외의 컴퓨터를 쓰는 것을 본 적이 없습니다. 프론트앤드 개발자 중 맥을 쓰지 않는 사람은 손에 꼽습니다. 이 현상은 미국으로 가면 더 심해집니다. " 라고 하셨다.

=> 특히, React-native는 맥북 없이 개발하면, 정신 건강에 매우 안 좋다고 한다;;;
( from ZeroCho님의 제로초토크 )

하지만 맥북은 정말 비싸다.

그래서, 맥북의 가격이 부담스러운 사람들은 윈도우 노트북에 우분투 설치가 좋은 대안이 될 수 있다.


가장 쉬운 리눅스, 우분투 Ubuntu

우분투는 여러 유닉스 계열 OS 중에 일반 사용자들이 가장 많이 사용해서, 어느정도 안정화가 되어있다. 다행히도 자바스크립트 개발을 하고 서버에 대해서 공부하기에 충분하다. 또한 우분투를 사용함으로써 리눅스와 컴퓨터에 대한 지식을 얻을 수 있는 것은 덤이다. 익숙하지 않아서 그렇지, 크게 어렵지 않습니다! 참고로, 필자가 대학에서 컴공 수업을 들을 때에는 Mac을 쓰든 Window를 쓰든, 우분투를 가상머신으로 설치해서 수업을 듣게 했다.

하지만, 다른 OS에서 오는 이질감과, Unix계열 OS에 대한 부족한 이해가 코드에 대한 집중을 방해하는 경우가 있으리라 생각된다. "이거 설치 했는데 안되더라", "이건 되는데 왜 이건 안되냐"... 이런 이슈들을 해결하는데 많은 시간을 투자하게 된다.

그럼에도, 우분투는 리눅스 계열 중에서 트러블슈팅에 대한 FAQ가 잘 정리되어있다.
한국어로 가장 정확한 정보를 얻을 수있는 곳 중 한 곳에 링크(우분투한국커뮤니티)를 남겨두겠다.

Why ubuntu❓

웹 개발자, 특히 서버 개발자라면 아마 리눅스를 피해가기는 어려울 것이다. 그런 이유로 많은 개발자가 맥북을 사용하고 있다. 특히 Node.js 개발 시 macOS 만큼 편리한 OS와 맥북만큼 편리한 노트북을 찾기 어렵다.

많은 리눅스 배포판 중 우분투를 추천하는 이유는 역시 범용성 때문이다. 그래도 그나마 가장 안정적인 GUI 시스템을 보유하고 있고, 많은 리눅스 인구가 사용하고 있기 때문에 같은 오류를 겪었던 사람을 쉽게 찾을 수 있다. 또한, 구글링을 했을 때 정답을 확인할 수 있는 확률이 윈도우보다 더 높다. 즉, 초보자에게 아주 좋다. 안타까운 점은 한글 레퍼런스가 많지 않다는 것이다...😂

우분투를 사용할 시에 얻을 수 있는 추가적인 이점들은 다음과 같다.

  • AWS EC2 등 서버 컴퓨터의 초기세팅과 우분투 설치 후의 작업이 매우 유사합니다. 그러므로, 우분투 트러블슈팅은, 서버 운영체제 트러블슈팅과 거의 같다고 볼 수 있습니다.
  • 우분투를 사용하면서 Unix류 운영체제에 대한 더 깊은 이해를 할 수 있습니다.
  • CLI 에 더 익숙해질 수 있습니다.
  • 세세한 세팅을 직접 할 수 있음으로, 컴퓨터에 대한 이해가 더 높아집니다.

윈도우 유저들의 떠오르는 대안 WSL

최근에는 Window OS 내부에 리눅스를 설치하는 WSL ( Windows Subsystem for Linux ) 방식 역시 좋은 대안이 되가는 것같다.

1세대 WSL(= WSL1)같은 경우, 사용해보신 분들 말로는 상당히 처참한 퍼포먼스를 보였다고 한다. 필자는 2세대 WSL인 WSL2를 사용해봤고, 1세대 사용자분들의 경험담만큼 처참하지는 않았다.
=> 2세대 WSL 공식문서

그럼에도 필자가 사용해본 결과, WSL2 역시 아직은 에러도 많고, McAfee 같은 백신 프로그램하고 충돌도 발생해서 넘어야할 산이 많다. 하지만, MS가 꾸준히 업데이트해가고 있기 때문에, 개선될 것이라 믿는다.

WSL에 대한 자세한 설명은 아래의 영상을 참고하길 바란다.


여기까지 윈도우, 우분투 그리고 맥북을 전부 사용하고 있는 주니어 개발자의 회고였습니다🙏

이번 블로그는 " 코드스테이츠 "의 강의 내용 일부와 " 제로초-토크 "의 내용을 참고하여 작성했으며, 그 어떠한 상업적 용도도 없음을 밝힌다.

profile
좋은 길로만 가는 "조은길"입니다😁
post-custom-banner

8개의 댓글

comment-user-thumbnail
2021년 5월 26일

잘 보고 갑니다 :)

1개의 답글
comment-user-thumbnail
2021년 12월 5일

잘 보고 갑니다~~
우분투 공부하면서, vultr, aws lightsail 에서 가상서버 운용하는 것까지 하면서
공부하고있는, 데이터사이언스학과 3학년 학부생입니다. ^^
윈도우만 쓰다가, 최근에, 맥북 에어 M1을 사서, 써보고 있는데,
새로 맥북에 대해, 알아가는 모든 게 다 재밋네요 ㅎㅎ

나중에 1TB 넘는 데이터도 다루는 빅데이터를 다루는 상황을 만나고,
그런 일을 하게 될 것 같은데, 맥북은 참 좋은 옵션이겠죠??

1개의 답글
comment-user-thumbnail
2022년 10월 6일

또한, CLI 환경에서 작업시, 발생하는 에러에 대한 해결책은 Mac OS에 비해서 절망적일 정도로 적게 나온다.

이 부분이 이해가 잘 안되는데, MacOS도 CLI 환경 아닌가요? CLI라고 쓰신게 Windows환경을 의도하고 작성하신건가요..?

1개의 답글
comment-user-thumbnail
2023년 11월 20일

스택 오퍼플로우에서 진행한 설문 조사(https://survey.stackoverflow.co/2023/#section-most-popular-technologies-operating-system )에서 개발자 중 윈도우 사용자가 많다고 조사된 것과는 상반되는 내용이지만 동시에 프론트엔드 개발자로 한정하면 맥을 사용하는 사람이 윈도우를 사용하는 사람보다 많은 건 사실이네요.

답글 달기