Leaving Ruby, Hello Python

Ruby is the programming language I have worked with the most throughout my life, though it was far from the first language I learned. I picked it up during my first "real" job, in my early 20s. I understand its internals more than most people I interact with, and have been to several conferences over the years. I like the language, and I like Matz (Matz is Nice) but lately I have found that I don't like the overall Ruby community all that much and simultaneously I've found my interests diverging from Ruby's strengths.

Ruby Community Drama

First I want to acknowledge that the Python community has its fair share of controversy. I will not be comparing it in detail to Ruby's, but I am aware of it. In my opinion, it is not as severe as what is driving me away from Ruby. Moving on.

The biggest problem I have is actually one person - DHH. Much has been said elsewhere about him, there are many more prominent rubyists than I who have complained. Suffice to say, I actively think he is a bad person and do not wish to be in any community in which he is tolerated - let alone celebrated and respected. Besides his personality / political issues though, I also think he is usually wrong on technical decisions and hate how Rails has ended up thanks to his leadership. I may write more about the problems with Rails at a later date.

Second problem - the whole Ruby Central/rubygems/bundler/etc fiasco. Again, this has been written about in detail by people who actually know what they are talking about. I've read about it a lot and I see valid points from all sides of the debacle. However, I do not feel like Ruby Central acted transparently nor in the best interests of the community. I do believe the individuals involved were largely trying to do the right thing. In short it is a mess. DHH is even tangentially involved since Mike Perham withdrew funding due to DHH being featured at RailsConf.

The third problem is related to the second. Ruby is becoming monopolized by Shopify, and DHH is a member of their board. This is technically arguable, but having been involved in Ruby for many years it seems correct from my subjective viewpoint. I don't like language communities that are run by companies instead of non-profits, and even less those run by one company. I tolerate Microsoft for certain things but it is just that - toleration. Ruby at this point is more or less controlled by the whims of Shopify and DHH, and DHH has influence on the first. It isn't quite an MDFL (Malevolent Dictator for Life) community, but it is close and that doesn't feel good from where I'm sitting.

Here Come the AI Agents

Even without the community drama, my technical interests have been pulling me toward Python. Python was the first programming language I was actually paid to write, doing a Django site for a small business as the junior programmer of a two person contract programming team. I've never been a huge fan of whitespace based syntax, but besides that I like the language well enough. It isn't Lispy or Smalltalky like Ruby but is overall well put together and practical. However, something changed radically recently: the emergence of LLMs as a serious tool. I don't write individual lines of code a ton any more. I don't "vibe code" either: I always force the agent to write automated tests, test everything myself at every checkpoint, and spend a LOT of my time telling the AI they are being dumb and need to do things differently. This means things like programming language syntax matter a lot less to me than they used to.

Python is also the lingua franca of the modern AI age by far - vastly outpacing Ruby and even javascript/typescript. This is especially true for local LLM work. I find myself working in Python more often simply because one of my primary interests is LLMs. Long before the recent LLM craze I had spent years quietly studying traditional symbolic AI in the Common Lisp / MIT tradition. Paradigms of AI Programming still earns a prominent place on my office bookshelf. The two approaches are very different, but the current wave follows the same thread with new tools.

Conclusion

I still use Ruby at my current job, though next time I'm job-hunting I'll be looking for jobs in other ecosystems. Outside of work, Python is the language I reach for now, though largely as a Claude collaborator rather than something I'm writing deeply myself. I still use C# with Godot for game programming. Common Lisp is still my hands down favorite and that has nothing to do with the community and everything to do with the language itself. The polyglot life continues; the priorities change.