....
Rust는 "쓰레기 수집 없이 메모리 안전성을 제공하는 언어"다. 다시 말해, Java처럼 바이트코드 실행기를 돌리거나, 스크립트 언어들처럼 인터프리터 런타임을 돌리거나 않고 C/C++와 동등한 기계어 코드를 만들어내면서 메모리 오류는 컴파일 시간에 잡아낸다는 것이다.
기본적으로 쓰레기 수집기(garbage collector)가 없기 때문에 쓰레기 수집기가 동작하는 동안 프로그램 전체의 실행이 멈춘다던가 하는 현상은 Rust에선 일어나지 않으며, 필요한 것보다 더 넓은 메모리를 쓰레기 수집기가 미리 할당해 둔다던가 하는 일 없이 정확하게 필요한 양의 메모리만 사용하는 프로그램을 만들 수 있다.[2] 동시에, C++처럼 메모리 관리를 전적으로 프로그래머에게 맡겨서 메모리 누수, 이중 반환, 댕글링 포인터 등등 온갖 종류의 메모리 오류로 프로그램이 박살나도록 방치하지도 않는다.
이를 달성하기 위해, Rust는 크게 두 가지 규칙을 만들고 이 규칙들을 타입 시스템으로 만들어서 컴파일 시간에 강제한다.
- 모든 값은 한 곳에서만 소유할 수 있으며, 다른 곳에서 그 값에 접근하려면 소유권을 넘겨받거나 빌려서 써야 한다.
- 하나의 값을 여러 곳에서 동시에 수정해선 안 된다.
(나무위키)
메모리 에러를 컴파일 타임에 잡는다? 솔깃한 소리네
전에도말했지만러스트고디중에살아남는넘배우몀될듯한십년쯤후에
ㄴ그럴듯하군요
D는 나름 참신하긴 한데 C++에 비해 메리트가 없는 것 같아. rust가 잘 되면 좋겠다
rust가 뜸.
D는 런타임이 좀 rust에 비해 무거운걸로.
러스트가 뜨기 전에 c++16에서 저 기능 추가시켜서.. 러스트 조용히 사라질듯... c++이 지금 잡아먹은 언어만 1000가지는 될듯.. 자바 빼고
ㄴ 솔직히 그럴거같기도함. 모던 C++은 정말 멋져