새로운 시스템 프로그래밍 언어 마흐(Mach)가 최근 중요한 이정표인 '완전한 자체 호스팅(full self-hosting)'을 달성했습니다. 이는 마흐 컴파일러가 다른 외부 도구나 라이브러리(예: LLVM, libc 바인딩)의 도움 없이 오직 마흐 언어 자체로만 자신을 컴파일할 수 있게 되었다는 의미입니다. 이로써 마흐는 완전히 독립적인 개발 생태계를 구축할 기반을 마련했습니다.
마흐는 단순성(Simplicity), 명시성(Explicivity), 유지보수성(Maintainability)을 핵심 철학으로 내세웁니다. '보이는 대로(WYSIWYG)'를 강조하며, '마법 같은(magic)' 숨겨진 동작을 배제해 개발자가 코드의 모든 동작을 명확히 이해하고 제어할 수 있도록 설계되었습니다. 이는 고(Go), 브이(V), 지그(Zig), 러스트(Rust) 등 기존 시스템 언어들에서 영감을 받았지만, 기능의 과도한 추가나 유연성보다는 명시적이고 직관적인 코드 작성에 집중합니다. 또한, 위험한 동작을 막기보다는 프로그래머의 결정에 맡기는 등 안전성보다는 제어권을 우선시하는 특징을 보입니다.
마흐의 이러한 접근 방식은 시스템 프로그래밍 분야에 새로운 대안을 제시합니다. 외부 의존성이 없다는 것은 빌드 프로세스를 단순화하고, 잠재적인 보안 취약점을 줄이며, 장기적인 유지보수 비용을 절감하는 데 기여할 수 있습니다. 특히 임베디드 시스템이나 운영체제 커널과 같이 매우 낮은 수준의 제어가 필요한 환경에서 강력한 이점을 가질 수 있습니다. 개발자들은 마흐를 통해 더욱 예측 가능하고 투명한 방식으로 시스템 소프트웨어를 개발할 수 있을 것으로 기대됩니다.