새로운 시스템 언어 솔로드(Solod)가 공개되어 개발자들의 관심을 모으고 있습니다. 솔로드는 기존 Go 언어의 부분집합으로 설계되어, Go의 풍부한 생태계와 도구들을 그대로 활용하면서도 C 언어 개발자들이 선호하는 수동 메모리 관리와 같은 시스템 프로그래밍 기능을 제공하는 것이 특징입니다. 이는 새로운 언어를 위해 방대한 생태계를 처음부터 구축할 필요 없이, 검증된 Go의 인프라를 활용하려는 실용적인 접근 방식입니다.
솔로드는 구문 강조, 언어 서버 프로토콜(LSP), 린터, 패키지 관리 등 기존 Go 도구 체계를 그대로 사용합니다. 개발자는 `go install` 명령어로 솔로드 명령줄 도구인 `so`를 설치하고, `go mod`를 통해 프로젝트를 초기화하는 등 일반적인 Go 개발 흐름과 유사하게 시작할 수 있습니다. 다만, 솔로드는 Go의 전체 문법 중 일부만 지원하므로, 함수 리터럴이나 반복자 등 미지원 기능은 전용 `so` 도구가 추가로 검사하여 오류를 알려줍니다. 모든 솔로드 코드는 읽을 수 있는 C11 코드로 변환된 후 GCC나 Clang 같은 표준 C 컴파일러로 컴파일되며, 별도의 런타임이 없어 C 코드와의 상호운용 비용이 거의 들지 않는다는 장점이 있습니다.
솔로드의 등장은 Go의 생산성과 C의 저수준 제어 능력을 동시에 원하는 개발자들에게 새로운 선택지를 제공합니다. 특히 Go 표준 라이브러리의 코드를 최소한의 수정으로 재사용하고, 명시적 할당자(explicit allocator)를 통한 수동 메모리 관리를 지원함으로써 시스템 프로그래밍의 효율성을 높였습니다. 이는 가비지 컬렉션(Garbage Collection) 없이 메모리를 직접 제어해야 하는 임베디드 시스템이나 고성능 컴퓨팅 환경에 유용할 수 있습니다. 하지만 일부 개발자들은 Go의 가장 큰 장점인 간편한 크로스 플랫폼 빌드와 가비지 컬렉션을 포기해야 하는 점, 그리고 C 컴파일러에 의존하면서 발생하는 잠재적인 복잡성에 대해 우려를 표하기도 합니다. 솔로드는 '기능이 더 많은 Go'나 '더 단순한 Rust'를 지향하기보다는, Go의 강점을 빌려 C 개발자들에게 더 친숙한 시스템 언어 환경을 제공하려는 독특한 시도로 평가됩니다.