logo MSJO.kr

Microsoft, Verona Project

2021-02-02
MsJ

마이크로소프트(MS)가 Rust에서 영감을 받은 신규 프로그래밍 언어 개발(Verona Project)에 매진하고 있다. 프로젝트 베로나는 메모리 관리, 구획화 및 보안 샌드박스를 통해 안전한 시스템을 구축하기 위한 프로젝트다1. Rust는 최근에 스택오버플로우에서 좋아하는 개발언어 순위 1위에 오르기도 하였다2. Rust는 C++의 성능과 더불어 메모리 안정성을 확보한 언어이다.

Rust 컴파일러는 변수의 소유권을 컴파일 단계에서 모두 추적할 수 있다. 이를 이용해 메모리 할당과 해제를 오버헤드 없이 암묵적으로(Implicit) 수행함으로써, Rust는 런타임 오버헤드가 없는 안전한 메모리 관리를 이루어낸다3.

Microsoft 공식 웹사이트에서는 Project Verona를 ‘a programming language for the modern cloud’로 소개하고 있다4.

  • If we design a language without concurrent mutation, can we build scalable memory management?
  • Can linear regions be used to remove the restrictions of per-object linearity without sacrificing memory management?
  • Can language level regions be used to support compartmentalisations?

또한 Verona Github 페이지에서 ‘concurrent ownership’를 위한 언어로 소개하고 있다. Project Verona is a research programming language to explore the concept of concurrent ownership. We are providing a new concurrency model that seamlessly integrates ownership5.

  • Systems programming : Predictability, Raw access
  • Concurrent Mutation and memory safety
  • Concurrent Ownership
  • Regions : borrowing(rust)
  • Systematic testing : P and P# language

마이크로소프트는 C/ C++ 대신 Rust로 윈도 구성요소를 작성하는 등 다양한 실험을 진행해 왔지만, 문법이 까다로워 작성이 쉽지 않고 무엇보다 사용자가 적어 개발자 확보, 육성에 힘든 상황이다.

개인적인 생각으로 Verona Project는 C#언어의 장점(상대적으로 쉬운 언어, 개발자 확보)에 Rust의 개념적 장점(ownership, borrowing, lifetimes)을 더하고 Visual Studio라는 Microsoft의 대표적인 개발 툴에 자연스럽게 녹아들어 가도록 설계할 것이라고 예상해 본다.

또 하나 소개할 기사는 ‘Microsoft: We’re creating a new Rust-like programming language for secure coding’이다6. 여기에 대한 언급은 유튜브 채널 포프TV에서 확인 할 수 있다7.

최근에 Rust 언어를 학습하고 있는데 접근이 쉽지 않다는 것을 많이 느낀다. 기본적인 언어 이해와 ACTIX web framework를 같이 학습하고 있다. 개인적인 목표는 C# - WebAPI에서 rust - actix로 WebAPI를 설계해보는 것이다.

Reference
  1. zdnet korea, “MS, 러스트 대안 ‘프로젝트 베로나’ 만드는 이유”
  2. stackoverflow, “Most loved languages”
  3. 나무위키, “Rust”
  4. Microsoft, “Project Verona”
  5. Verona Github Site / GitHub
  6. Microsoft, “We’re creating a new Rust-like programming language for secure coding”
  7. 포프TV, “마소에서 Rust 같은 언어를 자체적으로 만들겠단다. 왜?”

Prεv   Nεxt
Content
Search     RSS Feed     BY-NC-ND