DEVLOG|개발 블로그

러스트(Rust) 프로그래밍 언어를 설치해보고 Hello World 출력하기

March 21, 2021 5:58 PM:rust

프로그래밍 언어 러스트(Rust)

러스트는 안정성과 C++ 만큼의 속도를 자랑하며 병렬 처리 또한 우수한 시스템 프로그래밍 언어이다. 가비지 컬렉션 기술을 사용하지 않고 메모리 안정성을 지원하기 때문에 개발자가 미처 확인하지 못한 메모리 누수 관련 문제를 언어 차원에서 방지해준다.

오너쉽 모델이라는 타 언어와는 좀 다른 개념이 존재한다. 이 오너쉽 모델이라는 것이 존재해서 러스트에서 메모리 안정성과 스레드 안정성을 보장할 수 있다.

병렬 처리는 actor 기반의 모델을 이용한다. 러스트에서 생성된 각 작업들은 데이터를 직접 공유하지 않고 오로지 메세지 전달을 이용해서 데이터를 주고 받을 수 있다. 또, 변수 선언시 타입을 지정하지 않아도 타입 추론을 통해 해당 변수의 타입을 지정할 수 있는 기능을 가지고 있다. 단, 매개변수 혹은 함수의 반환 값에서 타입 정보를 생략하는 건 불가능하다.

러스트로 개발된 프로젝트

  • 파이어폭스(브라우저)
  • 디스코드
  • Deno(자바스크립트/타입스크립트 런타임)

러스트 설치

러스트 설치 공식 문서

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

맥을 기준으로 위 명령을 터미널에 적어 실행한다. rustup이라는 툴 체인 관리 매니저 프로그램이 설치되며 해당 매니저를 통해 다양한 운영체제에서 일관된 방식으로 관리할 수 있다. 해당 매니저는 rustup update 명령을 이용해서 셀프로 업데이트할 수 있다.

설치를 하게 되면, 옵션이 나타나는데 설치에 대한 내용을 커스터마이징할 수 있는 옵션과 빠른 설치를 지원하는 옵션, 그리고 취소할 수 있는 옵션이 있는 것 같은데 여기에서는 빠른 설치를 위해 1번을 입력하고 설치를 진행한다.

rustc --version
rustc 1.50.0 (cb75ad5db 2021-02-10)

러스트 컴파일러가 정상적으로 설치되었다. rustuprustc 그리고 cargo가 설치되는데, cargo는 러스트 진영에서 사용할 수 있는 패키지 매니저이다.

개발 환경 구성하기

vscode에 러스트 확장 프로그램을 설치한 후에 개발 환경을 구성한다. 러스트 확장 프로그램을 설치한다. 러스트 관련 자동완성 등을 지원한다. 코드를 작성하고 결과를 터미널에서 바로 볼 수 있도록 코드를 바로 실행해주는 확장 프로그램도 설치한다.

Hello World 작성히기

hello.rs로 파일을 만들고, 코드를 작성한다.

fn main() {
  println!("Hello World!");
}

vscode 상단 재생 버튼 혹은 ctrl + alt + N키를 눌러 코드를 실행시킨다. 컴파일된 파일이 떨어지고 콘솔에 출력 결과가 찍힌다.

Playground

로컬에 러스트를 설치하지 않고 웹에서 러스트 코드를 작성하고 실행할 수 있는 웹 사이트를 제공한다. 여기에서 설치하지 않고 코드를 실행시킬 수 있다.