Rust is Meta’s Favorite Programming Language! Python is also on Line

Programming language

Facebook parent Meta now encourages its engineers to use C++ and Rust programming languages for coding high-performance backend services. Rust, initially developed within Mozilla, is joining Meta as an officially endorsed server-side language. Adding Rust as a supported language was a “very careful and deliberate decision” to help engineers pick the best language for their projects, according to Meta. The company’s primary supported server-side languages are Hack, C++, Rust, and Python.

For performance-sensitive back-end services, the company encourages C++ and Rust. Rust is a new addition to this list. There’s a rapidly increasing Rust footprint in Meta’s products and services, and the company is committing to Rust long-term and welcomes early adopters. 

For CLI tools, Rust is the most recommended programming language. This is a new recommendation for this year. 

For business logic and relatively stateless applications, the Hack ecosystem has the highest level of automation and support at Meta and is the recommended language.

Finally, Meta continues to heavily support its Python developers. For data science, ML applications, and Instagram, Python continues to be the language of choice and continues to invest in the experience with this ecosystem. 

For specific use cases, the company supports other programming languages, including Java, Erlang, Haskell, and Go. These programming languages are currently not widely supported outside of specific use cases. 

Rust was created to ensure high performance similar to that offered by C and C++, but with emphasis on code safety, the lack of which is the Achilles heel of these two languages. However, Rust has more than just memory safety on its side. High performance while processing large amounts of data, support for concurrent programming, and this together with an effective compiler are other reasons why well-known software heavyweights now use this programming language. Firefox, Dropbox, Cloudflare, and many other companies from startups to large corporations use Rust in production.

Benefits of using Rust programming language

Benefits of using Rust programming language

Constrained resources are the norm, with embedded systems normally found on machines and home appliances. This is the reason that the embedded systems need a modern programming language like Rust, which has a very low overhead.

Rust is a resource-efficient and in-demand feature in an embedded system. It allows programmers to identify bugs early, preventing any future mishaps with the device.

The cherry on the cake is Rust’s power of zero-cost abstractions. Whatever abstraction of code you use, Rust is generous enough to accept it all. You could use loops, closure, or whatever flavor of code that you are in the mood for that day, and they all will compile down to the same assembly without affecting the performance of your code.

Rust allows you to store data on the stack or the heap, and it detects when memory is no longer required and may be freed up at build time. This provides for more efficient memory utilization as well as faster memory access. By rewriting key Java HTTP endpoints in idiomatic Rust, Tilde, an early production user of Rust in their Skylight product, was able to cut their memory use from 5GiB to 50MiB. When cloud companies charge premium pricing for more memory or additional nodes, savings like these can mount up.

Rust vs Python: advantages

Rust vs Python: advantages

Rust is well-designed. Rust allows for putting statements in a lambda and everything is an expression, so it’s easier to compose particular parts of the language. Python lacks it. Rust doesn’t have classes so the object orientation is not as evolved as it is in Python. Python also comes across the necessity of writing more tests, production outages, or runtime crashes. Rust makes it less expensive to identify and fix possible bugs.

More Trending Stories 

Source link


Leave a Reply

Your email address will not be published. Required fields are marked *