7 ms·
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 tim
by dom96 4y ago
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 never got the same adoption as Rust either. Wonder if someone more familiar with the story of all these languages at Meta can comment on why that is.
- pjmlp 4y agoAndrei 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.
- TillE 4y agoD always struck me as not sufficiently better than C++ to justify the litany of downsides to using a relatively obscure language. To find a niche, it basically needed to be what Carbon now promises to be - something that can seamlessly integrate with existing C++ code.
- pjmlp 4y agoThey actually started down that path, https://dlang.org/spec/cpp_interface.html https://dlang.org/spec/cpp_interface.html, hence my remark.
- anewpersonality 4y agoDepressing that even a PL savant amongst us has to go and ply his trade around town instead of being financially independent.
- boppo1 4y agoPL?
- sn9 4y agoProgramming Language.
- goodpoint 4y agoYou are absolutely right. Many languages, libraries and tools are crucial for the software industry and the whole world. And yet in 2022 we still have to beg employers and donors to keep those projects running.
- qzw 4y agoYeah, it sad to think we have 100 f*cking think tanks endowed by billionaires that serve mainly to drive wedges into our democracies, yet nothing like that for PL geniuses that I'm aware of.
- anewpersonality 4y agoPerhaps its not that important If one PL doesn’t do the job, another will. If we don’t get fusion, we die. That’s what the Princeton IAS is for.
- im3w1l 4y agoWould be interesting to hear what their issue with it was if someone knows.
- rvz 4y agoThis doesn't come as a surprise as Meta is part of the Rust Foundation with many of the other Big Tech giants. [0] [0] https://foundation.rust-lang.org/members/ https://foundation.rust-lang.org/members/
- jenny91 4y agoYou've got the causality backwards: they're part of the Rust foundation because some folks inside seem to like and embrace Rust?
- nicolashahn 4y agoRust 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.
- CraigJPerry 4y ago>> 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.
- coldtea 4y agoRust 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.
- fuy 4y agoThat Acrobat must've been Alphabet :)
- coldtea 4y agoYeah
- CraigJPerry 4y ago>> Mozilla (of course) Mozilla is a c++ and javascript shop. What do they ship in Rust? How much of Firefox is written in rust for example? >> Microsoft, Meta, Google/Acrobat, Amazon Large firms have lots of devs and consequently lots of toy projects. Is their usage of rust more significant than their use of D? I mean Meta was churning out projects in D a while back (warp, flint, etc) and looked like it might be going all in at one point (they even hired one of the leads on D lang). >> That's practically all of FAANG Who were we missing? Netflix, they’ve dabbled with D too: https://github.com/Netflix/vectorflow https://github.com/Netflix/vectorflow Don’t misunderstand my point - it’s not that D is more popular than rust, it’s that rust is not used for real work in any significant capacity yet. Where’s the big project written in rust? Servo and the rust compiler are the only two large rust projects on github.
- vaylian 4y agoInteresting to hear this from a Nim developer. Do you think Nim would be a good fit for what facebook needs? (Normally I don't check author's names in hacker news comments. But I wanted to check if this is WalterBright posting here)
- rich_sasha 4y agoThat'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.
- fwsgonzo 4y agoI 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.
- girvo 4y agoSame 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.
- dom96 4y agoYep, I also just left Meta/Facebook after 4 years working there. I did spend some of my time trying to see where Nim could fit (together with a few other folks that liked Nim at FB), the best area we could come up with was CLI tools that interfaced with many internal C++ libraries. Nim would be a great replacement for Python here (it's fast and typed) and its ability to compile to C++ makes interfacing with C++ super simple (at least in theory). It is true that Nim has the same problem as D to a certain extent: the ecosystem is limited and the benefit it brings over C++ just doesn't overcome that. A great example of this is why I said "in theory" above, in practice interfacing with C++ in Nim just hasn't been done enough to be mature. Multiple teams in a FAANG aren't going to take a risk adopting that.
- reincarnate0x14 4y agoMost 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 evangelists for a language or platform, as soon as any of those aren't pushing it anymore, the entropy takes over.
- orwin 4y agoRust 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.
- isignal 4y agoThere wasn’t that many D services at Facebook. There may have been more outside buzz about its usage than reality.