JYP
"러.스.트" 처음 노마드 코더의 영상을 보고 C와 속도차이가 그렇게 크지 않다는 것과 (c가 1.0걸린다면 rust는 1.05)
메모리 오염 등의 이슈를 사전에 방지할 수 있다는 점에서 멋진 언어라 생각 들었다.
시스템콜 쓰는 프로그램이나 시스템 프로그래밍을 한다면 러스트를 어지간하면 써야겠단 생각도 들게 했다.
책 구성
러스트 설치 및 기본적인 언어 형식에 대한 설명부터 러스트의 특징들(소유권, 제네릭 타입, 트레이트) 등을 소개하며 진행된다. 마지막에는 웹서버를 구축하는 것으로 끝은 맺는다.
감상
우선 가독성이 좋다. 오픈 커뮤니티에서 참여해서 그런지 집단지성의 힘을 느낄 수 있었다.
온라인으로도 무료로 볼 수 있지만 나에게는 종이책이 좀더 잘 읽혔기에 더 가독성이 좋다 느꼈다.
읽으면서 드는 생각은 C++과 꽤나 비슷하다는 생각과 const에 대한 표현은 파이썬 표기법과 비슷하다는 것 등 다른 언어들에서 참고한 것으로 보이는 점들이 눈에 띄었다.
특히 러스트에서 메모리 할당된 데이터를 가비지 컬랙터 없이 처리되게 한 소유권 개념의 경우 C++의 스마트포인터가 떠올랐다. 여러 언어의 장점들과 효율적인 부분을 잘 받아들였다는 생각이 들었고 기본적으로 데이터 타입이 불변으로 세팅되어 있는 점도 데이터 변경으로 인한 실수를 막을 수 있어서 사람의 실수를 잘 방지할 수 있도록 신경 써서 만들었다는 생각이 들었다.
책 구성에서 특히 마음에 들었던 것은 마지막에 웹서버를 만들어보는 것이다.
보통 시스템 콜들을 배우고나면 마지막 과제로 웹서버를 만들어 보게끔 한다고 한다.
여러 시스템 콜 개념들을 적용해볼 수 있고 무엇보다 클라이언트는 이미 쉽게 쓸 수 있기에(브라우저라든가) 서버 프로그램만 만들어보면 되어서 실습하기 좋은 과제라 한다.
러스트는 C, C++ 등을 대체하고 시스템 프로그래밍에 적합한 언어로 알고 있었는데 웹서버 만들기 과제를 통해 더 시스템 프로그래밍에 적합한 언어겠구나라는 생각과 책에서 그런 점을 실습할 수 있게 구성되어 있다는 점이 좋았다.
러스트를 궁금해하시던 분들에게 한 번쯤 시도해보기 괜찮은 기회라 생각든다.
특히 C++를 쓰셨다 분이라면 좀 더 빠르게 배우실 수 있지 않을까 싶다.
https://www.yes24.com/Product/Goods/124901267?CategoryNumber=001001003022019
"이 글은 Jpub으로부터 책을 제공받고 작성된 리뷰입니다.
'CS > CS Book' 카테고리의 다른 글
[컴퓨터 시스템 딥다이브] ch00, 01 시작하며, C 프로그래밍 기초 (0) | 2024.03.13 |
---|---|
[오브젝트] ch03 역할, 책임, 협력 (0) | 2024.03.11 |
[오브젝트] ch02 객체지향 프로그래밍 (0) | 2024.03.03 |
[오브젝트] Intro + ch01 객체, 설계 (0) | 2024.02.25 |
[서평] 로버트 나이스트롬의 인터프리터 in Java, C (2) | 2024.02.22 |