One of the bases to be happy as a programmer is that the language we use every day produces the least amount of headaches. If we review the latest stackoverflow surveys on developers we find that Rust is the programming language most loved by programmers. What does this language have that makes the programmers happy who have tried it? All this despite remaining a great unknown to many programmers.
Read More Stories: Meet the intense morning routine of Amazon, Apple, Facebook and Twitter CEOs
Being the most loved and most popular language, may continue to be at odds with other factors . We have already talked about the popularity of Python and the fact that it is not a relatively new language. With Rust we find the case of being practically a newcomer and a great unknown to many programmers. We will discover it in detail and see in what use cases can help us in our daily work as programmers.
Read More Stories: The happiest countries in the world on a map
Mozilla needed Rust as the cornerstone of Servo in Firefox
Rust emerged in 2010 in Mozilla as a personal project of Graydon Hoare in search of a language that would allow writing an extremely fast code at the same level as C or C ++ but without the memory management problems that had historically been extremely meticulous so as not to commit serious bugs in memory access and race conditions at run time.
Mozilla was looking for an extremely secure language capable of supporting its demanding performance requirements. So Rust began to evolve thanks to the momentum of Firefox and that of a large number of contributors in the community , not just Mozilla. Today, it forms an important part of the core of the Servo browser engine used by Firefox, taking advantage of the benefits in terms of parallelism, concurrency and efficient management of memory.
Read More Stories: RIPE78: Step by step to the routing police?
We recently talked about how Firefox Quatum CSS had achieved incredible rendering times. We owe this to the performance of Rust and its efficient management and secure concurrency management. And the reduction in the number of bugs caused by situations such as, for example, race conditions.
Read More Stories: eSports and 5G: the Vodafone and ESL tournament
Rust leads systems programming to modernity
When we talk about system programming, the first thing that comes to mind is that part of the programming in which system administrators use scripts or small applications to lift machines. But beyond that, system programming is much broader. It is defined as the development of software elements that other software applications will use as a base. A good example is the one mentioned above with Firefox and its Servo engine , and another very important one is the Linux kernel written mainly in C / C ++.
Read More Stories: Researchers study how augmented reality affects our behavior
Rust brings modern tools to the world of systems programming:
- Cargo your manager dependencies and generation system builds. It is responsible for the compilation and management of components external to our code such as Rust libraries, called crates.
- Rustfmt is responsible for ensuring the consistency of the code style among developers.
- Rust Language Server facilitates the integration with different IDEs to help the code completion showing inline error messages in the code.
Read More Stories: Starlink: SpaceX’s first 60 satellites in orbit
We always rely on C or C ++ when we have needed tasks where performance is important. Not to mention vital, as in embedded systems or high performance systems such as simulation. The search for a substitute has always led to slower alternatives, whereas Rust ensures an excellent memory management as a fundamental pillar along with a modern syntax.
Read More Stories: Social Network: Over two billion fake accounts via Facebook
Its core values are secure memory management guaranteed at compile time , using the concepts of data ownership and memory borrowing. In addition to ensuring compile time that we will not find career conditions. All this through high level abstractions with type inference , without cost in execution times, very close to the values that C / C ++ can reflect, even improved.
Read More Stories: Who Are The Scientists Camels? How do they get legal drugs to investigate?
Rust is an excellent language to create command-line applications where we can define all the dependencies and generate the binary to be distributed through charge. In addition to creating embedded applications at a very low cost of size with a security in time of compilation of future errors. It also has a good error handling and flexible logging system when it comes to maintaining the code.
Rust also works for Web, going through WebAssembly and much more
Read More Stories: Google redesigns the SERPs on mobile devices
The development community has been waiting for years for this fact: that Rust managed to be a multipurpose language and will also enter the world of web development, beyond the internal development of a browser. In this way, excellently documented, we find the web ” Are we web yet? : n directory of all resources available today for use with Rust . If you still did not know Rust, it is interesting to know how it has an excellent HTTP stack where we can use web frameworks such as Rocket, including being able to replace Rails / Django or Flask in the near future.
Read More Stories: Windows 10 and IE11: zero-day exploits available
It also has different tools to create APIs, database connectors, HTTP clients, CMS, logging systems, etc.
Projects using Rust in production: from distributed systems to embedded systems
Apart from Mozilla and its development in Firefox, the community of companies that use Rust in production continues to grow. So we have some examples in different areas, such as Dropbox in which Rust is one of the key pieces in the efficiency of its datacenters serving content to more than 500 million users.
Read More Stories: Google Duplex: Machine reservation often needs human help
On the other hand, Yelp has developed its own A / B testing framework taking advantage of the speed of Rust (at the same level of C) and safer than it, which helps its maintenance.
Recently Amazon joined the development of Firecracker, a lightweight virtualization system for serveless systems in the AWS cloud.
We also find Rust part of some RedHat tools as its new storage system, Microsoft using it as part of the implementation of Azure for IoT, Reddit for the comment processing system or Twitter as part of the team’s internal tools of tooling.
Read More Stories: Linux gets CPU frequency scaling for Raspberry Pi
Although Rust has a slightly rougher learning curve than other modern languages of which we have spoken, it has excellent documentation on its official website with fully guided resources, in addition to various meetups.
We can start with “the book” of Rust, as it is known to The Rust Programming Language written by Carol Nichols and Steve Klabnik, as well as other contributions from the Rust community.
Read More Stories: Experiments with Dreams: from the Sonic jump to the Metal Gear cameras
There is a series of example exercises in the official Rust Github. Also say that the Rust roadmap is planning to create more resources for new and intermediate developers.
Maybe Rust is the language we use over the next 40 years replacing C / C ++.
Read More Stories: Second-hand laptop Samsung NC10 is for sale for 1.2 million dollars