한국정보기술진흥원2026 제7회 청소년 IT경시대회 개최안내

Go 문법으로 C 코드 생성하는 'Solod' 언어 공개...가비지 컬렉션 없는 시스템 프로그래밍 위한 Go-C 트랜스파일러

thumbnail.webp
Go 문법의 편의성과 C의 성능·제어를 결합한 시스템 프로그래밍 언어
[한국정보기술신문] Go 언어의 문법을 사용하면서 C11 코드로 변환하는 프로그래밍 언어 'Solod(So)'가 오픈소스로 공개됐다. 이 언어는 Go의 타입 안전성과 도구 지원을 유지하면서 가비지 컬렉션 없는 시스템 프로그래밍을 가능하게 한다.

Go 문법으로 C 성능 확보

Solod는 Go 언어의 엄격한 부분집합으로, 소스 코드를 사람이 읽기 쉬운 C 코드로 트랜스파일한다. 개발팀은 "C로 시스템 프로그래밍을 하되, Go의 문법과 타입 안전성, 도구 지원을 활용한다"는 목표를 제시했다.
트랜스파일러는 Go 소스를 C11 헤더 파일(.h)과 구현 파일(.c)로 변환한다. Go 구조체는 C typedef 구조체가 되고, 메서드는 void 포인터 리시버를 가진 함수로 변환된다. Go의 string 타입은 커스텀 'so_String' 구조로 매핑된다.

런타임 없는 제로 오버헤드 설계

Solod는 가비지 컬렉션을 포함한 런타임을 제거해 성능을 확보했다. 벤치마크 결과 생성된 코드는 "일반적으로 Go와 동등하거나 더 빠른" 성능을 보인다고 개발팀은 밝혔다.
기본적으로 스택 기반 메모리 할당을 사용하며, 힙 할당은 표준 라이브러리를 통한 명시적 선택이 필요하다. 이런 설계로 성능이 중요한 애플리케이션에서 가비지 컬렉션 오버헤드를 완전히 제거했다.

구조체와 인터페이스 지원, 고루틴은 제외

현재 지원하는 기능은 구조체, 메서드, 인터페이스, 슬라이스와 고정 크기 배열, 다중 반환값, defer 문, 기본 제어 흐름이다.
반면 채널과 고루틴, 클로저나 람다 함수, 제네릭은 지원하지 않는다. 가비지 컬렉션도 설계상 제외됐다. 개발팀은 이런 제한을 통해 시스템 프로그래밍에 적합한 명확한 메모리 관리를 제공한다고 설명했다.

C 코드와 직접 연동 가능

Solod의 핵심 장점은 네이티브 C 상호 운용성이다. CGO 오버헤드 없이 C에서 So 코드를 호출하고 So에서 C 함수를 호출할 수 있다. 생성된 C 코드는 가독성이 높아 프로덕션 환경에서 사용하고 디버깅하기에 적합하다.
기존 C 코드베이스와 통합이 필요한 프로젝트나 임베디드 시스템 개발, 수동 메모리 관리가 필요한 성능 중심 애플리케이션에 활용할 수 있다.

설치와 사용법

설치는 Go가 필요하며 go install solod.dev/cmd/so@latest 명령으로 가능하다. 일반적인 작업 흐름은 Go 모듈 생성, Solod 의존성 추가, So 호환 패키지를 사용한 Go 코드 작성, so translate 또는 so build 명령으로 트랜스파일 또는 컴파일하는 순서다.
개별 파일이 아닌 모듈 단위로 작동하며, Go 도구와의 호환성을 유지한다. LSP, 문법 강조, go test 등 기존 Go 개발 환경을 그대로 활용할 수 있다.

초기 단계이지만 활발한 개발

현재 프로젝트 상태는 기본 Go 기능을 가진 트랜스파일러와 저수준 표준 라이브러리가 완성됐고, 핵심 표준 라이브러리 패키지들이 개발 중이다. 맵, 강화된 트랜스파일러, 완전한 윈도우 지원이 계획돼 있다.
GitHub에서 368회 커밋과 385개 스타, 8개 포크를 기록하며 초기 단계지만 활발한 개발이 진행되고 있다. 프로젝트는 단순함과 명확한 설계 선택을 강조하며, 언어 명세와 표준 라이브러리 레퍼런스, 인터랙티브 플레이그라운드를 제공한다.
한국정보기술신문 정보기술분과 전호재 기자 news@kitpa.org

함께 읽으면 좋은 기사

AWS, 이란 공격 받은 바레인·UAE 데이터센터 일부 데이터 "복구 불가" 공식화...피격 6개월 만의 발표, 여러 가용 영역 동시 피해로 설계 한계 넘어서

AWS, 이란 공격 받은 바레인·UAE 데이터센터 일부 데이터 "복구 불가" 공식화...피격 6개월 만의 발표, 여러 가용 영역 동시 피해로 설계 한계 넘어서

클라우드 3
애플, 아이폰 촬영 사진의 진위 증명하는 '레퍼런스 이미지' 공개...아이폰 18 프로 카메라 센서가 촬영 즉시 서명, 양자내성 암호 적용하고 촬영자 신원은 숨겨

애플, 아이폰 촬영 사진의 진위 증명하는 '레퍼런스 이미지' 공개...아이폰 18 프로 카메라 센서가 촬영 즉시 서명, 양자내성 암호 적용하고 촬영자 신원은 숨겨

정보보안 4
과기정통부, 원주에 디지털헬스케어 특화 'AI융합혁신교육원' 개소...의료데이터·피지컬 AI 교육으로 올해 160명 양성, 기업-대학 연계 프로젝트로 채용까지 잇는다

과기정통부, 원주에 디지털헬스케어 특화 'AI융합혁신교육원' 개소...의료데이터·피지컬 AI 교육으로 올해 160명 양성, 기업-대학 연계 프로젝트로 채용까지 잇는다

인공지능 · 유관기관 2
마이크로소프트, '.NET 11' 성능 개선 수백 건 공개...비동기 처리 구조 바꾸고 불필요한 검사·메모리 할당 줄여, 일부 코드는 5배 빨라져

마이크로소프트, '.NET 11' 성능 개선 수백 건 공개...비동기 처리 구조 바꾸고 불필요한 검사·메모리 할당 줄여, 일부 코드는 5배 빨라져

정보기술 4
애플, iOS 27 등 새 운영체제 배포 시작...'시리 AI' 영어 베타 공개...한국어는 10월 지원, 자녀 보호 기능 강화하고 앱 실행 속도 최대 30% 개선

애플, iOS 27 등 새 운영체제 배포 시작...'시리 AI' 영어 베타 공개...한국어는 10월 지원, 자녀 보호 기능 강화하고 앱 실행 속도 최대 30% 개선

인공지능 4
딥시크, KV 캐시 4분의 1로 줄인 'V4.1 플래시' 공개...층 간 캐시 공유·FP4 저장으로 장기 AI 에이전트 비용 절감 겨냥

딥시크, KV 캐시 4분의 1로 줄인 'V4.1 플래시' 공개...층 간 캐시 공유·FP4 저장으로 장기 AI 에이전트 비용 절감 겨냥

인공지능 4
오픈JDK, 자바 27 정식 출시...G1 기본 가비지 컬렉터·양자내성 TLS 도입

오픈JDK, 자바 27 정식 출시...G1 기본 가비지 컬렉터·양자내성 TLS 도입

정보기술 2
애플, 완전히 새로 만든 '시리 AI' 출시...iOS 27 등 새 운영체제에 차세대 애플 인텔리전스 탑재, 영어 베타로 먼저 시작해 한국어는 다음 달 지원

애플, 완전히 새로 만든 '시리 AI' 출시...iOS 27 등 새 운영체제에 차세대 애플 인텔리전스 탑재, 영어 베타로 먼저 시작해 한국어는 다음 달 지원

정보통신 · 인공지능 4
유웨이어플라이, 수시 원서접수 서버 장애 공식 사과...마감 10분 전 시스템 멈춰 접수 1시간 연장

유웨이어플라이, 수시 원서접수 서버 장애 공식 사과...마감 10분 전 시스템 멈춰 접수 1시간 연장

정보기술 · 정보보안 3
애플, 5초마다 심박 재는 '헬스 센싱 시스템' 애플워치 시리즈 12 공개...S11 칩으로 레디니스 점수·오디오 인텔리전스 도입, 18일 정식 출시

애플, 5초마다 심박 재는 '헬스 센싱 시스템' 애플워치 시리즈 12 공개...S11 칩으로 레디니스 점수·오디오 인텔리전스 도입, 18일 정식 출시

정보기술 5
애플, 첫 폴더블 아이폰 '아이폰 듀오' 내놨다...펼치면 7.6인치·접으면 5.4인치, 1999달러부터 10월 16일 예약 판매

애플, 첫 폴더블 아이폰 '아이폰 듀오' 내놨다...펼치면 7.6인치·접으면 5.4인치, 1999달러부터 10월 16일 예약 판매

정보기술 · 정보통신 5
젯KVM, 성냥갑 크기 원격제어 장치 '젯KVM 미니' 공개...리눅스 걷어내고 마이크로컨트롤러로 다시 설계, 3개 묶음 기준 개당 33달러부터 10월 26일 판매

젯KVM, 성냥갑 크기 원격제어 장치 '젯KVM 미니' 공개...리눅스 걷어내고 마이크로컨트롤러로 다시 설계, 3개 묶음 기준 개당 33달러부터 10월 26일 판매

정보기술 · 정보통신 4