본문 바로가기

Programming

Rust (Programming Language)

Symbol of Rust

Rust is...

  • Opensource
  • Developed by Mozilla Research.
  • Multi-paradigm, general-purpos programming language.
  • Designed to be a language suitable for developing server and client programs that run on the Internet.
  • Focueses on safety, parallel programming and direct control of memory management.
  • Memory management: Designed to avoid memeory errors. Enforces that there are no null pointers or uninitialized pointers.
    All variables are assigned with initial values, and code that accesses freed pointers is detected in advance by the compiler and causes a compilation error.
  • Type System: Even if the type is not specified when declaring a variable, the compiler can specify the type of the variable through type inference. Type information cannot be omitted from function arguments or return values.
  • Parallel Programming: Each task does not share data directly but can only exchange data through message passing. To prevent performance degradation that occurs when copying messages, unique boxes can deliver messages without copying data. A unique box can only be owned by one object, and when it is passed to another task, only the ownership changes without copying the data.
  • Aims to be at a similar level to C++ in terms of performance.
  • Looks like have similar sytax with C and C++ such as if, else, while, etc. Howerver, has semantically different syntax with C/C++.
  • The first alpha version, 0.1, was released in January 2012.

Has components like...

 

What is rustc? - The rustc book

Welcome to "The rustc book"! rustc is the compiler for the Rust programming language, provided by the project itself. Compilers take your source code and produce binary code, either as a library or executable. Most Rust programmers don't invoke rustc direc

doc.rust-lang.org

  • STL: Vector, Option, HashMap and Smart pointer
    : Can remove dependency code or provide their own core data structure using attribute #![no_std];

  • Cargo
    : Build system and package manager

  • Rustfmt
    : Code formatter

  • Clippy
    : Built-in linting tool
    : Improve thr correctness, performance, and readability of code in Rust.

  • IDE support
    : Rust Analyzer
 

rust-analyzer

About rust-analyzer is an implementation of Language Server Protocol for the Rust programming language. It provides features like completion and goto definition for many code editors, including VS Code, Emacs and Vim.

rust-analyzer.github.io

 

For more...

https://en.wikipedia.org/wiki/Rust_(programming_language)

 

Rust (programming language) - Wikipedia

From Wikipedia, the free encyclopedia General-purpose programming language Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency. It enforces memory safety, meaning that all references poin

en.wikipedia.org

https://rinthel.github.io/rust-lang-book-ko/ch00-00-introduction.html

 

소개 - The Rust Programming Language

러스트 프로그래밍 언어, 러스트 입문서에 오신 것을 환영합니다. 러스트 프로그래밍 언어는 여러분이 더 빠르고, 더 안정적인 소프트웨어를 작성하도록 해줍니다. 프로그래밍 언어 디자인에서

rinthel.github.io

 

'Programming' 카테고리의 다른 글

D-Bus (Desktop Bus)  (0) 2023.10.17