프로그래머가 코드를 딱 봤을때
이게 컴파일되고나면 대략 어떤 머신코드가 생길지 직관적으로 바로 상상이가는게 중요하다고 생각함
딱 봤을때 아무리 작은 4바이트 int나부랭이라도 이게 카피가 될지 안될지, 메모리 어디에 저장될지 등등이 명확한게 좋다고 생각함
예를들어 C++는 거기에 변태적으로 특화된 케이스인거 같음. 물론 숙련된 프로그래머 기준으로 따져야겠지? 초짜가 보면 C++라도 더러운 임시변수 lifetime rule 절대 알리가 없음.
질문) Rust는?
C는 원탑이라서 논외
.clone() 명시하는거 부터 되게 직관적이라 생각하는데
그 점이 C가 사라지지 않는다는 근거 중 하나지. 어셈블리 매크로라고 생각할 수 있으니. 단지 그 점이 더 나은 최적화의 가능성을 막고 표현력에 아쉬운 점을 줘서 그 부분을 긁어주는 다른 언어들, 특히 러스트가 나온 거고.