최근 Windows 커널이 Rust로 작성되고 있다..라는 기사가 돌아다니고 있고 이를 확대 해석 해서 당장 Windows의 모든 코드가 Rust로 작성되고 있다는 식으로 선동하는 기사/글 들이 많이 보인다.
https://news.hada.io/topic?id=9078
David Weston(트위터@dwizzzleMSFT)라는 MS 보안쪽 부사장 아저씨가 이스라엘에서 발표한 내용에서 Rust로 Windows의 일부 요소들의 포팅작업에 대해 언급했다.
풀영상은 이쪽.
내가 볼 땐 Rust로 포팅한 얘기보다 sandbox얘기가 핵심인거 같지만… Rust에 대한 내용에 대해서 평가하자면 마지막 슬라이드 한장으로 요약하면 될 것 같다.

1) DirectWrite는 예전에 DirectX 패키지에 포함됐던 요소인데 Project Reunion->Win UI로 가면서 Windows OS에서 분리해서 SDK에 포함시켰다. 아마 네이티브로 DWrite를 사용해본 사람들은 거의 없을거다. UWP아니면 쓸 일이 없었거든. VOXEL HORIZON의 UWP빌드에선 DWrite를 사용한다.
(관점에 따라 다르지만) Windows에서 핵심적인 요소는 아니다. 실제로 다른 OS요소에 종속성도 거의 없다. 안전빵으로 테스트하기에 좋다는거다.
2) GDI 포팅 부분에서 REGION을 대문자로 표기한걸 보면
Windows GDI의 Region기능에 대한 얘기인것 같다.(https://learn.microsoft.com/en-us/windows/win32/gdi/regions
)
당연히 GDI전체가 아니고 GDI의 극히 일부 기능이다.
이것도 정식빌드에 적용되는게 아니고 Insider Preview에 적용’예정’이다. Insider Preview의 기능은 끝까지 정식빌드에 채용되지 않는 경우도 많다.
발표자가 Windows 개발팀 수장도 아니고(본인/본인 팀 이 작성한거 아니라고 했음) 첫번째 실험-DWrite Core, 두번째 실험-GDI-REGION이라는 표현을 썼다.
실험적인 시도이고 이후 어떻게 될지는 알 수 없다.
늘상 하는 얘기지만 MS는 의외로 급진적인 회사이기 때문에 이러한 시도를 하는게 그다지 놀랍지는 않다. 물론 이러다가 손바닥 뒤집듯이 뒤집어 엎는 일도 흔하다.
본인은 ASM하고 찰싹 붙는 언어를 좋아하기 때문에 C를 좋아한다. Rust에 대해 호의적인 입장은 아니다.
다만 C#, 자바, Rust중 하나를 하지 않으면 쏴버리겠다고 협박한다면 GC 없는 Rust를 선택하긴 할 것이다.
Visual Studio에서 Rust를 공식 지원하고 DirectX/Win32 API를 제대로 활용할 수 있다면 조금씩 적용해볼 생각은 있다. 하지만 아직은 아니지. 환경 갖춰지면 그 때 해도 된다.
그런데 Rust광팬들이 무척 심기를 불편하게 만든다.
그냥 어디서든 Rust에 대한 긍정적인 내용이 있는 글만 보면 죄 긁어다가 과대포장을 한다.
‘나는 선구자고 늬들은 틀딱이야’ 이런식으로 떠들고 다니는데 영 보기 싫네.
빠가 까를 만든다고.