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...
- rustc (compiler)
- 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
For more...
https://en.wikipedia.org/wiki/Rust_(programming_language)
https://rinthel.github.io/rust-lang-book-ko/ch00-00-introduction.html
'Programming' 카테고리의 다른 글
D-Bus (Desktop Bus) (0) | 2023.10.17 |
---|