LLVM도, libc도 없다! 완전 자체 컴파일을 달성한 순수 시스템 언어 Mach, 기여자를 찾고 있습니다
LLVM도, libc도 없다! 순수함의 극치를 추구하는 시스템 언어 Mach, 완전한 셀프 호스팅 달성 및 기여자 모집 중
프로그래밍 언어 세계에서 LLVM 도구 체인과 C 표준 라이브러리에 의존하는 것은 시스템 레벨 언어의 ‘기본 사양’처럼 여겨져 왔다. 그러나 Mach라는 이름의 새로운 오픈 소스 프로젝트가 이 패러다임을 깨고 있다. 최근 제작자가 Hacker News에 공개한 바에 따르면, Mach 컴파일러는 완전한 자체 컴파일(Self-Hosting)이라는 이정표를 달성했으며, 소스 코드에서 실행 파일에 이르기까지 전체 도구 체인이 어떤 외부 라이브러리에도 의존하지 않는다. LLVM도, libc 바인딩도 없으며 심지어 초기 부트스트랩에 사용되던 C 컴파일러마저 완전히 제거되었다. Mach는 ‘극한의 순수함’이라는 자세로 시스템 프로그래밍 분야에 강렬한 신호를 던지며 공식적으로 커뮤니티 기여자 모집에 나섰다.
셀프 호스팅 성공: 컴파일러의 ‘궁극의 시험’
컴파일형 언어에게 ‘셀프 호스팅’이란 컴파일러와 핵심 도구 체인이 모두 해당 언어 자체로 작성되고 컴파일된다는 것을 의미한다. 이는 언어의 완성도를 가늠하는 시금석일 뿐 아니라, 프로젝트가 다른 언어 생태계에 기생하는 상태에서 완전히 독립했음을 나타낸다. Mach 개발진은 이틀 전에 이 목표를 달성했다고 밝혔다. 이전까지는 과도기적 부트스트랩 컴파일러(C 컴파일러만 있으면 구축 가능)에 의존했지만, 새로운 버전은 완전히 ‘Mach로 Mach를 작성’하여 최종 바이너리를 생성했으며, 부트스트랩 단계의 잔재도 깨끗이 제거했다. 이는 Mach 컴파일러의 정확성과 성능을 종합적으로 검증한 것으로, 복잡한 시스템을 독립적으로 구축할 수 있음을 입증한다.
제로 의존성 아키텍처: 처음부터 확보하는 보안과 통제력
Mach의 가장 두드러진 특징은 TL;DR 설명에서 강조된 내용이다. LLVM과 libc를 포함해 전체 파이프라인에 외부 의존성이 전혀 없다. 주류 시스템 언어에서 Rust와 Zig는 코드 최적화와 생성을 위해 LLVM에 의존하고, C 언어는 libc에 깊숙이 바인딩되어 있다. 반면 Mach는 스스로 코드 생성 백엔드와 경량 런타임을 구현하는 더 어려운 길을 택했다. 이는 개발자가 호스트 머신에 방대한 LLVM 프레임워크를 설치하지 않고도 네이티브 머신 코드를 직접 생성할 수 있음을 뜻한다. libc를 통한 간접 호출이 사라지면서 Mach는 운영체제 커널 인터페이스를 직접 조작할 수 있게 되어 신뢰 기반과 공격 표면을 크게 줄이며, 운영체제가 없는 베어 메탈 프로그래밍에도 천혜의 이점을 제공한다. 이런 ‘자급자족’ 아키텍처 철학은 Mach를 운영체제 커널, 임베디드 펌웨어, 고도의 보안이 요구되는 시나리오에서 엄청난 잠재력을 지닌 언어로 만든다.
또 하나의 시스템 언어가 왜 필요한가?
이 질문에 대해 Mach 커뮤니티는 절대적인 단순함과 감사 가능성에 대한 추구를 꼽는다. 현대 LLVM은 그 용량이 수백 메가바이트에 달하고, 공급망이 취약하며 컴파일 속도도 느리다. libc는 오랜 역사를 지녔지만 수백 개의 함수를 포함하고 있으며, 그 중 상당수는 이미 역사적 부담으로 남아 있다. Mach는 시스템 프로그래밍의 본질, 즉 직접적이고 투명하며 완전히 통제 가능하다는 가치로 회귀하려 한다. 언어가 아직 초기 단계에 있음에도 불구하고, 그 설계 아이디어는 HN의 많은 개발자를 사로잡았다. 그들은 컴파일의 ‘무거움’을 모두 자신의 손에 쥘 수 있는 도구를 갈망해 왔다. 셀프 호스팅 버전의 공개와 함께 Mach는 이제 단순한 실험 장난감이 아니라 차세대 시스템 소프트웨어를 탐구할 수 있는 견고한 기반으로 거듭났다.
기초 소프트웨어 혁명에 동참하라
현재 Mach는 GitHub(octalide/mach)와 공식 웹사이트(machlang.org)를 통해 오픈 소스로 공개되었으며 기여를 받고 있다. 제작자는 프로젝트가 ‘기여자를 찾고 있음’을 명시적으로 밝혔으며, 언어 설계, 표준 라이브러리 구현, 문서화, 백엔드 최적화 등 어떤 분야든 초기 참여를 통해 저수준 소프트웨어의 미래에 깊은 영향을 줄 수 있는 기회가 열려 있다. 컴파일러 프론트엔드, 코드 생성, 운영체제 개발에 열정을 가진 해커라면 프로젝트 저장소를 방문해 Mach 스스로 Mach를 컴파일하는 외부 의존성 없는 극한의 기쁨을 경험해 보시길 바란다. 우리는 어쩌면 완전히 새로운 생태계의 시작을 목격하게 될지도 모른다.