C++ and Rust

Rust에 대해 요즘 여기저기서 들립니다. The Rust Programming Language를 읽어봤습니다. 기본적으로 compile 언어 + garbage collector가 없다는 점에서 C++과 굉장히 유사하게 느껴집니다. 몇 가지 기억나는 특징만 적어보자면,

  1. 기본적으로 변수는 const입니다. C++에서도 변하지 않는 변수는 const로 선언하면 좋다는 것을 알고는 있지만 막상 코딩을 하다 보면 귀찮습니다. 반면에 Rust는 기본적으로 const입니다.
  2. Char가 4byte입니다. Unicode 지원을 위해서랍니다.
  3. Rust에는 CMake와 비슷한 Cargo라는 친구가 있습니다. CMake에 비해 강력해 보입니다.
  4. 별도로 뭔가를 하지 않아도 move가 됩니다.
  5. null이 없습니다. 대신 null의 부재를 메꿔주기 위한 Option이란 게 있습니다.
  6. 등등…

기본적인 컨셉 자체가 컴파일이 되는 코드는 런타임에서도 안정적으로 동작해야 한다! 라는 느낌입니다. Rust는 C++에 비해 라이브러리나 프레임워크가 많이 없다는 게 단점이나, 최근 블록체인(스마트 컨트랙트)과 같은 C++이 역할을 하지 못하고 있는 새로운 분야에서는 강점을 보이는 듯합니다.

Leave a comment