Live data from Hacker News

Programming languages endorsed for server-side use at Meta

engineering.fb.com

11–20 of 302 posts

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

#12

I'm surprised at the list. Rust is fundamentally immature, C++ is fundamentally intractable, Python is fundamentally unusable at scale, and Hack is, well, no discussion needed. Strong negative signal for potential candidates.

What language(s), to your mind, would send a positive signal?

Go. The obvious right choice.

But Meta is in the advertising business and Google is a competitor.

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

#13
post #3

Where at Meta is Haskell primarily used?

My guess is that most people using Haskell (and OCaml and Standard ML) are using it for internal tool such as program verification/analysis/transformation. It's not that Haskell/OCaml/Standard ML should not be used for backend services (i.e. APIs in a hot spot [at faceboook's scale anyway]). It's just that (in my experience) they're most commonly used for out-of-band analysis or developer lifecycle systems.

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

#15

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.

They do:

> For specific use cases, we support other languages, including Java, Erlang, Haskell, and Go. These languages are currently not widely supported outside of specific use cases.

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

#16

I'm surprised at the list. Rust is fundamentally immature, C++ is fundamentally intractable, Python is fundamentally unusable at scale, and Hack is, well, no discussion needed. Strong negative signal for potential candidates.

What language(s), to your mind, would send a positive signal?

VB6

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

#17
> 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 PHP was too hard, so Hack was started which required a substantial C++ employee pool which meant that Rust was the ideal replacement to all of this skipping the Java/Kotlin and Go ecosystems altogether.

So not just scale at play here, a cause-and-effect of past hiring decisions.

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

#18
post #10

I'm surprised at the list. Rust is fundamentally immature, C++ is fundamentally intractable, Python is fundamentally unusable at scale, and Hack is, well, no discussion needed. Strong negative signal for potential candidates.

I can't speak to the other three, but the comment about python is not accurate. Or at least not given the way that python is used for the mentioned applications "For data science, ML applications, and Instagram, Python continues to be the language of choice". Pure python maybe, but the popular packages for these applications are all essentially python wrappers for highly optimized compiled code. I'm curious though, w…

Instagram is a huge Django app and unlike all the ML libraries, Django isn't highly optimized low-level code wrapped in Python, at least not by default. That's why Facebook are putting so much work into running a more performant fork of CPython - https://github.com/facebookincubator/cinder

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

#19

I'm surprised at the list. Rust is fundamentally immature, C++ is fundamentally intractable, Python is fundamentally unusable at scale, and Hack is, well, no discussion needed. Strong negative signal for potential candidates.

Curius why people downvote this.. its a perfect valid argument.
Post reply on HN