Blog

Rust Programming Language

October 12, 2014

The other day, I stumbled across this new programming language named Rust being developed by Mozilla Research. To quote their website, "Rust is a systems programming language with a focus on 'high-level, bare-metal programming': the lowest level control a programming language can give you, but with zero-cost, higher level abstractions."

When you think of a statically compiled programming language like this, C/C++ usually comes to mind. However, C/C++ programming has many issues that are not present when programming in more modern languages, such as the possibility of segmentation faults and other memory safety issues, the use of header files separate from source code, an easy-to-abuse preprocessor, long compile times, etc. Rust does not have these issues. Rust also uses features that are common in more modern languages, like traits and closures. The developers of Rust designed it to have the "safety and convenience of modern programming languages, while still offering the efficiency and low-level control that C and C++ offer." This seems to make Rust an excellent alternative to C/C++. Aside from the language itself being more modern, it also includes a standard documentation system and dependency manager, similar to the roles that javadoc and Maven/Gradle play for Java.

Rust has been undergoing constant development with feedback from the community. It is still in its alpha state and quite unstable. I think it may take a couple of years before it is really stable and widely used, but when that happens, it seems like a very promising language.