We didn’t have a lot of entertainment back then.
We have easy access to so much amazing technology for free in today's day and age, but we IMHO really lost a lot from the glorious days of "38911 Basic Bytes Free - Ready."
But to me happiness comes from achieving the ends — eg training a model, deploying code that impacts millions of people. I’ve done that with Python and I can honestly say I couldn’t have done the same with Ruby because the Ruby ecosystem and tooling didn’t support such impact size in my (and many similar) domains.
I don’t think it’s wrong to tell younger folks to see th big picture and focus on impact before personal preference. Everyone can choose their own path of course but I’ve generally found that focusing on impact has led me to take on more meaningful projects.
> I can honestly say I couldn’t have done the same with Ruby because the Ruby ecosystem and tooling didn’t support such impact size in my (and many similar) domains.
But did you give it an honest try, or is that an assumption? While no ecosystem I at python's level in the ML space, Ruby's contributions are not necessarily non-existent, and you'll find a few options when you actually look for it (sidenote: the pgvector extension for postgresql has been created by a prominent ruby ML developer)
I did give Ruby an honest shot, the maturity of the ecosystem around numerical computation and machine learning (my field) isn nowhere near Python’s. That is to say, it’s not that Ruby was bad, but that Python was so far ahead of everything else that to deviate from that would mean spending an inordinate amount of time reinventing the wheel. I’ve certain fallen into this trap in the past (which caused to me extend my graduate school a year because I wanted to use niche tech which was cool but ended up having to spend time working around corner cases, which were solved problems) but sometimes going with the mainstream means you get a lot solutions for free and can focus on your problem.
Programming language choice is partly aesthetic —- some languages are more elegant than others —- but if you want to be employed and want to create real impact in the world, it has to be tempered with hard nosed pragmatism as well. You’re paid to deliver solutions to problems, not to optimize your preferences. Sometimes you can do both, but when you can’t, solving the problem must take precedence.
I'd strongly argue that irrespective of your preferred language (ok, almost, before someone brings up Intercal or something) if you in any domain think it doesn't support what you want to do, what it actually means is that you don't understand how to achieve it with that tool. That's fine, and maybe it's not the right tool for you, but it's not the fault of your tools
And if you're not happy with what you're working on, you're unlikely to stick with it long enough to have any impact. And even you do, if the result is being miserable it's not worth it.
For me the compelling reason to choose Ruby is that I could hack those things together quickly on my own in a few thousand lines of code and have an enjoyable experience both writing those tools and using them (I've done all my editing in my own editor for the last 6+ years, including editing the editor itself). The rest is newer.
(The whole "stack" above takes up fewer lines of code than the "st" terminal emulator and less than 10% the size of xterm; the truetype renderer was a 1 day conversion from a small C renderer, and weighs in at about 500 lines of code - that is why I love Ruby)
I'm 48. I've been writing code for 43 of those. I have no intention of spending time on Python more than absolutely necessary, because where Ruby is enjoyable to me, Python is absolutely not. I frankly find the notion of talking about people "growing out of this" quite condescending. There's nothing unreasonable about having preferences and being prepared to prioritise happiness.
For my part I've easily been able to make my living in a mix of (mostly) Ruby and JS for the last 18 years without making any sacrifices for it (I've not avoided looking for jobs that requires other languages, including Python - I have experience with more than a dozen different languages so I'm not afraid of using far worse things than Python when I've had to).
I've been in my field long enough to have seen many languages vax and vane in popularity, and I stopped caring about whether a language was popular 20+ years ago. My happiness is far more important.
I'd say as a young developer being willing to at least pick up the basics may be worth putting aside the distaste. But soon enough you get to a career stage where it doesn't matter and where you have the flexibility to pick jobs where you can pick your tools.