[ RUST ] 러스트
포스트
취소

[ RUST ] 러스트

HitCount


Contents


러스트(RUST) 란?

러스트는 2006년 모질라의 개발자 그레이던 호어(Graydon Hoare)에 의해 개발되었습니다.
이후에 모질라에서 공식적으로 후원하게 되고, 2015년 1.0 버전을 릴리즈하였습니다.
쉽고 안전하게 병렬 프로그래밍을 할 수 있는 차세대 프로그래밍 언어입니다. 편리한 컴파일러와 소유권 개념 도입으로 보장되는 안정성과 빠른 속도로 인해 C/C++을 대체할 수 있을 것으로 기대되는 언어로 각광 받고 있습니다.

러스트 장/단점(개인적 견해)

  • 장점(👍)
    • 함수형 언어 : 함수를 인수로 전달, 다른 함수에서 반환, 변수에 할당하는 등의 방법 사용.
    • 동시성 : 여러 프로세스를 동시에 교차 실행
    • Ownership :  안전하게 메모리를 관리.
    • Wasm : 컴파일하여 NPM에 패키지로 배포가 가능. (배포된 패키지는 자바스크립트에서 그대로 설치해 사용이 가능)
    • FFI(Foreign function interface) : C/C++, 파이썬등 다른 언어로 작성된 외부 함수를 러스트로 가져와 사용하거나 러스트로 작성한 함수를 다른 언어에서 사용 가능.
    • 호환성 : 하위 버전에 대한 호환성.
  • 단점(👎)
    • 범용성 : 수요가 적고, 자료도 많지 않으며 유효하지 않은 정보가 많음.
    • 커뮤니티와 라이브러리의 부족 : 커뮤니티의 수와 크기가 상대적으로 적고, 라이브러리 및 IDE 지원이 부족함.
    • 난이도 : 개념을 배우는데도 오래걸리고, 문법이 복잡하고 배우기 어려움.
    • 비동기 처리 : 코딩의 어려움과 교착이나 지연 문제.

러스트에서 공식적으로 발표한 잇점

  • 형식 안전 : 컴파일러는 잘못된 형식의 변수에 어떤 작업도 적용되지 않게 보장합니다.
  • 메모리 안전 : Rust 포인터(참조라고도 함)는 항상 유효한 메모리를 참조합니다.
  • 데이터 경합 없음 : Rust의 바로우 검사기는 프로그램의 여러 부분이 동일한 값을 동시에 변경할 수 없도록 하여 스레드 보안을 보장합니다.
  • 무비용 추출 : Rust를 사용하면 최소한의 성능 비용으로, 또는 성능 비용 없이 반복, 인터페이스, 함수 프로그래밍 같은 상위 수준의 개념을 사용할 수 있습니다. 또한 추상화는 기본 코드를 직접 작성하는 것처럼 작동됩니다.
  • 최소 런타임 : Rust에는 최소한의 선택적 런타임이 있습니다. 메모리를 효율적으로 관리할 수 있도록 이 언어에는 가비지 수집기도 없습니다. 이러한 측면에서 Rust는 C 및 C++ 같은 언어와 가장 유사합니다.
  • 운영 체제 미설치 대상 : Rust는 임베디드 및 “운영 체제 미설치” 프로그래밍을 대상으로 지정하여 운영 체제 커널 또는 디바이스 드라이버 작성에 적합하도록 합니다.

러스트 개발 환경

  • Microsoft C++ Build Tools를 설치하거나 Microsoft Visual Studio를 설치함.
  • VisualStudio Code 설치 (https://code.visualstudio.com/)
  • Rust 설치 (https://www.rust-lang.org/)

러스트 설치

한국 러스트 사용자 그룹 : https://rust-kr.org/ 러스트 공식 안내서 (한국어버전) : https://rinthel.github.io/rust-lang-book-ko/foreword.html

https://parksb.github.io/article/35.html


Cargo를 이용한 프로젝트 생성 및 관리

Rust 컴파일러(rustc)를 사용하여 크레이트를 직접 만들 수 있지만 대부분의 프로젝트는 Rust 빌드 도구와 Cargo라는 종속성 관리자를 사용합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.