CWN(CHANGE WITH NEWS) - 러스트, 과학자들 사이에서 인기 증가...왜?

  • 맑음세종7.5℃
  • 구름조금홍천4.0℃
  • 맑음산청5.4℃
  • 맑음부산13.5℃
  • 맑음진도군8.1℃
  • 맑음영천3.7℃
  • 맑음고흥8.7℃
  • 맑음부여8.5℃
  • 맑음구미5.2℃
  • 맑음북창원10.3℃
  • 맑음금산5.6℃
  • 맑음포항12.1℃
  • 맑음군산8.9℃
  • 구름많음북춘천2.0℃
  • 맑음해남6.7℃
  • 맑음수원6.8℃
  • 구름많음춘천2.5℃
  • 맑음홍성7.8℃
  • 맑음영주1.3℃
  • 구름조금동두천5.6℃
  • 맑음파주4.6℃
  • 맑음진주4.9℃
  • 맑음창원10.5℃
  • 맑음봉화-0.4℃
  • 맑음보은3.8℃
  • 맑음문경8.3℃
  • 맑음고창군6.4℃
  • 구름많음백령도10.1℃
  • 맑음장수2.7℃
  • 맑음천안4.7℃
  • 맑음보령6.2℃
  • 맑음장흥5.6℃
  • 맑음울진9.1℃
  • 구름조금성산11.7℃
  • 맑음청송군1.5℃
  • 맑음대구6.5℃
  • 맑음완도12.2℃
  • 맑음고산15.1℃
  • 맑음강진군7.3℃
  • 맑음서산5.4℃
  • 맑음임실5.4℃
  • 맑음대전8.6℃
  • 맑음고창5.8℃
  • 맑음순창군5.5℃
  • 맑음의령군3.6℃
  • 맑음광주10.4℃
  • 맑음동해7.9℃
  • 구름조금강화5.7℃
  • 맑음울릉도13.4℃
  • 구름조금속초11.6℃
  • 맑음흑산도12.5℃
  • 맑음영광군8.5℃
  • 맑음제천3.4℃
  • 맑음김해시11.0℃
  • 맑음양산시8.0℃
  • 맑음안동4.8℃
  • 맑음밀양5.2℃
  • 구름조금통영12.5℃
  • 맑음목포12.5℃
  • 맑음인제2.9℃
  • 맑음제주15.5℃
  • 맑음부안8.3℃
  • 맑음순천3.9℃
  • 맑음강릉12.3℃
  • 맑음이천7.1℃
  • 맑음북부산7.1℃
  • 맑음영월4.2℃
  • 맑음영덕9.0℃
  • 맑음광양시9.9℃
  • 맑음거창3.2℃
  • 맑음합천6.2℃
  • 맑음충주4.9℃
  • 구름많음거제10.6℃
  • 맑음보성군7.8℃
  • 맑음경주시4.7℃
  • 맑음서귀포14.9℃
  • 맑음여수11.5℃
  • 맑음서울9.1℃
  • 맑음상주10.8℃
  • 맑음의성1.9℃
  • 맑음원주6.7℃
  • 맑음정읍7.8℃
  • 맑음함양군3.8℃
  • 구름조금철원7.7℃
  • 맑음서청주7.9℃
  • 맑음추풍령4.9℃
  • 맑음울산11.0℃
  • 맑음청주9.3℃
  • 맑음북강릉10.9℃
  • 맑음태백3.2℃
  • 구름조금인천9.9℃
  • 맑음양평5.0℃
  • 맑음전주8.9℃
  • 맑음대관령4.5℃
  • 맑음정선군4.1℃
  • 구름많음남원6.3℃
  • 맑음남해10.0℃
  • 2025.11.25 (화)

러스트, 과학자들 사이에서 인기 증가...왜?

고다솔 / 기사승인 : 2020-12-08 16:04:44
  • -
  • +
  • 인쇄

2015년, 생물정보학자 요하네스 쾨스터(Johannes Köster)는 파이썬처럼 표현력이 뛰어나면서 C나 C 처럼 빠른 속도를 자랑하는 언어를 활용하고자 했다. 끝없는 노력 끝에 새로운 프로그래밍 언어가 탄생했다. 바로 '러스트'이다.

현재, 러스트는 과학자들 사이에서 큰 인기를 얻고 있다. 실제로 다른 언어 대신 러스트를 택하는 과학자가 증가하는 추세이다. 과학자들이 러스트를 택하는 이유는 무엇일까? 영국 과학 저널 네이처가 설명한 러스트의 특징을 중심으로 아래와 같이 분석했다.

1. 안전한 언어
과학적 데이터 분석을 위한 작업 흐름에서는 파이썬이나 R, Matlab 등을 주로 사용한다. 모두 코드 라인을 하나씩 해석한 뒤 실행한다. 데이터를 탐색하기에는 좋지만, 속도가 느리다는 단점이 있다.

스웨덴의 러스트 프로그래머 애슐리 호크(Ashley Hauck)는 C나 C 은 빠르지만, 안전하지 않다고 설명한다. 예를 들어, C나 C 프로그래머가 운영체제에 다시 공개된 메모리에 부적절하게 접근하는 것을 막거나 프로그램이 똑같은 피스를 두 번 발행하는 것을 막을 수 있는 제어장치가 없다. 이 상황에서는 프로그램을 중단하는 것이 최상의 시나리오이다.

그러나 의미 없는 데이터를 반환하거나 보안 취약점을 노출시킬 수 있다는 치명적인 문제가 발생한다. 반면, 러스트는 보안 위험 없이 방대한 양의 데이터를 처리할 수 있다.

2. 메모리 규칙
러스트 모델은 규칙에 따라 각각의 메모리 피스를 한 명의 소유자에게 할당하고, 누가 메모리 피스에 접근하는지 지정한다. 이러한 규칙을 위반하는 코드는 컴파일이 불가능하다.

메릴랜드대학교 칼리지파크캠퍼스의 생물정보학자 롭 패트로(Rob Patro) 박사는 "러스트는 컴파일러가 메모리 피스 접근 정보를 추적할 수 있도록 하는 메모리 관리 시스템을 지니고 있다. 또한, 언어 설계 방식의 장점에 따라 간단하게 에러를 수정할 수 있다"라고 설명했다.

여러 계산 스레드가 동시에 같은 데이터에 접근하지 않도록 막는 등 여러 프로세서를 실행하도록 작성된 프로세서인 병렬 코드가 안전하게 실행될 수 있도록 한다. 이 때문에 러스트는 학습하기 어렵지만, 유지와 디버그가 쉽다.

3. 실제 사용성에 중점
러스트는 사용자 경험이 최적화된 언어이다. 예를 들어, 컴파일러는 특히 정보 오류 메시지를 생성하며, 문제가 있는 코드를 강조하면서 수정 방법을 함께 제시한다.

러스트 개발자 커뮤니티는 러스트를 원활하게 사용할 수 있도록 다양한 문서와 도움이 되는 정보를 제공한다. 많은 사용자가 프로그래머들이 코드를 애플리케이션으로 변경할 때 사용하는 '러스트 툴체인'을 긍정적으로 평가하는 이유이기도 하다.

프로그래머들이 C 코드를 생성하기 위해 사용하는 다른 여러 컴파일러와 보조 유틸리티와는 달리 러스트 사용자는 '카고(Cargo)'라는 단 하나의 툴만 사용해 러스트 코드 컴파일부터 테스트 운영, 문서 자동 생성 등 모든 과정을 실행할 수 있다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue