"다른 언어로 시스템 프로그래밍을 해본 경험이 있는 독자라면 《프로그래밍 러스트》로 단숨에 러스트를 익힐 수 있을 겁니다. 저자들이 수많은 예제 코드와 프로젝트를 가지고 러스트의 동작 방식을 설명해 주거든요."
—캐롤 니콜스Carol Nichols, 《러스트 프로그래밍 공식 가이드》의 공동 저자이자 Integer 32의 공동 창업자
시스템 프로그래밍은 컴퓨팅 세계의 기반을 제공한다. 성능에 민감한 코드를 작성하려면 프로그래머가 메모리, 프로세서 시간, 기타 시스템 자원이 쓰이는 방식을 제어할 수 있는 프로그래밍 언어가 필요하다. 러스트 시스템 프로그래밍 언어는 메모리 관리 오류에서 스레드 간의 데이터 경합까지 흔히 벌어지는 광범위한 종류의 실수를 잡아내는 모던 타입 시스템을 이 제어와 결합한다.
경험이 많은 시스템 프로그래머라면 이 실용적인 가이드를 통해서 러스트로 성능과 안전성 사이의 간극을 성공적으로 메우는 법을 배울 수 있을 것이다. 짐 블랜디, 제이슨 오렌도프, 리어노라 틴달은 메모리 안전성과 신뢰할 만한 동시성에 예측 가능한 성능을 더한 러스트의 기능이 어떤 식으로 메모리 소모량과 프로세서 사용량의 제어권을 프로그래머에게 쥐여 주는지 보여준다.
이 책에서 다루는 내용:
- 러스트의 기본 데이터 타입 그리고 소유와 차용의 핵심 개념
- 트레이트와 제네릭을 써서 유연하고 효율적인 코드를 작성하는 법
- 데이터 경합 없이 빠른 멀티 스레드 코드를 작성하는 법
- 러스트의 핵심 도구: 클로저, 이터레이터, 비동기 프로그래밍
- 컬렉션, 문자열과 텍스트, 입력과 출력, 매크로, 안전하지 않은 코드, 외부 함수 인터페이스
새롭게 출간된 이 개정판은 러스트 2021 에디션을 다룬다.
짐 블랜디Jim Blandy는 1981년부터 프로그래밍을 했고 1990년부터 자유 소프트웨어를 작성했다. GNU 이맥스, GNU 가일, 그리고 GNU 디버거인 GDB의 관리자다. 또 서브버전 버전 제어 시스템의 초기 설계자 중 하나다. 현재 모질라에서 파이어폭스의 그래픽과 렌더링에 관한 일을 하고 있다.
제이슨 오렌도프Jason Orendorff는 깃허브에서 비밀리에 러스트 프로젝트를 진행하고 있다. 그 전에는 모질라에서 스파이더몽키 자바스크립트 엔진에 관한 일을 했다. 문법, 제빵, 시간 여행, 그리고 복잡한 주제를 배우는 사람을 돕는 일에 관심이 있다.
리어노라 틴달Leonora Tindall은 의료와 데이터 소유권 같은 영향력이 큰 분야에서 러스트, 엘릭서, 기타 고급 언어로 견고하고 탄력적인 시스템 소프트웨어를 구축하는 타입 시스템 애호가이자 소프트웨어 엔지니어다. 낯선 언어로 프로그램을 발전시키는 유전 알고리즘부터 러스트 코어 라이브러리와 크레이트 생태계까지 다양한 오픈 소스 프로젝트를 진행하고 있고 또 지원이 필요한 다양한 커뮤니티 프로젝트에 기여하는 경험을 즐긴다. 남는 시간에는 오디오 합성을 위한 전자 장치를 만드는 열렬한 라디오 애호가다. 하드웨어에 대한 사랑은 소프트웨어 엔지니어링 업무에도 그대로 이어져서, 러스트와 파이썬으로 LoRa 라디오를 위한 애플리케이션 소프트웨어를 구축했으며, 소프트웨어와 DIY 하드웨어를 써서 유로랙 신디사이저에서 실험적인 전자 음악을 만들기도 했다.
조성만은 넓고 얕은 IT 잡지식을 추구하는 평범한 개발자다. 소프트웨어 스트리밍, 애플리케이션 가상화, 크로스플랫폼 툴킷, 웹 브라우저 기술에 관심이 많다. 다음 마이피플, 네이버 웨일, 네이버랩스 어웨이, 클로바 페이스사인 개발에 참여했다. 지금은 엔씨소프트에서 소프트웨어 엔지니어로 일하고 있다. 《Qt 4를 이용한 C++ GUI 프로그래밍, 제2판》(ITC, 2009), 《프로페셔널 안드로이드 애플리케이션 개발》(제이펍, 2009), 《프로페셔널 안드로이드 2 애플리케이션 개발》(제이펍, 2010), 《레일스와 함께하는 애자일 웹 개발, 개정판》(인사이트, 2012)을 우리말로 옮겼다.