Hacker News 의견
  • Rust와 Swift 같은 언어는 표현력이 높아 데이터 타입이나 메서드의 스레드 안전성을 컴파일러가 알려줌

    • 코드 리뷰 시 포인터 사용의 안전성을 일일이 확인할 필요가 없으며, 메모리 안전 언어를 사용하면 비즈니스 로직 구현에 집중할 수 있음
  • Rust 라이브러리 중 문서화가 부족한 경우가 많음

    • Rust는 불완전한 API 문서 문제를 해결하지 않으며, API 문서화를 철저히 하는 개발자가 문제를 해결함
  • Rust를 C처럼 사용하려고 하다가 빌림 검사기 문제로 어려움을 겪음

    • 함수 시그니처를 읽고 '&self' 또는 '&mut self'를 확인하는 것이 중요함
    • '&mut self'가 있는 경우, 인스턴스를 스레드 간에 공유하려면 뮤텍스를 사용해야 함
  • Rust API를 보면 대부분의 경우 올바르게 사용하는 방법을 알 수 있음

    • 그러나 일부 Rust API는 함수 시그니처만으로는 타입을 생성하는 방법을 알 수 없어 구글링이 필요함
  • Rust의 구체적인 예시로, 데이터 보호를 위해 잠금을 사용하는 방식이 있음

    • Rust에서는 잠금이 보호된 데이터를 감싸고 있어 잠금을 해제하지 않고 데이터를 접근할 수 없음
  • 다른 언어에서도 API를 중복 구현하면 코드와 문서의 명확성을 높일 수 있음

    • 최근 경험으로, 네트워크 스택에서 잘못된 변경이 검토를 통과해 안정 버전에 포함된 사례가 있음
    • 이러한 문제를 피하기 위해 도구를 사용하는 것이 좋음
  • Python 확장에서 C를 사용할 때 호출 규약을 알아야 하는 문제가 있음

    • Rust와 PyO3를 사용하면 이러한 문제가 사라지고 진입 장벽이 낮아짐
    • C++도 비슷한 기능을 제공하지만, Rust만큼 안전하지 않음
  • 이러한 사람들은 영웅이며 훌륭한 작업을 수행함

  • 완전한 자체 문서화 코드를 구현하는 데 한 걸음 더 가까워짐