C++ and Rust
Rust에 대해 요즘 여기저기서 들립니다. The Rust Programming Language를 읽어봤습니다. 기본적으로 compile 언어 + garbage collector가 없다는 점에서 C++과 굉장히 유사하게 느껴집니다. 몇 가지 기억나는 특징만 적어보자면,
- 기본적으로 변수는 const입니다. C++에서도 변하지 않는 변수는 const로 선언하면 좋다는 것을 알고는 있지만 막상 코딩을 하다 보면 귀찮습니다. 반면에 Rust는 기본적으로 const입니다.
- Char가 4byte입니다. Unicode 지원을 위해서랍니다.
- Rust에는 CMake와 비슷한 Cargo라는 친구가 있습니다. CMake에 비해 강력해 보입니다.
- 별도로 뭔가를 하지 않아도 move가 됩니다.
- null이 없습니다. 대신 null의 부재를 메꿔주기 위한 Option이란 게 있습니다.
- 등등…
기본적인 컨셉 자체가 컴파일이 되는 코드는 런타임에서도 안정적으로 동작해야 한다! 라는 느낌입니다. Rust는 C++에 비해 라이브러리나 프레임워크가 많이 없다는 게 단점이나, 최근 블록체인(스마트 컨트랙트)과 같은 C++이 역할을 하지 못하고 있는 새로운 분야에서는 강점을 보이는 듯합니다.
Leave a comment