This article is more than 1 year old

Meta approves four programming languages for workers and developers

Rust never sleeps and is henceforth welcome for backend services and CLI tools

Meta, the social ad biz better known as Facebook, on Wednesday endorsed four programming languages as preferred options for employees and for developers building software on its platform, now in the midst of reorientation toward data-rich virtual worlds.

Among the favored four is Rust, the much-loved systems language that emerged from Mozilla and is now overseen by the Rust Foundation.

In a blog post provided to The Register, the company explained that supporting a programming language is a decision not taken lightly.

"It’s important that every language we adopt is the best fit for a particular use case, so we do a high level of diligence whenever we evaluate a language," the company said. "Language decisions tend to stick once they’re made, so we want to be deliberate from the onset 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 writing code in a supported language are assured that they won't be asked to shift their code to a different language.

As might be expected, Meta has designated homegrown, open sourced Hack as a supported language. Hack is a typesafe variant of PHP that relies on the HipHop Virtual Machine (HHVM) and is the basis for much of Facebook. Meta recommends Hack for business logic and relatively stateless applications.

Python, one of the most popular programming languages around, 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 too did Rust, also recommended for backend services focused on performance and for CLI tools. "There's a rapidly increasing Rust footprint in our products and services, and we're committing to Rust long term and welcome early adopters," the company said.

Meta's endorsement of Rust shouldn't come as a surprise given that the company has been talking it up for several years.

Other programming languages are said to be "community supported," which means those using them are left to their own devices to ensure things work properly. Java, Erlang, Haskell, and Go, are endorsed for specific use cases, but aren't supported outside of those situations.

Rust, despite its reputation for being difficult to learn, has won favor over the past few years as a tool that allows developers to write memory safe code. It has seen adoption at Microsoft, at Google, and among Linux kernel developers, not to mention Apple, Amazon, and Dropbox.

Yet, memory safety may matter less to Meta in the near term than customer safety. A recent report titled "Taming the Hydra: Trust and Safety in the Metaverse," by consultancy The Everest Group, argues that enterprises participating in virtual world interactions will need to up their trust and safety game to avoid abusive behavior directed at virtual world avatars, data privacy problems, digital asset fraud, and mental/physical health problems for content moderators.

Meta also has to demonstrate that there's a mass market business in virtual worlds that justifies the $10 billion loss the company's Reality Labs unit posted last year. Now that Meta has partially frozen hiring and is reportedly facing morale problems amid CEO Mark Zuckerberg's exhortations to move fast and take fewer breaks, what the company really needs is a revenue-safe language. ®

More about

TIP US OFF

Send us news


Other stories you might like