Rust의 정수 타입이 옳다? 저자는 왜 생각을 바꿨나
Thoughts on Integers (2023)
프로그래밍 언어의 정수 타입 설계에 대한 블로그 글. 저자는 원래 Rust의 방식(명시적 크기, 부호/무부호 구분)이 최선이라고 믿었지만, C와 Odin을 탐구하면서 주소 크기 정수와 부호 있는 인덱스가 더 나은 기본값이라는 주장을 접하고 견해를 바꾼다. C에서 부호 있는 오버플로를 UB로 처리하는 이유, 성능과의 트레이드오프, 그리고 왜 unsigned가 인덱스에 적합하지 않을 수 있는지에 대한 논의를 담고 있다.
산술적으로 다루고 싶은 정수가 있다면, 모듈러 공간(2의 거듭제곱)이 아니라면, 반드시 signed로 만들어라. 더 많은 비트가 필요하면 비트를 더 가져라. signed로 유지하라.