1. 리눅스
장점: 걍 단점 빼고 모든것이 장점임. 익숙한 쉘, POSIX API 및 학부에서 배우는 구조 그대로 쓰는 OS 및 시스템 콜 같은게 개발자들이 편한 환경이고, 개발툴이나 라이브러리나 다 이제 리눅스가 첫번째로 우선시돼서 개발되는 추세. 커널 모딩이 가능하니 자기가 쓰는 기기의 커널 기능도 자기맘대로 할 수 있는것도 장점. 편의성이나 모바일(폰) 연동성도 윈도우나 맥에 있는 앵간한 프로그램들 전부 다 오픈소스로 있어서 맥하고 비스무리하게 쓸 수 있고, 맥앱,아이폰앱 크로스컴파일툴 및 사이닝툴도 존재(다만 디버깅은 불가능)
단점: 노트북 마다 각 부품에 대해 드라이버가 없거나 병신인 경우 다수, 그래서 좀 잘 알아보고 사던가 리눅스 호환성이 그나마 검증된 브랜드(1위 레노버, 2위 델, 나머지 기도하면서 사야함)들 사야함... 그리고 드라이버도 드라이버인데 그냥 전체적으로 커널 컴파일/부트 커맨드라인 옵션들 조절하면서 아이들 전력사용량이나 인터럽트 레이턴시(윈도우의 DPC레이턴시) 같은것들 잡아야함
2. 맥
장점: 리눅스 장점이랑 동일한데 맥용 앱이나 아이폰앱 중 네이티브 앱(+네이티브 UI 프레임워크로 묶이는 크로스플랫폼 툴(플러터 같은거)이나 Electron같은거 쓴 웹앱) 디버깅이 가능하다는 점이 추가되고, 대신 POSIX 운영체제긴 한데 커널 인터페이스는 달라서 리눅스 시스템콜 쓰는 프로그램들은 호환이 안되니 그 부분은 제외.(커널 모딩도 불가능). 그래도 POSIX 호환 덕분에 맥 네이티브 앱 개발하기도 용이하고 또 그걸 포팅하기도 쉬운편.
편의성이나 모바일(아이폰)연동성은 리눅스에서 개지랄 떨어봤자 이쪽이 좀 더 깔끔하고 M1 탓인진 몰라도 덜 버벅이는 건 확실히 있음.
리눅스처럼 전성비,인터럽트 레이턴시 걱정도 필요없음.
OS는 아니고 맥북, 특히 암맥에 한정된 장점으로는 성능이 워낙 좋고 전성비도 뛰어나니 로컬에서 컴파일할때 속도도 빠르고 배터리도 오래가고, 이 성능/전성비 덕분에 개발할때 인터넷이나 PDF, 개발관련 영상 같은거 볼때 좀 이득을 보는듯.
단점: 리눅스 만큼의 로컬 개발 능력은 없고, 도커 쓰면 리눅스 앱은 개발되는데 커널 개발은 제한됨(실제 디바이스랑 상관 없는 upper-level 부분 개발이나 하이퍼바이저 만지는 수준 아니면 가능은 함). 그리고 ARM오면서 성능도 전성비도 다 좋아졌긴 했고, x86 개발도 여전히 크로스 컴파일 툴 쓰면 되는데, 디버깅할때 좀 많이 느림 ㅎ(디버거 붙이면 심각하게 느려짐, 리눅스 프로그램은 디버거 안붙여도 리눅스쪽 에뮬(qemu-user)이 병신이라 느림)
맥은 잘 생각해봤는데 딱 이거밖에 없는거 같고, 이 단점은 나처럼 리눅스 개발할 서버가 따로 있는 사람은 상관이 없으니 맥이 제일 적합하다 생각
3. 윈도우
장점: 장점은 진짜 윈도우 API 쓸 일이 있을 때 디버그까지 포함한 개발이 가능하다 정도? 근데 요즘 한국 SI외에 윈도우 API 쓰는 개발자가 얼마나 있나 싶다... 윈도우 드라이버 개발하는 사람들은 ㅇㅈ 근데 이건 애초에 개발보드를 써서 테스팅을 하고 windbg는 리모트 디버깅이 되기나하나? 윈도우 노트북을 산다고 더 나은 부분이 없는듯
단점: 맥의 단점에 리눅스 만큼은 아니지만 윈도우도 제조사가 여러개다 보니 노트북 모델따라 유독 DPC 레이턴시나 아이들 전력소모가 높은 병1신 노트북들 많음. 그래서 좀 잘 알아보고 사야하는게 있고.. 리눅스나 맥에 비해서 RSS피드,메신저,폰 동기화 같이 편의를 위한 기능이 제일 덜 구현되어있다 생각. 버벅이거나 디자인 측면에서 ㅇㅇ 윈도우는 POSIX API를 거의 지원안한다는 문제는 이젠 WSL이 있으니 뭐 상관 없을 수도 있지만 WSL은 디스크 접근 같은 입출력 성능은 많이 떨어지고 그러니 완전히 네이티브랑 동급 취급 하긴 그렇고
=================================
ㄹㅇ 이 말들이 사실임?
맥존나 러지같던대(국비충)
국비충이라서