Shamelessly stolen from a Reddit post that made me laugh when I randomly remembered it today. Figured it was worth reposting to Lemmy if I laughed upon remembering it and not just upon first sight.
Facebook hasn’t used PHP for a long time. They use Hack which started as a language similar to PHP, but it’s very different now - it’s strongly-typed and has a bunch of advanced features, like the ability to annotate functions as pure (no side effects), which gets enforced by the type checker.
I wrote extensively in Ruby but for Rake - using Ruby as a build system. Can’t say I liked the language although it was okay for how we used it. We have 20 sub projects with some very complex build targets and dependency scanning going on and the Rake syntax was okay. Personally I think its biggest shortcoming was the documentation was very poor and stuff like gems felt primitive compared to other package management systems. One thing I liked from the language was blocks could evaluate to a value which I really use a lot in Rust too.
I think if I were doing an acyclic dependency build system these days I’d use Gradle probably.
As for Rails I expect failed to catch on because even compared to Python, Ruby is a slow language. And Python isn’t fast by any stretch. Projects that started with Rails hit the performance brick wall and moved to something else.
We had tens of thousands of lines in our rake files to build a bunch of targets, none of which were even Ruby. I think if I needed to build another complex build system that was a directed acyclic graph I think I’d use Gradle, for a several reasons - we had some Java targets so we save on an additional developer runtime, it would run faster & Gradle is more mainstream and easy to get various plugins & documentation for.
But Cinc and its sell-out dad Chef are really great uses of ruby, keeping us from YAML hell and the kludgey socket-machine-gun that is Ansible. That piece of shit has more lithium-lick than I’ve ever seen.
If we can’t have mgmtConfig (ohai go), at least let us keep Cinc, but it needs ruby.
Fuck that, I don’t trust executables unless they’re signed, downloaded securely (e.g. HTTPS), and I trust the source I downloaded them from. Anything else might as well be a virus. If I can’t find a signed binary from a trustworthy source, I’m either not using it or I’m going to build it myself (after skimming through the code).
programmer_humor
Hot
This magazine is from a federated server and may be incomplete. Browse more on the original instance.