2018년의 Rust
전에도 Rust의 미래에 대해 글을 썼는데, 아무도 제가 또 쓰는 걸 막지는 않는 모양입니다! 오히려 이번에는 Rust 코어 팀에서 직접 글을 써 달라고 요청하기까지 했습니다. 조금 늦게 합류했지만, 2018년 Rust의 우선순위에 대해 제 생각을 조금 보태 보겠습니다.
이 사람은 대체 누구인가?
우리가 아직 한 번도 만난 적이 없을 가능성이 우울할 만큼 높습니다. 정말 아쉬운 일입니다. 제 배경을 조금 설명하자면, 저는 Python이나 PHP 같은 동적 타입 언어에서 왔습니다. Rust는 제가 입구를 지키는 경비원과 실랑이하는 기분 없이 진짜 저수준 코드를 작성할 수 있게 해 준 첫 번째 언어였습니다.
저에게 Rust는 fireflower가 아니라, 저만의 메가조드1입니다. 저는 Rust가 성공하기를 바랍니다. 그러려면 목록에서 몇 가지 항목을 지워야 합니다.
기여를 쉽게 만드는 컴파일러 문서

Rust Belt Rust에 참석하러 오하이오주 콜럼버스에 갔을 때, Niko Matsakis, Ariel Ben-Yehuda, Santiago Pastorino를 만났습니다. 이 훌륭한 분들은 impl 기간 동안 비어휘적 수명을 열정적으로 작업하고 있었습니다. 그들이 컴파일러를 열심히 고쳐 나가는 모습을 보면서 깊은 영감을 받았고, 저도 기여할 수 있을지 고민하기 시작했습니다. 말할 것도 없이 컴파일러 작업에 뛰어들기 위한 진입 장벽은 상당히 높습니다. 아직 저는 아무것도 기여하지 못했습니다.
제가 하고 싶은 일 중 하나는 30~60분 정도의 짧은 시간 단위로 틈틈이 컴파일러의 작은 문제를 하나씩 고치는 것입니다. 변수 이름을 바꾸거나, 테스트를 작성하거나, 문서를 조금 추가하는 정도로 간단한 일일 수도 있습니다. 그래서 첫 번째 바람은 언어에 기여하기가 더 쉬워지는 것입니다. 이를 위해서는 충분한 멘토링, 입문자용 이슈, 그리고 더 나은 컴파일러 문서가 필요합니다. 이 모든 내용은 이미 Niko가 제안한 바 있습니다.
중급 프로그래머를 위한 더 많은 자료
이와 관련해 중급 Rust 프로그래머를 대상으로 하는 강연, 가이드, 책도 더 많이 보고 싶습니다. 여기에는 Rust로 대규모 프로젝트를 어떻게 구성하는지에 대한 논의와 Rust에 특화된 디자인 패턴도 포함됩니다. 전문적인 Rust 활용 사례를 더 읽고 싶고, 다양한 업계의 사례 연구도 보고 싶습니다. 예를 들어 snips.ai라는 스타트업은 Rust를 사용해 기기에서 동작하는 음성 비서를 만들었습니다. 이들은 C와 C++ 라이브러리를 연동했는데, 그 과정에 대해 더 듣고 싶습니다.
RFC 프로세스 개선
저는 RFC 프로세스를 아주 꼼꼼히 따라가려고 하지만, 시간이 제한되어 있습니다. 제 바람은 어떤 RFC를 열더라도 즉시 현재 상태를 파악할 수 있는 것입니다.
- 논의의 주요 장단점을 요약한 내용.
- 맨 앞에 있는 간단한 사용 예시.
- 안정화까지 남은 다음 단계.
예를 들어 이 (그다지) 무작위가 아닌 이슈를 살펴보면, 어디서부터 시작해야 할지조차 모르겠습니다. 지금 가장 큰 걸림돌은 무엇인가요? 누가 이 일을 적극적으로 진전시키고 있나요? 저는 어떻게 도울 수 있을까요?
GitHub는 코드 관리에는 훌륭하지만, 새로운 기능에 관한 대화는 정기적으로 통제 불능 상태가 됩니다. Rust에만 해당하는 문제도 아닙니다. Docker, Kubernetes, Node 같은 다른 대규모 프로젝트를 보세요. 어쩌면 이를 위한 새로운 도구가 필요한지도 모르겠습니다.
늘 거론되는 기능들
2018년에 안정화되는 기능을 두 가지만 부탁할 수 있다면, ?를 main에서 사용하는 기능과 비어휘적 수명을 꼽겠습니다.
물론 더 언급할 수 있는 것들은 많지만, 더 빠른 컴파일 시간이나 impl trait, 제너레이터 같은 이야기를 늘어놓아 지루하게 만들지는 않겠습니다. 이 부분은 순조롭게 진행되고 있으니, 대신 Nick Cameron의 글을 읽어 보세요.
문서와 멘토링을 개선하면 기여자 수를 크게 늘리고, 올해 많은 사람들이 고대해 온 기능을 안정화할 수 있다고 확신합니다.
1. 주의 사항: 저는 파워레인저를 단 한 편도 본 적이 없습니다.↩
글을 무작위로 읽기