For Fun

[rust 공식 문서 14일 공부] 1일차

Jㅐ둥이 2024. 12. 6. 01:00
반응형

어쩌다보니 시작하게 된 rust 공식 문서 14일 공부, 오늘부터 시작해보겠습니다!


0. Foreword, Introduction

원래 저는 rust는 컴파일 단계에서 너무 많은 검증이 이뤄진다. 이는 개발자의 자유로운 선택을 제한하는 비효율적인 선택이다. 라는 생각을 가지고 있었습니다.

 

그런데 rust 공식 문서의 Foreward에서 다음 글을 읽고 머리가 띵해지더라고요.

rust 언어의 근본적인 목표는 권한 부여에 관한 것 입니다. 어떤 소프트웨어를 개발하던지 더 많은 목표를 달성할 수 있도록 도와줄 것이기 때문이죠.

...

패닉, 보안 문제, 툴체인 등 복잡한 세부사항을 배울 필요 없이 그냥 rust만 믿고 따라가면 됩니다!

 

아무리 CS 공부를 열심히 하고, 프로그래밍 개발을 오래했더라도 레이스 컨디션, 메모리 누수 같은 문제들이 발생합니다.
이런 문제들을 단순히 rust만 사용하면 해결할 수 있는데 rust 사용을 비효율적인 선택이라고 생각하는 것이 맞을까요?

 

물론 rust만 사용하면 된다 처럼 간단한 문제는 아닐 것입니다. rust를 사용해서 SW를 개발하기 위해서는 결국 여러 CS 지식을 공부해야 하기 때문이죠.

 

하지만 CS 지식만 공부해서 어떻게 적용할지도 모르는 것보다는 CS 지식이 필요한 순간에 rust가 알려주는 기능들을 따라 공부하는 것이 훨씬 효율적이지 않을까? 라는 생각을 한번 해보게 되었습니다...

 

1. Getting Started

1.1. Installation - rust 설치 방법

역시 프로그래밍 언어 공부의 시작은 Hello, World 출력이죠!

rust 설치부터 해야겠죠? 설치는 매우 간단합니다. 다음 명령어를 실행하면 됩니다

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

설치하고나니 rustc --version 명령어를 이용해서 설치된 rust의 버전을 확인할 수 있더라고요.

rustc를 이용한 rust 버전 확인

 

그리고 버전 업데이트도 진짜 간단합니다. rustup update 명령어를 호출하기만 하면 됩니다 ㅋㅋㅋ

1.2. Hello, World! - rust 프로젝트 생성 및 Hello, World! 출력 소스 코드 작성

rust 소스 코드는 어떤 방식으로 작성해도 괜찮은데 이 튜토리얼에서는 프로젝트 생성을 권장하더라고요.

저는 mkdir hello_study 명령어로 프로젝트를 생성하고, 소스 코드를 작성하여 Hello, World!를 출력했습니다.

fn main() {

    println!("Hello, world!");

}
  • println! 은 rust의 매크로입니다.
  • 함수명 뒤에 "!"가 붙어 있으면 매크로인데 일반적인 함수랑은 동작 방식이 다르다고 하네요!

+ 공부하면서 놀란 점

  • 프로그래밍 언어 버전 업그레이드 하는 것은 항상 귀찮은 작업이었는데 rust는 매우 간단했음
    • nvm, goenv, pyenv와 같은 추가 도구를 사용하지 않으면 설정 바꾸는 것이 상당히 귀찮음
  • (아직까지는)rust의 빌드시스템도 매우 간단해보임

원래 더 공부하려고 했는데 시간 관계상 Chapter1의 Hello, World! 까지 밖에 못 봤네요 ㅜ

반응형