마이크로소프트, Rust를 내부 Tier-1 언어로 지정하고 MSVC용 rustc 코드생성 백엔드 운용
- 마이크로소프트가 Rust를 Tier-1 내부 개발 언어로 지정해 C++, C#, TypeScript와 같은 수준으로 보안 도구체인 빌드, 개발 도구, 품질 절차, 플랫폼 통합, SDL 준수 경로를 제공함
- 마이크로소프트 DevDiv 팀이 rustc_codegen_utc를 개발했으며, rustc의 공통 백엔드 인터페이스에 연결해 MSVC UTC 코드생성 백엔드를 사용하게 함
rustc_codegen_utc는 2026년 초부터 프로덕션 준비 상태이며, Rust와 C++가 Windows에서 같은 코드생성 기반을 쓰도록 설계됨- 공유 백엔드는 Windows ABI 호환, 바이너리 하드닝, Hotpatch를 포함한 링크 후 분석·서비스, 디버깅·크래시 덤프 분석, 프로파일링과 커버리지를 Rust에 연결함
- 마이크로소프트는 MSVC로 빌드한 C++와 Rust를 함께 쓰는 프로젝트에서 언어 수준 FFI 계약, 바인딩, 의미 차이, 빌드 시스템도 별도 상호운용 과제로 다루고 있음
Hacker News opinions
Visual Studio에서 Rust 디버깅 지원이 진짜 Tier-1인지 궁금함. VS Code 지원과는 다른 문제임
VS Code에는 이미 디버깅 지원이 꽤 좋음. 레거시 C/C++ 코드와 같이 써야 하거나 드라이버를 만드는 경우가 아니면 풀 Visual Studio를 서두를 이유는 적어 보임
Windows에서 mold나 wild 같은 현대적인 링커 지원도 마이크로소프트가 후원해줬으면 함
Visual Studio로 Rust 바이너리를 디버깅하고 프로파일링해봤음. 표준 컨테이너와 enum의 natvis 시각화가 약했고, PDB에 시각화 정보를 넣는 crate를 따로 만들었는데 지금은 Rust의 #[debugger_visualizer] 속성도 있음
주요 OS 공급사이자 C/C++ 도구 공급사들이 시스템 프로그래밍의 신규 개발 언어 선택지를 분산한 셈임. MSVC와 Rust 통합 소문도 공개적으로 확인됐음
정작 궁금한 건 rustc_codegen_utc를 마이크로소프트 밖에서도 쓸 수 있게 공개할지임
Zulip 스레드에서 공개가 계획이라고 답했지만, 무엇을 어느 범위까지 오픈소스로 낼지는 아직 모른다고 했음
Rust는 임베디드, 데스크톱, 과학 계산, OS와 드라이버, 고성능 작업에서 잘 맞음. 메모리 안전성 하나만 내세우는 언어는 아니라고 봄
빠른 프로토타이핑은 JavaScript나 Python이 낫고, 기존 프로그램에 스크립트를 넣는 용도는 Lua나 Scheme이 더 맞음. 서버 API는 Rust도 되지만 Go가 더 어울린다고 생각함
Rust로 동시성 코드를 처음 짜는 사람들은 Arc<RwLock<T>>를 여기저기 뿌리기 쉬움. 그러면 결국 최악의 가비지 컬렉터 비슷한 구조가 됨
내가 Rust를 쓰는 주된 이유는 대수적 자료형, 패턴 매칭, Cargo임. OCaml에 Cargo 같은 경험이 있으면 옮길 생각도 있음
Windows 날씨 앱이 1GB 넘는 메모리를 쓰는 문제를 Rust Tier-1 채택이 해결해주면 좋겠음
그 문제는 구현 언어보다 WebView2와 추적 기능, 재사용 라이브러리 때문임. 큰 회사 앱은 Rust로 써도 조직이 요구하는 프레임워크 때문에 메모리를 많이 쓸 수 있음