페이지상단으로이동

러스트(Rust) 언어, 올해 배워야 하는 7가지 이유

    • 박병화 기자
    • |
    • 입력 2019-01-23 14:44
    • |
    • 수정 2019-04-01 11:30
▲ Rust Language

"러스트(Rust)의 가장 큰 장점은 힘을 실어주는 기술(empowering technology)이다."('러스트 프로그래밍 언어' 공동 저자 캐롤 니콜스)

그레이든 호어(Graydon Hoare)가 만들고 모질라(Mozilla) 리서치가 스폰서 하는 ‘러스트(Rust)’는 구글 고(Go) 언어와 마찬가지로 속도, 안전성, 편의성을 잡기 위해 나온 범용 프로그래밍 언어이다. 실제 러스트는 빠르고, 안전하며, 무엇보다 합리적인 수준의 프로그래밍 난이도를 보장한다. 러스트는 또한 널리 사용되도록 설계되어 있다. 아울러 러스트는 전적으로 오픈 소스로 개발되고 있으며, 커뮤니티로부터 피드백을 받고 있다.

2006년 개인 프로젝트로 시작된 러스트는 2012년 1월 첫 번째 알파 버전인 0.1이, 이후 2015년에 비로소 1.0 버전이 출시됐다. 현재 웹용 소프트웨어, 임베디드 컴퓨터embedded computers), 분산 서비스(distributed services), 명령줄(command line)을 구축하기 위해 사용되고 있다. 성능 면에서는 C++와 비슷한 수준을 목표로 하고 있다.

최근 IT매체 테크리퍼블릭닷컴은 '러스트 프로그래밍 언어' 공동 저자 캐롤 니콜스(Carol Nichols)의 말을 빌어 "러스트를 2019년에 배워야 하는 7 가지 이유"를 제시했다.

먼저 "△많은 개선을 통해 배우기 쉬워졌다(It's never been easier to get started), △드롭박스(Dropbox), 옐프(Yelp), 클라우드플래어(CloudFlare), 파이어크래커(Firecracker) 등 러스트를 사용하는 수백개의 회사가 있어 사용자 기반이 증가하고 있다(Rust's user base is growing), △러스트의 낮은 오버헤드는 임베디드 프로그래밍에 적합하다(Rust's low overhead is a good fit for embedded programming) 등이다.

또한 "△강력한 웹 앱을 구축할 수 있다(Rust can build powerful web apps), △온라인 분산 시스템 전반에 걸쳐 확장할 수 있는 서비스에 매우 적합하다(Rust is good for building distributed online services), △강력한 크로스 플랫폼 명령줄 도구를 만드는 데 적합하다(Rust is suited to creating powerful, cross-platform command-line tools), △새로운 개발 툴과 더 나은 IDE(통합개발환경) 지원을 제공한다(Rust now has new developer tools and better IDE support)" 등이다

한편 캐롤 니콜스는 "러스트를 사용하면 루비(Ruby), 하스켈(Haskell), 스칼라(Scala)를 합친 느낌을 경험한다. 그것은 클로저(closures)와 반복기(iterators)와 같은 기능적 영향과 하스켈과 유사한 풍부한 형태의 시스템을 가지고 있다"며 "러스트를 사용해 만든 프로그램은 속도와 메모리 사용(memory usage) 면에서 C, C++를 사용해 만든 프로그램과 가장 유사하다"고 밝혔다.

이어 그는 "러스트의 사용은 일반적으로 아직 초기 단계에 있고, 기업들도 현재 러스트 기술을 요구하고 있지 않으며 글로벌 일자리도 비교적 적은 편이다"면서도 "하지만 취업 광고에 러스트가 등장하는 등 서서히 기업들이 러스트에 관심을 갖기 시작했다"고 전했다.

다른 프로그래밍 언어에 비해 '어린' 언어인 러스트는 여전히 배우기 어렵고 복잡한 언어이며, 비동기식 운영 등 많은 개선점을 가지고 있어 현재 러스트 팀은 이를 개선하기 위해 노력하고 있다.

박병화 기자 | 박병화@codingworldnews.com

댓글 [ 0 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기