핵심 요약
- 존 카맥이 대용량 데이터 스택과 직접 메모리 매핑을 지원하는 신규 프로그래밍 언어 '구스(Goose)'를 보고 매우 깔끔하다며 호평했습니다.
- 카맥은 일반적인 파일·네트워크 파싱이 필요 이상으로 100배나 느린 경우가 많다며, 구스의 상대 참조 및 구조 검증 방식을 높게 평가했습니다.
- 구스 개발자는 컴파일러 등 복잡한 프로젝트도 이식되고 있으며 포인터 없이 가변 크기 데이터를 인라인 처리할 수 있다고 설명했습니다.
요약 '둠(Doom)'과 '퀘이크'의 전설적인 프로그래머 존 카맥이 X(구 트위터)에서 새로 개발된 프로그래밍 언어 '구스(Goose)'를 극찬해 개발자 커뮤니티에서 화제가 되고 있습니다.
구스의 개발자인 바우터 판 오르트메르선(Wouter van Oortmerssen)은 해당 언어가 프로그램에 정적으로 필요한 만큼 대용량 스택을 예약하고, 범프 할당과 안정적인 포인터를 지원하며 컴파일 타임 안전성을 보장하면서도 C++나 Rust보다 훨씬 빠르다고 소개했습니다.
이에 대해 존 카맥은 "정말 깔끔해 보인다"며 감탄을 표했습니다. 특히 여러 데이터 스택의 자동 분석 및 활용, 크기 조절 가능한 필드 기능 덕분에 '상당히 많은 작업이 가능한 수준'에서 '기본적으로 거의 모든 작업을 처리할 수 있는 수준'으로 끌어올렸다고 평가했습니다. 또한 상대 참조와 내장 바이너리 구조 검증을 통해 데이터 구조의 직접적인 메모리 매핑과 네트워크 데이터 즉각 처리가 가능하다고 짚으며, "파일과 네트워크 데이터를 파싱하는 작업은 대개 불필요하게 100배나 느리다"고 지적했습니다.
개발자 바우터는 컴파일러처럼 복잡한 코드베이스도 구스로 이식되고 있으며, 포인터 없이도 가변 크기 데이터를 인라인으로 중첩할 수 있어 선형 데이터를 네이티브하게 메모리 매핑(mmap)하거나 캐싱할 수 있다고 덧붙였습니다. 한편 댓글에서는 구글의 C++ 메모리 정책과 비교하는 등 최적화 설계 방식을 두고 활발한 논의가 이어졌습니다.
해외 반응 번역
초 치려는 건 아니지만(😁), 이건 구글의 거의 모든 C++ 코드에서 적어도 지난 15년 동안 필수였던 메모리 할당 전략과 같음. 가능한 한 스마트 포인터를 통해 스택에 메모리를 할당해야 한다는 건데, 하지만 이 전략이 완벽한 건 아님...
트윗 읽으면서 바로 구스(Goose) 생각하고 있었는데, 구스 진짜 흥미로워 보이긴 하네.
Sponsored · 광고