Technology Rust programming language: We want to take it into the mainstream, says Facebook

08:00  30 april  2021
08:00  30 april  2021 Source:   zdnet.com

Programming languages: How Rust uses status quo stories to drive better engineering

  Programming languages: How Rust uses status quo stories to drive better engineering Commentary: Rust has a unique way of crafting vision docs to help ensure the community builds for the widest possible audience.Rust does this with vision docs and status quo narratives that walk through "the challenges encountered by one of our [Rust users] as they try (and typically fail in dramatic fashion) to achieve their goals." Here's how they work.

Facebook has joined the Rust Foundation, the organization driving the Rust programming language, alongside Amazon Web Services, Google, Huawei, Microsoft, and Mozilla.

a man sitting at a table using a laptop computer © Getty Images/iStockphoto

Facebook is the latest tech giant to ramp up its adoption of Rust, a language initially developed by Mozilla that's become popular for systems programming because of its memory safety guarantees compared to fast languages C and C++. Rust is appealing for writing components like drivers and compilers.

The Rust Foundation was established in February with initial backing from Amazon Web Services, Google, Huawei, Microsoft, and Mozilla. Microsoft is exploring Rust for some components of Windows and Azure while Google is using Rust to build new parts of the Android operating system and supporting an effort to bring Rust to the Linux kernel.

The most popular programming languages and where to learn them

  The most popular programming languages and where to learn them Upskilling will be a part of work's new normal. Here's a look at the most popular programming languages based on surveys and courses for them.Here's a look at the top programming languages based on a sampling of surveys from RedMonk, Tiobe, and SlashData and places where you can hone skills or acquire them new. Most of these courses are available for free or with a subscription. Some may be available via corporate programs from your employer.

Facebook's engineering team has now detailed its use of Rust beginning in 2016, a year after Rust reached its 1.0 milestone.

"For developers, Rust offers the performance of older languages like C++ with a heavier focus on code safety. Today, there are hundreds of developers at Facebook writing millions of lines of Rust code," Facebook's software engineering team said.

Facebook has joined the Rust Foundation at the highest tier alongside its tech giant peers, giving it a spot on the foundation's board.

"Facebook has embraced Rust since 2016 and utilizes it in all aspects of development, from source control to compilers," says Joel Marcey, Open Source ecosystem lead at Facebook, and now board director at the Rust Foundation.

C reigns supreme and Java edges Python in TIOBE's latest programming language rankings

  C reigns supreme and Java edges Python in TIOBE's latest programming language rankings While the rankings were somewhat similar to February's, the company announced a number of new features to enhance the index moving forward.As was the case in February, C again holds the top spot with a 15.33%. Runner-up Java boasts a rating of 10.45% to edge out third-place Python (10.31%). In order, C++ and C# round out the top five with ratings of 6.52% and 4.97%, respectively. Compared to February's rankings, the March top five remained unchanged.

"We are joining the Rust Foundation to help contribute to, improve and grow this language that has become so valuable to us and developers around the world. We look forward to participating with the other foundation members and the Rust community to make Rust a mainstream language of choice for systems programming and beyond."

Facebook has used Rust in a number of projects, including its controversial Libra cryptocurrency and blockchain effort, which is now governed by the Diem Association. Facebook is now just a core member of that association via its Novi digital wallet. Facebook notes that the Diem blockchain is primarily written in Rust.

Before that Facebook turned to Rust for Mononoke, a source control server, in a 2016 project.

"Developing Mononoke in C++ was the obvious choice at first. At the time, Facebook's back-end codebase was very C++ heavy, meaning Mononoke would have been implemented in C++ by default," Facebook engineers note.

Fact check: A viral image of restaurant diners does not depict the Facebook content policy team

  Fact check: A viral image of restaurant diners does not depict the Facebook content policy team A post falsely claims to show the Facebook team that sets the platform's rules. The image has been shared many times claiming to show various groups.“Facebook community standards team,” it claims. “This is literally who bans us.

"But the Source Control team needed to consider the reliability needs of the source control back end. When corruption or downtime can potentially bring services to a halt, reliability is a top priority. That's why the team chose to go with Rust over C++."

Adopting Rust was a big and risky decision due to the time required to learn a new language and the amount of time already invested in projects written in another language, as Facebook software engineer, Jeremy Fitzhardinge, explained at a talk at RustConf 2019.

He liked Rust because of its ability to detect major bugs at compile time was orders of magnitude cheaper than discovering them when code was running on production systems.

After proving a successful Rust transition for Mononoke, developer interest within Facebook grew. Facebook notes many of the engineers attracted to Rust came from Python and JavaScript backgrounds. That's notable, given these are the two most popular programming languages. Python is popular for machine learning and backend systems development, while JavaScript rules web front end systems.

‘Race against time’: Pandemic propels fight to save Native American languages

  ‘Race against time’: Pandemic propels fight to save Native American languages Covid hit Indian Country hard. As elders die, tribes are fighting to preserve their languages. Congress is sending cash.Barnett eventually recovered, but her illness exacerbated fears the language would become extinct — something the Yuchi Language Project is pushing to prevent from happening.

"They appreciated Rust's combination of high performance with compile-time error detection. As more success stories, such as performance improvements at two to four orders of magnitude, circulated within the company, interest grew in using Rust for back-end service code and exploring its use in mobile apps as well," Facebook notes.

In 2020, Facebook created a Rust team in its Programming Languages unit, which is also responsible for its work on C++ standards and toolchains.

That team focussed on Rust toolchains, code reviews of the Rust compiler, and ensuring Rust's safe interoperability with C++ code.

"We have a vast amount of C++ code that is necessary to communicate with the back-end systems that services are built on. We need developers to be able to use these libraries safely and easily from Rust without sacrificing the benefits that Rust offers," Facebook explains.

"Inversely, if we want to see Rust components integrated with our larger C++ binaries, we need smart runtime interoperability in asynchronous code. Facebook's servers are highly distributed and heavily threaded. Rust tasks need to play nicely on a C++ threadpool and safely share synchronization primitives and I/O resources.

That team also supported and quickly adopted C++20's coroutines, the C++ standard finalized by the Working Group 21 (WG21) in September.

"Bringing Rust into the game will be an extension of that and will build on the excellent work already happening in the Rust asynchronous library stack."

What enterprise architects need to know about Java modernization .
Quarkus and Jakarta EE are gaining on Spring/Spring Boot as the most popular approach to moving Java applications to the cloud.The current challenge for companies and Java developers is to adapt the language to this new environment. There are several ways to do that, including Quarkus from Red Hat.

usr: 0
This is interesting!