November 16, 2020

Banner for RUST introdution

Today I feature to you a quick introduction about RUST. I am preparing more and more posts (and then, a new section) about this great programming language.

First, we will review quickly the characteristics of this language. Don’t hesitate to review my previous post about its comparison with C++:

Is Rust an alternative to C++? The question is frequently asked in programming forums and blogs. In fact, Rust and C++ have several common points. However, even if the goal is the same, the syntax and features between the two languages are different. Let's review them!Table of Contents:1Is Rust an

Read More

What is RUST?

Rust is a system programming language. In this language, all types are statically defined (like C and C++) - it means, all types are known at compile time. As the C/C++, it offers direct access to the physical hardware of your system.

RUST has a particularity: It had been designed to make it harder to write incorrect and unsafe code. Thanks to this, you have better confidence in your Software when it compiles. Especially compared to C/C++ where memory leaks and buffer overflow can occur easily.

Thanks to all of those features, RUST is “safe by default”. Unfortunately, those memory security checks trigger a longer compile time. Moreover, the compiler force you to write “safe code” (But it well worth the effort!). You can also note other specificities like:

  • The ownership principle (borrow variable).
  • Error handling
  • The manager of tuples/pair.
  • The concurrency in multi-threading

For the next weeks, I will prepare some new stuff about the language specificities and its modules. Don’t hesitate to review "The book".

As I said, expect to see more and more posts about it. Of course, I continue to make posts about C / C ++ during the next weeks. Learning RUST changes your habits on C / C ++ programming. It sensitizes you about “safe code” and it forces you to avoid some strange designs.

About the author 

Axel Fortun

​Developer specialized in Linux environment and embedded systems.
​Knowledge in multiple languages as C/C++, Java, Python​ and AngularJs.
​Working as Software developer since 2014 with a beginning in the car industry​ and then in ​medical systems.