C의 유연한 정수 타입은 설계 실수가 아니었다
Key Point
C의 정수 타입 설계 철학을 이해하면 왜 현대 언어들은 고정 크기를 택했고 C는 여전히 유연성을 유지하는지, 그리고 이식 가능한 저수준 코드를 어떻게 작성해야 하는지 알 수 있다.
핵심 요약
- C에서 int, short, long 같은 타입은 고정된 크기를 갖지 않으며, 컴파일러와 머신 아키텍처에 따라 달라진다.
- 많은 프로그래머는 이를 설계 실수라고 보지만, 실제로는 1970년대 다양한 아키텍처에서 이식성을 달성하기 위한 의도된 선택이었다.
- C 설계 당시 컴퓨터는 12, 18, 36, 60비트 워드, 6/7/8/9비트 문자 집합, 세 가지 음수 표현 방식 등 극도로 다양했다.