🗓️ 2024. 05. 12
⏱️ 9

유데미(Udemy) 'Rust Programming 핵심 강의' 수강 후기

드디어 배워보는 Rust

개발자들이 가장 좋아하는 언어

Rust개발자들이 가장 좋아하는 언어로 늘 손꼽힌다. 그래서인지 Rust를 모르는 개발자에겐 유명해서 유명한(?) 느낌이 없잖아 있다. 여기저기서 Rust가 좋다는 얘기가 들려오니 말이다.

내게 있어 Rust의 이미지는 C++를 대체하게 될 새로운 언어, 메모리 관리가 쉬워지는 언어, Go의 경쟁자 정도였다.
이래저래 좋다는 건 알고 있었지만 배워야할 마땅한 이유를 찾지 못해 학습이 차일피일 미뤄지기 일쑤였다.
그렇게 미뤄질줄만 알았던 머릿속 일정에 갑자기 빨간 불이 들어왔다.
'배워두면 좋겠네'에서 '배워둘 필요가 있다'로 바뀐 순간이었다.

일순간에 그런 생각이 들었던 건 아니고 업계의 여러 변화들이 차츰 쌓였기 때문인데, 이유를 크게 2가지로 나눌 수 있었다.

  1. C/C++의 실질적인 대체자

    여러 등지에서 시스템 프로그래밍에 C/C++를 쓰지 말 것이 권고됐다. '그럴 것이다 그럴 것이다' 했던 주제가 어느샌가 현실에 안착해있었다. C언어 개발만 20년을 해온 개발자분께서도 Rust에 입문하는 C개발자를 위한 안내서를 작성하며 C언어가 한계에 다다랐다는 생각을 남겨두셨다.

  2. JS/TS 생태계 영향력
    JavaScript와 TypeScript를 사용중인 개발자라면 Rust의 영향력을 더 일찍 체감했을 것이다. 코드 포맷터인 prettier, 컴파일러인 swc를 비롯해 여러 도구들이 Rust로 작성됐거나, 재작성되고 있다.
    또한 Node.js 창시자 Ryan Dahl이 만든 새로운 런타임인 Deno는 Node.js와 달리 내부 코드가 Rust로 작성돼있다.
    심지어 Node.js에서도 napi-rs가 등장해 내부 코드를 C++가 아닌 Rust로 작성할 수 있게 됐다.

Rust 영향력이 점차 몸에 와닿는 수준으로 커지자 배워둬야할 것만 같은 압박이 생긴 참이었다.
마침 활동중인 글쓰기 모임 글또에서 지원하는 유데미(Udemy) 강의 중에 Rust 기초 강의가 있어 수강하지 않을 이유가 없었다.

강의 구성

Rust Programming 핵심 강의는 Rust 설치부터 차근차근 시작한다.
모든 프로그래밍 언어 기초 강의가 그렇듯 콘솔에 결과를 출력하는 법, 변수와 함수를 선언하는 법 등이 첫 장을 차지한다.
그 이후도 마찬가지다. 조건문, 반복문, 자료구조의 사용법이 연이은 장에서 시작된다.
최종적으로는 앞서 배운 내용들을 토대로 미니 프로젝트를 만들어보는 식이다.

강의 방식

이 강의는 동영상 강의임에도 마치 책으로 학습하는 듯한 경험을 준다.

  1. 기초 개념 설명
  2. 예제 코드 작성
  3. 실습 코드 작성
  4. 심화 개념 설명

기본적인 이론을 설명하고, 쉬운 데모 프로그램을 함께 작성해보고, 수강생이 주어진 문제를 직접 풀어보는 식이다.
미리 제공되는 학습 자료에서 아래와 같이 주석으로 실습 가이드가 주어지고, 강의를 통한 해설로 풀이과정까지 참고할 수 있다.

// Topic: Working with expressions
//
// Requirements:
// * Print "its big" if a variable is > 100
// * Print "its small" if a variable is <= 100
//
// Notes:
// * Use a boolean variable set to the result of
//   an if..else expression to store whether the value
//   is > 100 or <= 100
// * Use a function to print the messages
// * Use a match expression to determine which message
//   to print

또한 강의 자체는 영어로 진행되지만 한글 자막이 달려있기 때문에 영어 강의에서 오는 부담은 덜어둬도 된다.
원래도 유데미 강의를 종종 듣곤 했는데, 자막 강의는 이번이 처음이었다. 확실히 내용에만 집중하면 되는 자막 강의가 훨씬 학습 편의성이 높았다.

인프런을 필두로 국내에서도 양질의 강의가 많이 생겨났지만 절대적인 강의수는 영어 강의에 비하면 부족한 것이 사실이다.
국내 학습 사이트에서 배우고픈 주제가 없다면 유데미에서 꼭 검색해보길 권한다.

함께 배우기

글또를 통해 제공받은 강의였기에 특히나 좋았던 점이 있었다. 바로 함께 배우기다.

상철님께서 만들어주신 Rust 채널상철님께서 만들어주신 Rust 채널

글또 Rust 채널에서 강의 내용을 중심으로 질의응답이 오갔고, 학습 진도를 공유하며 서로 의욕을 나누기도 했다. 아예 강의 챕터를 나눠 스터디를 진행하신 분들도 계셨다.

질의응답은 나도 적극적으로 참여했는데 현직 개발자분들이 대부분인 만큼 질의응답 수준이 기대 이상이었다.

오랜만에 배우는 새로운 언어에 궁금한 점이 많았다오랜만에 배우는 새로운 언어에 궁금한 점이 많았다
같은 글또 멤버분들께서 너무 친절히 답변해주셨다같은 글또 멤버분들께서 너무 친절히 답변해주셨다

마무리

준비된 자에게 기회가 주어진다는데, 매일같이 새로운 게 쏟아지는 개발 업계에선 뭘 준비해야할지 참 골치가 아프다.
이 기술이 시장에 안착될까? 사장되진 않을까? 얼마나 오래갈까? 늘 고민하게 된다.

그런 면에서 Rust는 이제부터 준비하시면 된다고 친절히 말해주고 있는 듯 하다.
당장은 아니더라도 언젠가 분명 도움이 될 것이라는 확신을 안겨 준다.
강의를 수강하면서 마찬가지였다. 이젠 C/C++를 배워야 할 이유를 레거시에서밖에 찾지 못하겠단 생각이 들었으니까.
경쟁력을 찾아헤매는 이가 있다면 Rust라는 표지판이 하나 있다는 사실도 잊지 않길 바란다.


해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.

돌아가기
© 2024 VERYCOSY.