Live data from Hacker News

Programming languages endorsed for server-side use at Meta

engineering.fb.com

61–70 of 302 posts

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

#61
post #30

“Since we began our journey with Rust, the number of projects using Rust inside Meta has increased at an accelerated rate” That almost sounds like an endorsement. I’ve been holding off learning Rust. However, it seems like Rust adoption is reaching a tipping point.

> I’ve been holding off learning Rust.

Rust is quite an easy language to learn and a pleasurable language to use, due to its modern ergonomics and internal consistency. Give it a try. The only trick is that Rust newcomers actually need to read up on Rust borrow checker and lifetime annotations first, as opposed to learning Rust only through hacking with it. Those two concepts are unique to Rust and need to be well understood beforehand to avoid frustration.

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

#62
post #35

Earlier quoted context omitted.

Rust adoption very much seems to be ramping up within the really big companies. Google talking about it both for Android and Chrome, FB with a ton of things, Apple had uses for it I think but I'm blanking on what, Amazon is using it for at least some new AWS infrastucture...

Microsoft has been using it internally as well.

I look forward to seeing Rust# (or R# for maximum confusion).

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

#63
I work at Meta and I use tools written in bash, C, Java, Go, TypeScript, Kotlin and Dart daily. I've definitely noticed that some C++ tools are moving to Rust. I would have preferred to see D in its place, but it is what it is.

Personally I'm not a fan of Rust, but it is interesting to see how the language is growing as it hits mainstream. Lots of similarities with Go back when it was cool and hip.

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

#64

It's curious not to see any JVM language there. Scala isn't even mentioned. Probably the data size is so high that the only way to survive there is to write everything in low level C++ or Rust.

The build tool they use, Buck, is written in Java, although a rewrite of it in Rust is in the works.

Buck2 in rust is already functional

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

#65

> Meta’s primary supported server-side languages are Hack, C++, Rust, and Python. > For specific use cases, we support other languages, including Java, Erlang, Haskell, and Go Makes sense. Python because ML. Rust because of performance. C++ and Java because all-the-things. Go because 75% of all cncf.io projects are Go. Haskell because elitism. Erlang because stability. /s I think the real story is that migrating off…

Hack has an interest pivot though.

It started with their PHP to C++ compiler, then someone started a JIT compiler, and eventually the JIT proved to be a better outcome in tooling and performance, that they scraped the compiler and kept the JIT instead.

It had the side effect that proper PHP now enjoys a JIT as well.

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

#67
post #20

Not surprised at the list. Hack stands out as unique to facebook. Is hack being used in other large companies? I wonder if they will ever move back to php now that many issues facebook had have been resolved in later versions.

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 added to the language.

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

#68
post #30

“Since we began our journey with Rust, the number of projects using Rust inside Meta has increased at an accelerated rate” That almost sounds like an endorsement. I’ve been holding off learning Rust. However, it seems like Rust adoption is reaching a tipping point.

> I’ve been holding off learning Rust. Rust is quite an easy language to learn and a pleasurable language to use, due to its modern ergonomics and internal consistency. Give it a try. The only trick is that Rust newcomers actually need to read up on Rust borrow checker and lifetime annotations first, as opposed to learning Rust only through hacking with it. Those two concepts are unique to Rust and need to be well un…

I don't think Rust is easy to learn, it's has a kind of famously steep learning curve. The tooling is great which helps, but it's not easy for new-ish systems programmers.

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

#69
post #63

I work at Meta and I use tools written in bash, C, Java, Go, TypeScript, Kotlin and Dart daily. I've definitely noticed that some C++ tools are moving to Rust. I would have preferred to see D in its place, but it is what it is. Personally I'm not a fan of Rust, but it is interesting to see how the language is growing as it hits mainstream. Lots of similarities with Go back when it was cool and hip.

Not that you need to be a fan, but what are your reasons for not liking Rust? As a Rust developer, I'm always curious.

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

#70
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…

Andrei is now at NVidia, and I bet most likely for his C++ skills.

It is a pity that D never found its enterprise sponsor to push it no matter what.

Even the recently announced Carbon could probably have somehow built on top of it.

Post reply on HN