Live data from Hacker News

Programming languages endorsed for server-side use at Meta

engineering.fb.com

231–240 of 302 posts

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

#231
post #70

Earlier quoted context omitted.

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.

Depressing that even a PL savant amongst us has to go and ply his trade around town instead of being financially independent.

PL?

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

#232
post #202

Earlier quoted context omitted.

Well, isn´t that a bit damning though? I am not an expert on Rust, so please enlighten me. If it is meant to replace C++, I would expect it to dethrone on the areas where it is king. I am looking at a crap ton of programs with an UI. Your IDE, your text editor, your spreadsheet program, your graphics editor, etc. Most of the modern programs just give up and ship as a full blown bloated memory eating web browser. Ther…

grep inner loops are coded straight in Assembly. So Rust would be a poor fit.

Can you link to the source of any widely deployed grep whose "inner loop" is coded in Assembly?

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

#233
post #135

The primary use case for Rust being CLI is somewhat strange and speaks to non-technical considerations. Does anyone really think there is an advantage Rust brings here over everything else -- Golang, Python etc. Rust community seems to go after "hot" areas in hopes of getting traction, fully understandable. Writing web services is another area Rust people jumped into looking at the popularity of Golang. Most recent "…

> Does anyone really think there is an advantage Rust brings here over everything else -- Golang, Python etc. Yes! IMO building CLI tools is one of Rust's sweet spots for a few reasons: - Rust is great at building small, fast, statically linked executables. Python and a lot of other languages are not. - Rust has excellent cross-platform support. The stdlib and crate ecosystem do a remarkable job of building abstracti…

> small ... executables.

> clap

Isn't clap kind of notoriously bad about executable bloat and compile times?

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

#234
I'm surprised by the use of Rust in domains where a GC is perfectly fine, like much of CLI tooling. Manual memory management is one of the most time consuming issues to deal with and I don't understand why people are burdening themselves with it in domains where it's not strictly necessary.

If you want an ML / C family hybrid language there's Ocaml, or if you just want a fast static-binary language there's Go.

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

#236

Earlier quoted context omitted.

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 ranking…

Rust has been adopted by Mozilla (of course), Microsoft, Meta, Google/Acrobat, Amazon, and even Apple for key infrastructure, among tons of others major big players.

That's practically all of FAANG and more.

D never had that.

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

#237

Earlier quoted context omitted.

>> 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 ranking…

> The usage of both D and Rust is notoriously low in the industry Rust usage is not "notoriously low" (don't know how you came to believe that) and it's growing very rapidly. The fact that it's a major supported language at Meta is evidence enough to the contrary, not to mention the plethora of post titles on HN that end with "in Rust", or are about rewriting in Rust (some of these are personal projects but many are…

Rusts usage in industry absolutely is notoriously low when in comparison to C++ though (as is D’s) That’s changing of course but HN’s bubble is just that, a bubble.

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

#238

Earlier quoted context omitted.

That's what crossed my mind too. C++ and Rust are heavyweight and verbose, for ultimate control over execution. I have no Go experience but it seems to prefer simple over expressive. I see that niche for Nim here: fast-ish, compiled, simple to use but also expressive.

I added Nim support to an edge platform for that reason. I think it fits in with the others. Crucially it boils down to machine code and can be debugged with GDB.

Same reason we’re using Nim for our IoT sensor platforms firmware: it just boils down to C, so we don’t have to give up driver support or rewrite ESP-IDF from scratch.

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

#239
post #129

Quite surprised not to see OCaml / ReasonML in the main list given here.

Does ReasonML have a server side, more general purpose, ecosystem?

OCaml has Mirage (https://mirage.io) for example, and ReasonML is just another syntax for the language.

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

#240

I'm surprised by the use of Rust in domains where a GC is perfectly fine, like much of CLI tooling. Manual memory management is one of the most time consuming issues to deal with and I don't understand why people are burdening themselves with it in domains where it's not strictly necessary. If you want an ML / C family hybrid language there's Ocaml, or if you just want a fast static-binary language there's Go.

Rust memory is not manually managed though. At least not in the sense where you have to remember to free things or not use dangling pointers. The amount of memory management in (non unsafe) Rust code, at least in my experience, is minimal.
Post reply on HN