
프로그래밍언어 러스트의 커뮤니티에서 매년 발표하는 설문조사 보고서 ‘2024년 러스트 상태 조사(2024 The State of Rust survey)’가 공개됐다. 최신 보고서는 러스트 커뮤니티가 직면한 어려운 상황을 담았다.
지난 13일 공개된 2024년 러스트 상태 조사에 따르면, 러스트 사용자들은 언어의 성능적 이점에도 불구하고 너무 복잡해질 수 있다는 우려를 가진 것으로 조사됐다.(보고서 바로가기)
러스트의 미래 중 가장 걱정되는 것을 묻는 질문에 45.2%가 ‘기술 업계에서 충분히 활용되지 않을 것’이라고 답했다. 이는 전년 42.5%보다 3%포인트 늘어난 것이다. 응답자 45.2%는 ‘너무 복잡해질 것’이라고 답했다. 전년보다 2.2%포인트 늘어난 수치다. ‘러스트 개발자와 유지관리자에 대한 지원 부족’, ‘러스트 재단의 프로젝트 거버넌스 부족’ 등도 높은 우려 사항으로 지적됐다.

응답자들은 러스트의 생산성 제한 요소로 ‘느린 컴파일’을 가장 많이 꼽았다. ‘디버깅에 대한 열악한 지원’, ‘러스트 컴파일러 아티팩트의 높은 디스크 사용량’ 등도 높은 비율을 차지했다. 반면, ‘런타임 성능’, ‘컴파일러 정확성 및 안정성’, ‘설명서’ 등에선 상대적으로 높은 만족도를 보였다.
러스트는 매년 가장 관심받는 언어 1위를 차지하고 있지만 실제 사용자 커뮤니티는 폭발적으로 성장하지 못하고 있다. 작년말 공개된 2024 스택오버플로우 개발자 설문조사에서도 러스트 사용자가 2023년 13.05%에서 2024년 12.6%로 감소했다.
러스트는 메모리 안전 언어로 미국 정부와 마이크로소프트, 아마존 등 대형 기업의 지원 사격을 받고 있지만, 사용자 증가가 정체되고 있다. 러스트가 배우기에 너무 복잡하고 어렵다는 인식이 고착화되는 듯하다.

전체 응답자의 92.5%가 러스트 사용자라고 답했는데, 이는 전년 93.4%보다 약간 줄어든 것이다. 러스트를 사용하지 않는다고 답한 응답자 327명의 30.6%는 러스트가 배우기 어렵다는 이유를 꼽았다. 가장 많은 비율을 차지한 이유는 ‘러스트를 시도할 기회가 없어서’였다.
과거 러스트를 사용했으나 지금은 사용하지 않는다고 답한 응답자 348명 중 36%는 그 이유를 ‘통제할 수 없는 외부 요인’ 때문이라고 답했다. 기회를 얻으면 다시 러스트를 사용하겠다고 답한 응답자가 63.7%였다.
러스트를 더 이상 사용하지 않는 사람 중 ‘배우기 너무 어려워서’라고 답한 비율이 27.1%로 전년보다 3.5%포인트 증가했다. ‘회사의 목표가 변경됐기 때문’ 혹은 ‘러스트가 실제로 필요하지 않기 때문’ 등을 꼽기도 했다.
해당 설문조사는 작년 12월 5일부터 23일까지 실시됐다. 올해 9번째로 실시된 이 설문조사는 글로벌 러스트 커뮤니티 참여자를 대상으로 실시된다. 올해의 경우 9450명이 설문조사를 시작해 7310명(77.4%)가 완료했다. 작년 설문조사보다 참여율과 완료율이 낮아졌. 작년의 경우 11950명이 설문조사를 시작해 9710명(82.2%)이 완료했다. 러스트재단 측은 담당자 변경 과정에서 조사 기간이 예년의 절반으로 줄었고, 조사 길이가 너무 길었기 때문이라고 해석했다.
러스트 전문 역량 수준을 묻는 질문에 응답자 53.5%는 자신을 생산적이라고 했다. 이는 전년 47%보다 늘어난 수치다. 러스트로 단순한 프로그램만 만들 수 있다고 답한 비율은 19.8%로 전년 32.2%에서 감소했다. 러스트를 프로덕션 레디 수준으로 작성할 수 있지만 어려움을 겪는다고 답한 비율은 24.9%로 전년 28.2%보다 약간 줄었다.

직장에서 러스트를 사용하느냐는 질문에 응답자의 38.2%는 ‘대부분의 코딩에서 사용한다’고 답했고, 13.4%는 ‘일주일에 몇번 사용한다’고 답했다. ‘가끔 사용한다’는 응답이 18.1%였고, ‘사용하지 않는다’는 30.3%였다. 둘 다 작년보다 10% 내외로 개선됐다.
소속 기업에서 러스트를 중요한 용도로 사용한다는 답변은 45.5%로 전년보다 6.8%포인트 증가했다. 러스트를 중요하게 다루지 않는다고 답한 비율은 25.9%로 전년보다 3.9%포인트 줄었다. 조직에서 러스트 채택을 검토중이거나 고려중이란 답은 16.6%로 전년보다 1.3%포인트 줄었다.
조직이 러스트에 투자한 가장 큰 이유로 ‘비교적 정확하고 버그없는 소프트웨어를 구축할 수 있는 능력(87.1%)’이 제일 많이 꼽혔다. 속도와 메모리 풋프린트 등 성과 특성(84.5%)도 많이 꼽혔다. 보안과 안전성이 74.8%로 뒤를 이었다.
러스트 언어 용도로 서버 애플리케이션(53.4%), 분산 시스템(25.3%), 클라우드 컴퓨팅 앱(24.3%) 등이 많았다.
러스트를 사용하는 플랫폼은 리눅스(73.7%)가 가장 많았다. 다음으로 맥OS(32.4%), 윈도우(29.8%) 순이었다. 13.3%는 윈도우리눅스서브시스템(WSL)을 사용한다고 답했다. 개발하는 러스트 소프트웨어의 타깃 OS나 런타임을 묻는 질문에 87.1%가 리눅스를 꼽았고, 윈도우(44.8%), 맥OS(29.7%)가 뒤를 이었다. 브라우저용 웹어셈블리(23%), 임베디드 플랫폼(16.8%) 등도 많았다.
러스트 사용자가 가장 많이 쓰는 개발환경(IDE)으로 ‘비주얼스튜디오코드(56.7%)’가 가장 많았는데, 전년보다 5%포인트 감소했다. 대신 러스트로 구축된 편집기 ‘제드(Zed)’의 비율이 전년 0.7%에서 8.9%로 크게 늘었다.
러스트 버전 중 가장 인기있는 버전은 ‘최신 안정화 버전(90.2%)’이었다. ‘최신 나이틀리 버전(31.7%)’이 다음으로 많았다. 베타 툴체인을 쓴다는 응답자는 1.6%였다. 나이틀리 버전 사용자들은 주로 언어의 특정 불안정한 기능에 접근하기 위해서라고 답했다.
러스트를 가장 먼저 학습하는 경로로 러스트 문서와 ‘러스트 입문 서적’이 각각 86.4%, 85.7%로 가장 많았다. 러스트로 작성된 소스 코드(62.1%), 블로그(57.4%) 등이 뒤를 이었다. 이는 러스트가 업무나 다른 작업 등 실전을 위해 학습되고 있다는 것을 의미한다.

반면, 대학교를 비롯한 정규 교육과정을 통한 러스트 입문은 매우 적다. 대학교 커리큘럼으로 접했다는 비율은 1.9%에 불과했다. 지난 1년간 정규 교육이나 지도 형태로 러스트를 배웠냐는 질문에 94.5%가 ‘아니오’라고 답했다. 이는 전년보다 3.2% 늘어난 수치다. 대학교나 기타 교육기관에서 배운다는 답은 3.2%에 불과했고, 그마저도 전년보다 1.9% 감소한 것이다.
러스트는 최근 오픈소스 커뮤니티에서 거대한 논쟁의 소용돌이 한가운데 있다. C언어로작성돼온 리눅스커널에 러스트 코드를 병합하는 문제를 두고 물밑에 가라앉았던 긴장이 거칠게 표면화된 것이다.
지난 1월 18일부터 이달 초까지 리눅스커널 관리자 메일링리스트에서 러스트 코드로 작성된 장치 드라이버의 DMA API 접근 요청을 두고 격렬한 논쟁이 벌어졌다. 장치 드라이버의 리눅스커널 메모리 매핑 부분을 담당하는 유지관리자 크리스토퍼 헬위그가 해당 드라이버의 승인을 거부했고, 리눅스용 러스트 개발자들과 리눅스커널 유지관리자들이 격돌했다. 크리스토퍼 헬위그는 러스트를 ‘암’으로 지칭하면서, 모든 수단을 동원해 러스트의 커널 코드베이스로 확산을 막겠다고 선언해버렸다. Arm 기반 애플 맥용 아사히리눅스 프로젝트 책임자인 헥터 마틴은 크리스토퍼 헬위그와 테어도어 조 등 유지관리자들의 행동을 사보타주라고 맹렬하게 비난했다. 리누스 토발즈는 계속 침묵을 지키다가 헥터 마틴의 행동을 ‘브리게이딩’이라며 나무랐다. 헥터 마틴이 이에 리눅스커널 유지관리자에서 사임했고 아사히리눅스 리더도 그만뒀다.
약 두 달간 이어진 긴장은 지난 9일 리눅스용 러스트 프로젝트를 주도하는 미겔 오헤다가 ‘러스트 커널 정책’을 발표하고 프로젝트 진행 의지를 분명히 하면서 조금씩 정리되는 분위기다.
18일 크리스토프 헬위그는 C로 수행하는 기능을 러스트 라이브러리로 번역하는 ‘러스트 바인딩’을 반대한다는 입장을 다시 밝혔다. 그는 “러스트 실험의 목표가 무엇인지 알고 싶다”며 “메모리 안전성과 관련된 기존 문제를 해결하려면 기존 코드를 해결하고 개량할 방법을 찾아야 한다”고 주장했다.
그러자 20일 리누스 토발즈는 크리스토프 헬위그에게 커널의 러스트 바인딩 의미를 설명하고 C 관리자가 무엇을 제어할 수 있고 무엇을 할 수 없는지 설명했다. 리누스 토발즈는 헬위그에게 “당신이 반대한 풀리퀘스트는 DMA 계층을 전혀 건드리지 않았다”며 “말그대로 또 다른 사용자였고, 완전히 분리된 하위 디렉토리로 당신이 유지 관리하는 코드를 변경하지 않았다”고 지적했다. C 코드베이스를 변경하지 않고 호출만 하는 외부의 러스트 코드를 반대하는 건 권한을 넘어선 것이라고도 했다.
리누스 토발즈와 함께 리눅스커널을 관리하는 크로아 하트만도 러스트 도입을 지지하고 나섰다. 그는 “앞으로 20년 이상 프로젝트의 성공을 보장하려는 시도를 포기하면 안 된다”고 밝혔다.
글. 바이라인네트워크
<김우용 기자>yong2@byline.network