새로운 프로그래밍 언어 '쿼카(Quokka)'가 공개되었습니다. 쿼카는 현대 워크플로우를 위한 예측 가능성과 신뢰성에 중점을 둔 자체 호스팅(self-hosting) 언어로, 특히 인공지능(AI) 모델의 미세조정(fine-tuning)을 간편하게 지원하는 점이 특징입니다. v0.1.0 버전으로 MIT 라이선스(License) 하에 윈도우(Windows) 환경에서 사용할 수 있습니다.
쿼카의 핵심 설계 원칙은 명확성과 신뢰성입니다. 예외(exception)를 통한 숨겨진 제어 흐름 없이 'Result'와 'Option' 타입을 사용해 오류를 명시적으로 처리하며, 변수는 기본적으로 불변(immutable)이고 상태 변경은 명시적(explicit)으로 선언해야 합니다. 이는 코드 추적을 용이하게 하여 예측 가능한 동작을 보장합니다. 또한, 쿼카는 전체 툴체인이 쿼카 자체로 구축된 자체 호스팅 언어이며, 'quokka check-self' 명령어를 통해 다단계 부트스트랩(bootstrap) 과정에서 암호화 해시(hash)를 비교하여 빌드의 정확성을 검증할 수 있습니다.
쿼카는 머신러닝(ML) 통합을 위한 표준 라이브러리 확장 '조이(Joey)'를 제공합니다. 조이는 파이썬(Python) 및 파이토치(PyTorch)와 엄격하게 타입이 지정된 JSON IPC(Inter-Process Communication) 경계를 통해 연동되어, 코어 언어의 복잡성을 최소화하면서도 강력한 ML 기능을 활용할 수 있게 합니다. 현재 조이는 언슬로스(Unsloth)를 통해 라마3(Llama-3)와 같은 대규모 언어모델(LLM)의 로라(LoRA) 미세조정을 지원하며, 쿠다(CUDA) 가속 훈련도 가능합니다. 향후 파이썬 프로세스 없이 네이티브(native)로 ML 작업을 수행하는 완전한 조이 런타임(runtime)을 목표로 개발 중입니다.
쿼카는 단 한 명의 개발자가 소규모 C 부트스트랩 호스트부터 완전한 자체 호스팅 컴파일러(compiler)까지 구축한 프로젝트입니다. 이는 복잡한 시스템 개발도 소규모 팀이나 개인의 노력으로 가능하다는 것을 보여줍니다. 쿼카의 예측 가능한 설계와 검증 가능한 빌드 프로세스는 특히 신뢰성이 중요한 금융, 의료, 임베디드(embedded) 시스템 분야에서 잠재력을 가질 수 있습니다. 또한, 조이를 통한 간편한 AI 미세조정 기능은 AI 개발자들에게 새로운 선택지를 제공하며, 복잡한 ML 파이프라인(pipeline) 구축의 진입 장벽을 낮추는 데 기여할 것으로 보입니다.
