▲GN⁺ 2025-02-21 | parent | ★ favorite | on: Greg K-H: "Rust로 새로운 코드 작성은 모두에게 이익"(lore.kernel.org)Hacker News 의견 Rust 바인딩이 있으면 커널의 내부 ABI가 자유롭게 진화할 수 없고, 프로젝트가 C 코어와 Rust 측으로 나뉘게 될 위험이 있음. 그러나 내부 API가 안정화되면 Linux에 이익이 될 수 있음 커뮤니티와 사람들이 주요 문제임. 현재 커널 작업을 하는 사람들이 이 방향을 좋아하지 않으면 큰 문제임 Linux 리더십은 사람 문제에 집중하지 않는 것 같음. 현재 커널 개발을 하는 사람들이 이 방향에 동의하는 증거가 어디에 있는지 의문임 Rust를 수용하는 것이 얻는 이익보다 고통이 더 크다고 생각하는 사람들이 있음. 다른 방법으로도 이익을 얻을 수 있을 것이라고 생각함 예를 들어, bounds checking과 RAII와 같은 간단한 할당/해제 단순화가 Rust 없이도 가능할 수 있음 Clang을 필수 컴파일러로 만들고 이러한 확장을 채택하면 더 쉽게 효과를 얻을 수 있음 새로운 코드/드라이버를 Rust로 작성하면 이러한 종류의 버그가 발생하지 않음. 이는 모두에게 이익임 대부분의 사람들은 메모리 안전성을 원하지만, 전체적인 유지보수자가 되기를 원하지 않음 프로젝트의 실제 목표는 내부 커널 API 표면을 현대화하는 것임. Rust로 이 API를 작성하는 것이 얼마나 견딜 수 있는지가 진행 상황을 측정하는 가장 좋은 척도임 지난 15년 동안 거의 모든 커널 버그 수정 및 보안 문제를 본 사람으로서, 대부분의 버그는 C의 작은 코너 케이스에서 발생함. Rust에서는 이러한 문제가 사라짐 새로운 코드/드라이버를 Rust로 작성하면 이러한 종류의 버그가 발생하지 않음. C++는 이러한 이점을 제공하지 않음 Rust는 커널 API를 정의할 때 오류를 거의 불가능하게 만듦. 이는 Linux를 전반적으로 더 좋게 만듦 Rust 바인딩은 마법처럼 보이지만, 배우고 개발자들과 협력할 의향이 있음 Rust는 모든 문제를 해결하는 은탄환은 아니지만, 많은 부분에서 도움이 됨 Linux는 모든 사람들이 문제를 해결하는 도구임. 개발자들이 하드웨어를 위한 코드를 작성할 때 이러한 버그가 발생하지 않기를 원함 혼합 언어 코드베이스는 유지보수가 어렵지만, 우리는 커널 개발자임. 새로운 아이디어를 받아들이고 함께 성공하기 위해 노력해야 함 이 논의를 앞으로 나아가게 하기 위해 이 성명이 필요했음 기술적 장점에 집중하고 있지만, 새로운 프로그래밍 언어/도구 체인을 배우는 노력을 적절히 평가하지 않음 새로운 프로그래밍 언어를 마스터하는 것은 쉬운 일이 아니며, 일부 유지보수자는 개인적인 관심/동기 때문에 원하지 않을 수 있음 C++ 언어 위원회 문제는 모두가 가능한 한 빨리 그 언어를 포기해야 한다고 지적하고 있음.
Hacker News 의견