이 글은 macOS가 프로그래머에게 우월한 이유를 유닉스 기반의 추상화와 도구의 관점에서 설명합니다.
macOS의 프로그래밍 이점
-
POSIX 준수: 유닉스 표준을 따르며 환경 일관성 보장.
-
네이티브 도구:
grep,awk,sed,ssh,make등 핵심 유닉스 도구 기본 제공. -
통합된 컴파일러 툴체인: Clang, LLVM, git 등이 원활하게 작동.
-
쉬운 패키지 관리: HomeBrew를 통한 간편한 설치.
-
언어 환경 설정: Node, Python, Ruby, Go, Java 등이 PATH 문제 없이 작동.
-
향상된 개발 경험: iTerm2, 빠른 Docker, SSH 키 통합, 예측 가능한 Git 동작.
저자는 명령줄 도구를 사용하지 않고 VS Code만 사용하는 이들을 “아직 프로그래머가 아닌 소비자”로 규정하며, 유닉스 기반 명령줄 인터페이스(CLI)가 제공하는 깊이 있는 상호작용의 중요성을 강조합니다.
유닉스와 윈도우의 근본적 차이
-
유닉스: 1960년대 후반 벨 연구소에서 개발. “모든 것이 파일” 철학과 파이프라인 개념 도입. 다중 사용자, 다중 작업 시스템을 위해 설계.
-
윈도우: CP/M, MS-DOS를 거쳐 발전. 초기에는 단일 사용자, 단일 작업 마이크로컴퓨터용으로, 유닉스와 같은 추상화 부족. Windows NT 이후 개선되었으나, 여전히 유닉스와는 다른 추상화 방식.
-
macOS: NeXTSTEP 기반으로 재탄생한 POSIX 준수 유닉스 OS. 아름다운 GUI와 유닉스 철학을 결합.
파이프라인의 중요성
유닉스 파이프라인은 작은 도구들을 조합하여 복잡한 작업을 효율적으로 수행합니다. git log 예시처럼, 코드 변경 분석 등은 파이프라인을 통해 자동화되며, 이는 IDE 플러그인으로 대체 불가능한 강력한 기능입니다. 많은 윈도우 개발자도 결국 WSL을 통해 유닉스 스타일 작업을 시도합니다.