Rust in 2018

Matthias Endler

2018년의 Rust

원문은 Matthias Endler님이 에 게재했습니다. 이 블로그 구독하기

예전에 Rust의 미래에 대해 글을 쓴 적이 있는데, 아무도 내가 또 쓰는 걸 막지 않는 것 같다! 오히려 이번에는 Rust 코어 팀에서 직접 글을 요청하기까지 했다. 조금 늦게 합류하긴 했지만, 2018년 Rust의 우선순위에 대한 나의 소견을 적어보려고 한다.

이 사람은 도대체 누구인가?

우리가 한 번도 만난 적 없을 확률이 우울할 정도로 높다 — 정말 아쉬운 일이다. 배경을 조금 설명하자면, 나는 Python이나 PHP 같은 동적 타입 언어 출신이다. Rust는 클럽 경비원과 말다툼하는 기분 없이 진짜 로우레벨 코드를 쓸 수 있게 해준 첫 번째 언어였다.

나에게 Rust는 파이어 플라워가 아니라, 나만의 메가조드1다. 나는 Rust가 성공하길 바라지만, 그러려면 몇 가지 과제를 꼭 짚고 넘어가야 한다.

기여를 더 쉽게 만드는 컴파일러 문서

Rust Belt Rust의 Impl 기간 동안 컴파일러를 함께 해킹하는 Rust 프로그래머들

오하이오주 콜럼버스에서 열린 Rust Belt Rust에 갔을 때 Niko Matsakis, Ariel Ben-Yehuda, Santiago Pastorino를 만났다. 그 멋진 분들은 impl 기간 동안 non-lexical lifetimes 작업에 몰두하고 있었다. 그들이 컴파일러를 해킹하는 모습을 지켜보는 건 내게 큰 영감이 되었고, 나도 기여할 수 있지 않을까 하는 생각이 들기 시작했다. 말할 것도 없이, 컴파일러 해킹에 입문하는 문턱은 꽤 높다. 나는 아직 아무것도 기여하지 못했다.

내가 정말 하고 싶은 것 중 하나는 30~60분 정도의 짧은 시간을 내어 컴파일러의 자잘한 것들을 하나씩 고치는 것이다. 변수 이름 하나 바꾸기, 테스트 작성하기, 문서 추가하기처럼 간단한 일일 수도 있다. 그래서 나의 첫 번째 바람은 언어에 기여하는 일이 더 쉬워지는 것이다. 이는 폭넓은 멘토링, 더 많은 입문자용 이슈, 그리고 더 나은 컴파일러 문서를 통해 이룰 수 있다. 이 모든 것은 이미 Niko가 제안한 바 있다.

중급자를 위한 더 많은 자료

비슷한 맥락에서, 중급 Rust 프로그래머를 대상으로 하는 더 많은 강연/가이드/책이 나오길 바란다. 여기에는 Rust로 대규모 프로젝트를 어떻게 구조화하는지에 대한 논의와 Rust 특유의 디자인 패턴도 포함된다. 나는 전문적인 Rust 활용에 대해 더 많이 읽고, 다양한 산업 분야의 사례 연구를 보고 싶다. 예를 들어 snips.ai라는 스타트업은 Rust를 이용해 온디바이스 음성 비서를 만들었다. 그들은 C와 C++ 라이브러리를 연동했는데, 그들의 여정에 대해 더 듣고 싶다.

RFC 프로세스 개선

나는 RFC 프로세스를 최대한 꼼꼼히 따라가려 하지만, 시간이 제한적이다. 내 바람은 어떤 RFC를 열든 그 상태를 즉시 파악할 수 있는 것이다.

  • 주요 장단점을 포함한 논의 요약.
  • 바로 맨 앞에 나오는 간단한 사용 예제.
  • 안정화를 향한 다음 단계.

예를 들어 (그리 무작위이지 않은) 이슈를 보면, 어디서부터 봐야 할지조차 모르겠다. 지금 가장 큰 걸림돌은 무엇인가? 누가 적극적으로 추진하고 있는가? 나는 어떻게 도울 수 있는가?

GitHub는 코드에는 훌륭하지만, 새로운 기능에 대한 논의는 자주 걷잡을 수 없이 커진다. 이는 Rust에만 국한된 문제도 아니다. Docker, Kubernetes, Node 같은 다른 대형 프로젝트만 봐도 알 수 있다. 어쩌면 이를 위한 새로운 도구가 필요할지도 모른다.

단골 주제들

2018년에 안정화되길 바라는 기능을 두 가지 꼽으라면, ? in mainnon-lexical lifetimes일 것이다.

물론 더 언급할 것도 있지만, 더 빠른 컴파일 시간, impl Trait, 제너레이터 같은 이야기로 지루하게 하진 않겠다. 우리는 이미 좋은 방향으로 가고 있으니, 대신 Nick Cameron의 글을 참고하길 바란다.

나는 문서화와 멘토링을 개선한다면, 올해 기여자 수를 크게 늘리고 많은 이들이 기다려온 기능들을 안정화할 수 있을 것이라 확신한다.

1. 참고: 나는 파워레인저를 단 한 편도 본 적이 없다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글