Live data from Hacker News

Programming languages endorsed for server-side use at Meta

engineering.fb.com

211–220 of 302 posts

Re: Programming languages endorsed for server-side use at Meta

#211
post #51

What's always been interesting about the languages Meta uses is the story of the rise and fall of the D programming language at Meta. I wasn't around at the time when Andrei was working there and advocating for its adoption, but it seemed like he hit a wall at some point. By the time I joined all D services were being deprecated or rewritten. Rust seems to be doing far better. Though it's also worth noting that Go ne…

Rust is far more widely used than D in the industry, so it's no surprised that it's more supported at Meta. Re: Go, it's use cases overlap with the officially supported languages, so there's no broad need for it.

>> Rust is far more widely used than D in the industry

An off the cuff comment but all the same it made me think - how would you get data for an assertion like that. The usage of both D and Rust is notoriously low in the industry, a rounding error. That has to make it so hard to measure. Still, you'd expect D to be more popular because Rust's only been around 10-ish years or so.

If you click through the TIOBE rankings, it lists them right next to each other on page 3 of the results behind other languages i can't help but be sceptical of like SAS, Prolog, Scratch and Visual Fox Pro.

Indeed claims 5k job listings for "D Programming Language" (i call foul, that seems way too high) and 2k for rust.

Re: Programming languages endorsed for server-side use at Meta

#212

Earlier quoted context omitted.

Hack because?

There's a LOT of infrastructure that already exists in the Hack ecosystem at Meta. Especially around things like data access control, privacy, auditing, data deletion, etc. When I left earlier this year, pretty much all of the internal storage systems (from MySQL to blob storage) were moving to requiring all access to be via a common Entity framework that encoded the above-mentioned things in a common way. That frame…

So all the things they are especially bad at?

Only a semi troll comment, IRL Facebook recently said they were genuinely unable to audit where personal information was ending up across their systems which is a terrifying thing to think about and another reason I genuinely hope their pivot to VR kills them as a company.

Re: Programming languages endorsed for server-side use at Meta

#213

I'm very surprised that C++ is one of the recommended languages for backend services. I occasionally am interested in learning C++ but with my context as a web developer I find it doesn't really fit any of my use cases. How would one go about building a rest service in C++? Do you have to write everything yourself or are there libraries and frameworks. I did some light looking into it after reading the article but I…

Check out WebAssembly.

Re: Programming languages endorsed for server-side use at Meta

#214
post #175

Earlier quoted context omitted.

You can have a look at its issues, https://github.com/microsoft/windows-rs Note the lack of of safe wrappers for Windows APIs, and still no good way to create the Windows Runtime objects necessary to interoperate with XAML. Also the basic examples with very little UI code on what is supposed to be a projection for a Windows UI framework.

Thanks. I did not mean XAML literally though, something like that would be super nice for Linux. The project you linked brings Windows RT as a requirement. But just something with the richness of QT + Rust on Linux would be welcome. I am hearing the rust bindings for QT are just a pain and incomplete. I was hoping for Rust to really offer an alternative for C++ here.

Well, there is Slint in that case, from former Qt devs, but it is still pretty much early days.

https://slint-ui.com/

Check their online demos.

Re: Programming languages endorsed for server-side use at Meta

#215
post #76

Earlier quoted context omitted.

> Rust gaining popularity As it should. Beyond that though. How relevant even is Meta anymore? They are a dying company aren’t they? Facebook hasn’t been relevant in ages. Instagram is losing footing too. Only way I can see them maintaining relevance is if one or more of the following happens: - They turn out to be right in their bet on VR and Metaverse. Personally I doubt it, and I think VR and Metaverse is closer a…

> Beyond that though. How relevant even is Meta anymore? They are a dying company aren’t they? Facebook hasn’t been relevant in ages. Instagram is losing footing too. The lies and the media reports of the so called death of the fastest company to reach $1 trillion dollars in the 21st century has been greatly exaggerated. Especially with having platforms with 1 billion+ users each . Meta has plenty of cash and revenue…

The absolute dumpster fire that is their pivot to VR however.. go look at this and the replies and then remember this is what they are betting the company on at a time when they have never had less user trust, goodwill or greater potential for government oversight.

This is hopefully the beginning of the end for them.

https://twitter.com/metaquestvr/status/1551943338038726657

Re: Programming languages endorsed for server-side use at Meta

#216
post #67

Earlier quoted context omitted.

Hack has become essentially a domain-specific language for the frameworks used at Meta. They evolve together. There's no going back to PHP because there's no reason to rewrite the frameworks and give up on the flexibility afforded by being able to tweak the language to fit the framework. It's basically the same situation as Apple has with Swift. They'd never switch from Swift to C++, no matter what features were adde…

Does it make sense to adopt hack outside of FB? I never even heard of it before.

I would seriously question the wisdom of anyone even considering it.

Re: Programming languages endorsed for server-side use at Meta

#217
post #199

Earlier quoted context omitted.

> Erlang because stability. Maybe because of WhatsApp acquisition ? Some services might still be running in Erlang. Last I heard, Erlang was being replaced by C++. > Haskell because elitism. Haxl used to be a project at FaceBook, not sure what Haskell is used for now there. Thoughts as an outsider. I dont work [neither have worked] at Meta.

> Haskell because elitism. Does anyone know if Simon Marlow is still at Meta and what he works on?

Glean, at least tangentially?

Re: Programming languages endorsed for server-side use at Meta

#218

I'm very surprised that C++ is one of the recommended languages for backend services. I occasionally am interested in learning C++ but with my context as a web developer I find it doesn't really fit any of my use cases. How would one go about building a rest service in C++? Do you have to write everything yourself or are there libraries and frameworks. I did some light looking into it after reading the article but I…

> How would one go about building a rest service in C++?

I'd use https://github.com/drogonframework/drogon if the app needs to be pure C++ or Cutelyst (https://cutelyst.org/) if it's a Qt app which needs to expose an http server

Re: Programming languages endorsed for server-side use at Meta

#219
post #51

What's always been interesting about the languages Meta uses is the story of the rise and fall of the D programming language at Meta. I wasn't around at the time when Andrei was working there and advocating for its adoption, but it seemed like he hit a wall at some point. By the time I joined all D services were being deprecated or rewritten. Rust seems to be doing far better. Though it's also worth noting that Go ne…

Most of the other "Better C" languages never got the inertia to overcome C++ so that's not really a unique case. Go and Rust both had key organizational buy-in from large and culturally important orgs early on which is why they seem to have gotten roots down versus most others, and even Go took a fairly long time to see adoption outside of Google at least to my view of things. With only a single or small group of eva…

Rust was sufficiently different from C++ and C in a lot of use cases, while maintaining a similar syntax.

It also rode on a sort of anti OO programming sentiment (or rather, pro interface anti class sentiment), which was my personnal reason. I mean, i know you can do everything rust traits do with interfaces, but it feel better, and it also feel better there won't be a exceedingly smart programmer who does exceedingly smart things with classes that someone will have to understand and write a documentation for (and fail).

It also was out at a good time, with a sort of "rivalry" with go, without the same uses case: the number of "Go vs Rust" thread that poped in with the response "they are not targeting the same problems" did help with popularizing the two languages.

And rust is simply a very good language.

Re: Programming languages endorsed for server-side use at Meta

#220
post #204

I’m surprised they said Rust is their new language of choice for CLI tools. I’m no expert but always saw Go as the better choice for CLI tooling where performance is important, Rust more of a low level language for highly performant libraries and tools, and Python a good choice for scripting or plumbing that needs to work and be easily maintainable, without special performance concerns (Python is my primary language,…

I am surprised too. If your number one problem is short deadlines, using Go is simply more obvious for CLI.

I think this makes some sense if you're a golang shop, sure. But FB doesn't seem to be using it much anywhere else.
Post reply on HN