Meta, the social ad biz better known as Facebook, on Wednesday approved four programming languages as preferred options for employees and developers building software on its platform, now in the midst of a reorientation towards data-rich virtual worlds.
Among the favorite four is Rust, the beloved systems language that emerged from Mozilla and is now overseen by the Rust Foundation.
In a blog post provided to The registerthe company explained that supporting a programming language is not a decision taken lightly.
“It’s important that each language we use best suits a particular use case, so we take a high degree of care when evaluating a language,” the company said. “Language decisions often stick once they’re made, so we want to be informed from the start to give our engineers the best tools to work with.”
For Meta, a supported language can be expected to provide internal and external developers with a positive experience in terms of code editing, debugging, builds, core libraries, and interoperability. And those who write code in a supported language are assured that they will not be prompted to move their code to another language.
Unsurprisingly, Meta has designated the homegrown open source Hack as a supported language. Hack is a type-safe variant of PHP that relies on the HipHop Virtual Machine (HHVM) and forms the basis for much of Facebook. Meta recommends Hack for business logic and relatively stateless applications.
Python, one of the most popular programming languages out there, also got the nod. Meta recommends Python for data science, ML applications, and Instagram-related code.
C++, the widely used general purpose programming language, received Meta’s blessing for performance-sensitive backend services.
So was Rust, also recommended for performance-oriented backend services and for CLI tools. “There is a rapidly increasing Rust footprint in our products and services, and we are committed to Rust for the long term and welcome early adopters,” the company said.
Meta’s endorsement of Rust should come as no surprise, given that the company has been talking about it for several years.
Other programming languages are said to be “community supported,” meaning those who use them are left to their own devices to make sure everything works properly. Java, Erlang, Haskell, and Go are approved for specific use cases, but are not supported outside of those situations.
Rust, despite its reputation for being difficult to learn, has become favored in recent years as a tool that allows developers to write memory-safe code. It has been adopted by Microsoft, by Google and among Linux kernel developers, not to mention Apple, Amazon and Dropbox.
Still, short-term memory security may be less important to Meta than customer security. A recent report titled “Taming the Hydra: Trust and Safety in the Metaverse,” by consulting firm The Everest Group, argues that enterprises that engage in interactions in the virtual world should strengthen their trust and safety game to prevent targeted abuse. on virtual world avatars, data privacy issues, digital asset fraud, and mental/physical health issues for content moderators.
Meta must also demonstrate that there is mass-market activity in virtual worlds that justifies the $10 billion loss the company’s Reality Labs unit booked last year. Now that Meta has partially halted hiring and is reportedly experiencing morale problems amid CEO Mark Zuckerberg’s urgings to act quickly and take fewer breaks, the company really needs revenue-safe language. ®