Mastodon is written in Ruby. Nowhere near as big as Facebook or the ML field, but hey, it’s important to a couple of us at least :)
was python ever irrelevant?
Nope. This cartoon is horseshit.
Yeah. Look at any dev job listing and it’s all “Python, C++, or Java experience preferred”
Perhaps as the new hotness to web devs, but Python was a mainstay in science way before Django.
For about the first five years of its life, it was eclipsed by Perl. That’s about it. I don’t think anything will ever unseat Python as too many people’s first and last language.
Surely not in the immediate future, but there will surely be a day when Python dies. Remember that BASIC filled that role for far too long.
BASIC was meant as a teaching language. Python is a real language that’s simple enough to be a teaching language. It also runs the same dialect on every machine, which BASIC never did.
Being the second best language at everything, it gets used for everything because people don’t want to learn the first best in any given niche. Python isn’t the best choice for numeric applications, but with NumPy, it’s adequate, so why bother learning R? Even if you knew R already, you’re going to run into a lot of Python code for that domain from other people. You’ll be swimming against the current, and why bother?
Python will die when the sun does.
You have absolutely no idea how much business code has been written in VB.
Or COBOL.
No language truly dies, while Capitalism exists.
I do know, but that’s off to the side of BASIC in general. In fact, VB syntax is barely recognizable as BASIC.
Python is one of my primary languages (the other one being Rust). But it honestly isn’t the easiest language to teach - I’m saying this from experience. There are so many concepts at play - name binding, iterators, generators, exception chains, context managers, decorators, … . I could go on and on. Teaching becomes hard because any basic question could become a journey into the rabbit hole of python semantics.
Python is, however, a good first language for self learners. (Note: teaching vs learning). Python behaves intuitively. It’s designed in such a way that if you guess something about the language, you’ll probably be right.
Being the
secondtenth best language at everythingFTFY
Python is the language of choice for most test automation
If I can’t do it as a Bash one-liner, I’m using Python
subprocess.Popen(["bash one-liner"], stdout=PIPE, stderr-PIPE, text=True)
["bash", "one-liner"]
Grug use go because it easier, faster, and compiles to share with friends of Grug
Depends entirely what tests you’re automating. Java codebase? Probably Java tests too. Anything web? Tests will be JS too, etc.
Web testing is also done in python. Selenium has support in all major Python test frameworks. I’ve done SE-only tests in Robot, hybrid SE/Python using BDD with Behave, etc.
Unless I’m testing a language-specific API, I’m probably going to use Python…
I’m guessing that’s because you’re a python developer though. If you’re a frontend developer who knows JS then why wouldn’t you use that for your tests? (Apart from the fact that JS is horrible, but you’ve already accepted that suffering by becoming a web dev)
I’m a test automation developer, I’m not necessarily bound by the platform that the application is written in unless I’m writing white-box tests.
Maybe when 3.0 was new and created all sorts of incompatibilities with 2.x
Nah, Python 2.7 got way more support than it ever deserved because people just refused to switch to 3. Hell, people were starting new python projects on 2 after 3 came out.
Yesterday I would have argued that with the rails framework Ruby is a great way to rapidly develop a scalable application. Today I started having an intermittent failure in one of my API instances and when searching about it the only thing I could find was one obscure blogpost that boiled down to “yeah sometimes Ruby Ave active record just screws up the character set off a string” exact same string, different results. Excuse me Ruby? How the fuck can you sometimes screw up a character set? There should be no sometimes to any thing here.
I like Ruby most of the time, but honestly, I’m not surprised at “sometimes” behavior from the language created by someone who, when asked for the formal definition of something in the language, said he’s “not really a formal kind of guy.”
Haven’t Spring Boot in Kotlin with jib and cloud integration caught upto this in terms of development speed?
I mean I’ve been using ActiveRecord for the last 20 ish years and I’ve never encountered or even heard of this bug. Sounds like you came across an especially obscure one.
I spent a few years with Ruby, and my experience is that Ruby and Rails couldn’t be more different in terms of programming approach, philosophy, and nature. I don’t trust Rails fully, but I do trust Ruby.
Mastodon is written in Ruby. Nowhere near as big as Facebook or the ML field, but hey, it’s important to a couple of us at least :)
and therefore scales terribly ;;
It probably wasn’t a big deal when it was a niche project until Twitter imploded. Then all the public instances got overloaded with new users and the limits became obvious.
A better design is Lemmy which is written in Rust so it has far more scalability. It’s compiled and because it’s tokio / actix based, it can also do a lot more stuff asynchronously so it’s not spawning thousands of threads to cope with concurrent requests.
@pkill Yeah seems that way, judging by their scaling up documentation: https://docs.joinmastodon.org/admin/scaling/
Although hey, it all depends on a whole bunch of stuff written in super optimised (and kinda scary) C !
Those docs look pretty easy to scale mastodon. What am i missing?
@towerful I mainly program in Go, so when I see all that extra software I notice how much easier it is when I get to just rely on the Go runtime. It does a lot of the heavy lifting done here, but the resulting code is not as clean. Actually just today I read through Mastodon’s code to track down a bug in my in-progress ActivityPub service (in Go) and found the Ruby really easy to navigate!
Hi there! Your text contains links to other Lemmy communities, here are correct links for Lemmy users: !programming@programming.dev
Mastodon is written in Ruby. Nowhere near as big as Facebook or the ML field yet
FTFY ;)
As a Rails engineer with 14 years experience, I can say the place that should be in the 3rd panel is Shopify. They employ so many ruby and rails core committers and directly fund a good many rails gems, and ruby community infrastructure it’s insane. They’re also directly funding the development of things like the YJIT and speed enhancements to MRI itself.
Then there’s all the other places I know or worked at built on Ruby where my other long tenured ruby friends work.
- Gusto
- Airbnb
- Clearbit
- Stripe
- Github
- Gitlab
- Bold Penguin
Ruby was recommended to me by my comparative programming languages professor. I haven’t picked it up, but there were memes that this professor was so good at programming he was secretly built by the university in C++ to teach students how to write better code.
It’s worth learning Ruby to understand some of the tricks you can do in programming languages.
Did your prof also recommend others like Lisp?
Aha asks for Ruby on rails experience in their job listings, so they must be using it as well
Basecamp
One of the most known programming tool is built on Ruby, Github.
GitLab also uses Ruby on Rails
And it’s a pile of shit.
git is great. GitHub blows chunks. The only reason it’s still big is that it sucks less than any other single platform.
@SpaceNoodle I’ll always be sad how GitHub helped popularise centralised workflows. Such an amazing opportunity for a big cultural shift, but it didn’t go anyway as far as it could have.
Git owes a lot of its popularity to github. Without it, there’s a good chance that mercurial would have taken over. In addition, the centralized workflow was what made both git and github popular. It simplified git usage enough to let a lot of novices get started.
I’m in no way a fan of centralization that github represents. But I think a decentralized workflow using git was a lost opportunity. People complain a lot about the git-email workflow. But I see no reason why it couldn’t have become as easy as using github if the effort spent on github was spent on git-email tools and user experience.
So I know it’s supposed to be an arm, but those language be dummy thicc
the perl monks have hidden away the monastic order safely until they are needed to fight the ai demons
@nifty I have nothing against Ruby and think it’s a nice flexible language. At the peak of RoR though, all the asshats were all over Ruby.
My problem with Ruby wasn’t even RoR, it was with the way the asshats valued
creativity“cleverness” which seemed to mean writing code in the most cryptic ways possible. These folks took what should be an expressive language and wrote scripts that rivaled Perl’s worst “read once and never again” scripts.Hey Ruby debs, lookup Elixir. It’s supposedly similar syntax but run on the Erlang VM instead. Lots of cool companies use it, and a great community. 🤗
I’ve written a non-trivial amount of Elixir. It’s nice, but I wouldn’t say it’s like Ruby. It’s more heavily functional, and it wants you to work with data in an immutable way. If you’re coming from a language that doesn’t force immutability, then you’ll be miserable until you get your head around how to work that way.
I really like it, though. Especially now that it’s getting optional typing.
Crystal lang is also pretty cool looking. It seems to be going for what Nim is doing, making Ruby as fast as C.
Don’t learn Elixir to replace Ruby. Learn it to enjoy OTP and BEAM.
I would love to join a cool company that’s willing to accept a dev that can transition fast. However, most of Elixir job listings I find are gambling or crypto. And I ain’t gonna touch those.
RoR is too much magic for me. Getting started with any new code base is such a pain that I never want to do again. As a manager, I’ll avoid any job post that mentions Ruby. I have maintained projects written in Delphi, Centura, Java, C#, PHP and none of them even come close to the pain of RoR. Java and C# are notorious for ceremonial interfaces but that’s nothing compared to trying to figure out RoR automagics.
There is a lot of magic in Java. Try Spring Boot for example, and things magically connect together with annotations, or somehow methods get injected onto interface on the fly, or an http interface maps onto a function with parameters because the runtime is doing it. This is most evident when you set a break point in some class and there might be 4 or 5 mystery functions it passed through between it and where you thought it was calling from. Sl4j, Lombok, Hibernate are doing the same kind of thing.
Maybe in enterprises settings what you say makes sense, but for the small to medium startups I usually work for, RoR is great. It’s super easy to prototype and switch lanes. If I had to do what I do in Java I’d go insane. As for Delphi…
The RoR “magic” being obtuse is extremely exaggerated most of the time and more meme than reality. If you think PHP is better, by which I guess you mean Laravel, how on earth is that less “magical”? React? Next? I’ll take Ruby any day.
React can go fuck itself with a pineapple, fuck that piece of shit. Every project I’ve had to deal with that used React was an absurdly bloated mess because it imported fuckloads of React plugins and addons.
I had to learn Fortran for my thesis because it’s the industry standard in particle physics
Physics changes with retirements. FORTRAN should received it’s gold watch and shown the door about 20 years ago now.
There’s no distinct generations of either physicists or codes that all retire at the same time
deleted by creator
How long ago? ROOT (and other frameworks like GEANT) using C++ has been the standard for over 15 years, but probably longer. I think my advisor was of the last generation that had to write in Fortran.
Currently lmao. I’m using those tools as well but some specific event generators I’m using are in Fortran still
thank you for your service 🫡
the last generation to write FORTRAN
runs to look out window
My God is the sun turning into a red giant?!
Oh no, whew, that’s a relief! Guess the FORTRAN programmers will be relevant for a little longer too then.
(As a .NET dev, I wish some languages (or versions of languages) would die but i really think once code has been written it never goes away!)
[COBOL has entered the chat.]
Capitalism will never let a programming language die, if it’s still less expensive than an alternative.
A lot of COBOL programs are still running to this day.
I would say wordpress over Facebook for php
Yeah…
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.
Enterprise will keep the withered husk of Java EE crawling for eternity
Medicine too.
An instrument in my lab is running jdk 1_8_131…and this is a recent/newish piece of equipment.
Rails: “No. Don’t worry Ruby.”
Ruby: “Huh?”
Rails: *Hugs Ruby
Rails: “We’re becoming irrelevant.”Together forever!