본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

Rune 프로그래밍 언어를 소개합니다. (github.com/google)

반응형

Rune 프로그래밍 언어를 소개합니다.

---
A faster, safer, and more productive systems programming language

This is not an officially supported Google product.

NOTE: Rune is an unfinished language. Feel free to kick tires and evaluate the cool new security and efficiency features of Rune, but, for now, it is not recommended for any production use case.

Rune is a Python-inspired efficient systems programming language designed to interact well with C and C++ libraries. Rune has many security features such as memory safety, and constant-time processing of secrets. Rune aims to be faster than C++ for most memory-intensive applications, due to its Structure-of-Array (SoA) memory management.

---
간단하게 번역하자면요..
더 빠르고 안전하며 생산적인 시스템 프로그래밍 언어라고 소개하고 있고요..

특이사항은 공식적으로 지원되는 Google 제품이 아니라고 하네요..

참고: 룬은 미완성 언어입니다. 마음 놓고 Rune의 멋진 새 보안 및 효율성 기능을 평가해 보십시오. 그러나 현재로서는 모든 프로덕션 사용 사례에 권장되지 않습니다라고도 소개하고 있고요..

Rune은 C 및 C++ 라이브러리와 원활하게 상호 작용하도록 설계된 Python에서 영감을 받은 효율적인 시스템 프로그래밍 언어라고 하고요..

그리고, Rune에는 메모리 안전 및 비밀의 지속적인 처리와 같은 많은 보안 기능이 있다고 하네요..
Rune은 SoA(Structure-of-Array) 메모리 관리로 인해 대부분의 메모리 집약적인 애플리케이션에서 C++보다 빠른 것을 목표로 한다고 하고요..

728x90



간단하게 주요 내용을 정리하자면 아래와 같고요..

  • Python에서 영감을 받은 빠르고, 안전하고, 생산적인 시스템 프로그래밍 언어
  • C/C++과 잘 연동되도록 설계됨
  • Structure-of-Array(SoA) 메모리 관리 방법을 통해서 메모리 집약적 어플리케이션에서 C++보다 빠른 것을 목표
  • 아직 초기 상태로 프로덕션에 적합하지 않음
  • 구글 Repo에 있지만 공식적으로 지원되는 구글 제품은 아님


좀 더 자세한 내용은 아래 웹페이지를 방문해보시면 좋을것 같고요..

아래는 룬컴파일링이니깐요 참고하시면 좋을것 같습니다.

Compiling the Rune compiler:

You'll need 6 dependencies installed to compile Rune:

  • Bison (parser generator)
  • Flex (lexer generator)
  • GNU multi-precision package gmp
  • Clang version 10
  • Datadraw, an SoA data-structure generator for C
  • CTTK, a constant-time big integer arithmetic library The first four can be installed with one command:
$ sudo apt-get install bison flex libgmp-dev clang-10

Installing Datadraw requires cloning the source from github, or getting it from //third_party/datadraw.

$ git clone https://github.com/waywardgeek/datadraw.git
$ sudo apt-get install build-essential
$ cd datadraw
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Hopefully that all goes well... After dependencies are installed, to build rune:

$ git clone https://github.com/google/rune.git
$ git clone https://github.com/pornin/CTTK.git
$ cp CTTK/inc/cttk.h CTTK
$ cd rune
$ make

CTTK was written by Thomas Pornin. It provides constant-time big-integer arithmetic.

If make succeeds, test the Rune compiler in the rune directory with:

$ ./runtests.sh

Some tests are currently expected to fail, but most should pass. To install rune under /usr/local/rune:

$ sudo make install

Test your installation:

$ echo 'println "Hello, World!"' > hello.rn
$ rune -g hello.rn
$ ./hello

You can debug your binary executable with gdb:

$ gdb ./hello

오늘의 블로그는 여기까지고요..
항상 믿고 봐주셔서 감사합니다. 

300x250