I can't answer for others, but IMO, Ruby is the most elegant and expressive general purpose programming language that has reached a significant level of maturity and large audience.
If you write Ruby for a few years, and then you "go back" to other languages, you will groan. That's not to say that some other languages do not have things that we wish Ruby had, but often those other things would not really fit well with Ruby.
Nothing is perfect from every angle. But writing Ruby can be a joy for some of us.
I think it's the community. As an outsider watching a friend who is deeply involved with the Ruby ecosystem, I am in awe of the support they get even for small, artisanal-seeming projects from other devs in the community. I've seen them become a better a developer simply by showing up to conferences, talking to other maintainers and participating in the community.
I would not know, but I also do not think that an event xyz in one place at time, reflects all of a community either. So I could not tell you what the people there do; probably they want to socialize. I think creating and maintaining high quality project would be much more important but maybe that's just me. All the main drivers in ruby, have been written ages ago really - rails, _why the lucky stiff, even the old "Learn to program" tutorial from Chris Pine and so forth. That is not to say that no innovation has happened since then, of course, but it seems the peak days are really far, far behind now ...
Ruby is still a great programming language, but it really needs to intensify the effort to get out of the pit-of-decline.
At this point, we should just appreciate Ruby and move on. In the AI age, other languages are better choices. Ruby is my favorite language, but I build with Go now. Or rather, I guide my minions to build with Go. They write Go better than they would write Ruby (or Python... please die, Python).
> an annual event happening this year in the Washington DC area where programmers from all over the globe get together over a long weekend to build and contribute to projects that help our communities
Or, just write code for a project - and add useful documentation to it. This is probably more relevant than overpriced hackathons.
The only programming language I know of that is obsessed with trumpeting its own moral virtue. "Matz is nice so we are nice," "Ruby for good," dragging DHH, etc.
Meanwhile the Ruby Central and whytheluckystiff debacles show it to be anything but.
Dude, what? Is it the MINASWAN acronym that's the problem or? If that's "trumpeting moral virtue", I can think of lots of programming languages that trumpet their moral virtue:
"Please be kind and courteous. There’s no need to be mean or rude."
"We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic."
"As a community, we want to be friendly too. People from around the world, of all backgrounds, genders, and experience levels are welcome and respected equally. See our community code of conduct for more.
Black lives matter. Trans rights are human rights. No nazi bullsh*t."
Seems morally virtuous, too!
Also also: what does the "whytheluckystiff debacle" have to do with any of this?! Also also also: _why was pretty much the first prominent "dragger" of dhh. Man was an innovator.
CoC is blatantly a tool for a certain kind of folx to evict those hostile or indifferent to their ideology from the governance and replace them with more useless eaters. happened time and time again, always with vague hand-wringly accusations of CoC violation.
and in the end, the funding those projects receive are no longer being used for development but for pet causes of the now ruling folx, and we all lose.
You can cheaply and readably give a lot of clues to both agents and humans with some assertions at the start of a method:
raise ArgumentError.new("...") unless ...
which can include type assertions but also a lot more. The agents seem to do well with this.
I've also had good results using agents to write Crystal https://crystal-lang.org/ which is Ruby-like but does have the static types and produces blazing fast static binaries. Might be a sweet spot for coding agents if you're building some backend services. But I'd still pick Ruby on Rails for a new full stack project.
I feel like your comment is a bit tongue in cheek and i am going to take it at face value, but I honestly been feeling increasingly more like doing verbatim what you're suggesting and i dont have a very solid justification for it.
I meant it honestly. What excuse do people have to choose anything other than mission critical technologies if the AI system can do most of the heavy lifting? Why should we settle for anything less than five 9s of uptime?
That seems like it would depend quite a bit on the project? I would think many nonprofits would want a webapp of some flavor, and Ruby (or Python) are still not bad choices there - my experience with Claude is that it handles Ruby well.
Agents handle Ruby just fine. I used to have to give them some stern rules about avoiding instance_variable_get etc. instead of adding accessors, but those problems have pretty much vanished in the last 6 months.
I like using Ruby with agents because the code remains short and readable.
I’m downvoting because this is basically bait without any contribution as to why you feel that way, but personally I vibe coded a very successful result by iterating a rails app and then crawling the entire site into static files (~144,000 product pages and category pages) and then stashing them all in a bucket on cloudflare free tier.
I never wrote ruby before so I could only sanity check the results and approach of what it was doing, but thanks to the automated data migrations it was very easy for me to change my mind about how I wanted data to be structured, rollback if it didn’t work etc. it is a language designed for rapid iteration.
Not sure about the compiler but prominent users of llm agents (Mitchel Hashimoto, Armin Ronacher etc) has mentioned that Go gives better results for agentic coding.
Compiler errors help the chatbot find and fix problems. The equivalent in Ruby, RBS, isn't as widely adopted. Type annotations being in separate files is also inconvenient.
I’m glad to see conferences like this exist. It creates dedicated space for these focuses and the people who care passionately about them.
The actual Ruby for Good website has more information: https://rubyforgood.org/
Hackathons can be a blast. That said, it usually takes extra effort to productionize-a-thing after the initial hackathon effort.
Hope to see a follow-up post on what was built!
Why does Ruby still have this artisinal aura to it, never seen C/C++ For Good gathering.
I can't answer for others, but IMO, Ruby is the most elegant and expressive general purpose programming language that has reached a significant level of maturity and large audience.
If you write Ruby for a few years, and then you "go back" to other languages, you will groan. That's not to say that some other languages do not have things that we wish Ruby had, but often those other things would not really fit well with Ruby.
Nothing is perfect from every angle. But writing Ruby can be a joy for some of us.
I think it's the community. As an outsider watching a friend who is deeply involved with the Ruby ecosystem, I am in awe of the support they get even for small, artisanal-seeming projects from other devs in the community. I've seen them become a better a developer simply by showing up to conferences, talking to other maintainers and participating in the community.
I would not know, but I also do not think that an event xyz in one place at time, reflects all of a community either. So I could not tell you what the people there do; probably they want to socialize. I think creating and maintaining high quality project would be much more important but maybe that's just me. All the main drivers in ruby, have been written ages ago really - rails, _why the lucky stiff, even the old "Learn to program" tutorial from Chris Pine and so forth. That is not to say that no innovation has happened since then, of course, but it seems the peak days are really far, far behind now ...
Ruby is still a great programming language, but it really needs to intensify the effort to get out of the pit-of-decline.
> Ruby is still a great programming language, but it really needs to intensify the effort to get out of the pit-of-decline.
The languages that have supplanted it haven't succeeded by being excellent. If excellence won't do it, what should "Ruby" do?
At this point, we should just appreciate Ruby and move on. In the AI age, other languages are better choices. Ruby is my favorite language, but I build with Go now. Or rather, I guide my minions to build with Go. They write Go better than they would write Ruby (or Python... please die, Python).
I volunteered a few years ago and had a great experience.
> an annual event happening this year in the Washington DC area where programmers from all over the globe get together over a long weekend to build and contribute to projects that help our communities
Or, just write code for a project - and add useful documentation to it. This is probably more relevant than overpriced hackathons.
The only programming language I know of that is obsessed with trumpeting its own moral virtue. "Matz is nice so we are nice," "Ruby for good," dragging DHH, etc.
Meanwhile the Ruby Central and whytheluckystiff debacles show it to be anything but.
_why’s disappearance from the scene was 17 years ago at this point. I don’t think the Ruby community you’re talking about exists anymore.
Dude, what? Is it the MINASWAN acronym that's the problem or? If that's "trumpeting moral virtue", I can think of lots of programming languages that trumpet their moral virtue:
Let's check out the Rust Code of Conduct (https://rust-lang.org/policies/code-of-conduct/):
"Please be kind and courteous. There’s no need to be mean or rude."
"We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic."
Seems pretty morally virtuous, no?
How 'bout Gleam... Right on their home page (https://gleam.run):
"As a community, we want to be friendly too. People from around the world, of all backgrounds, genders, and experience levels are welcome and respected equally. See our community code of conduct for more.
Black lives matter. Trans rights are human rights. No nazi bullsh*t."
Seems morally virtuous, too!
Also also: what does the "whytheluckystiff debacle" have to do with any of this?! Also also also: _why was pretty much the first prominent "dragger" of dhh. Man was an innovator.
The CoC reminds me a lot of this quote by Sowell:
"...if the answer to the problem is that people should just be virtuous, then there is no problem, because we have known that for thousands of years."
>Seems pretty morally virtuous, no?
CoC is blatantly a tool for a certain kind of folx to evict those hostile or indifferent to their ideology from the governance and replace them with more useless eaters. happened time and time again, always with vague hand-wringly accusations of CoC violation.
and in the end, the funding those projects receive are no longer being used for development but for pet causes of the now ruling folx, and we all lose.
[flagged]
You can cheaply and readably give a lot of clues to both agents and humans with some assertions at the start of a method:
which can include type assertions but also a lot more. The agents seem to do well with this.I've also had good results using agents to write Crystal https://crystal-lang.org/ which is Ruby-like but does have the static types and produces blazing fast static binaries. Might be a sweet spot for coding agents if you're building some backend services. But I'd still pick Ruby on Rails for a new full stack project.
Why go halfway with Rust when you could just pick Ada SPARK? Seems like an arbitrary choice based off of rationalizing a trend.
I feel like your comment is a bit tongue in cheek and i am going to take it at face value, but I honestly been feeling increasingly more like doing verbatim what you're suggesting and i dont have a very solid justification for it.
I meant it honestly. What excuse do people have to choose anything other than mission critical technologies if the AI system can do most of the heavy lifting? Why should we settle for anything less than five 9s of uptime?
Because you pick Ada Spark if are in a certification heavy environment like Aerospace.
That seems like it would depend quite a bit on the project? I would think many nonprofits would want a webapp of some flavor, and Ruby (or Python) are still not bad choices there - my experience with Claude is that it handles Ruby well.
Agents handle Ruby just fine. I used to have to give them some stern rules about avoiding instance_variable_get etc. instead of adding accessors, but those problems have pretty much vanished in the last 6 months.
I like using Ruby with agents because the code remains short and readable.
I’m downvoting because this is basically bait without any contribution as to why you feel that way, but personally I vibe coded a very successful result by iterating a rails app and then crawling the entire site into static files (~144,000 product pages and category pages) and then stashing them all in a bucket on cloudflare free tier.
I never wrote ruby before so I could only sanity check the results and approach of what it was doing, but thanks to the automated data migrations it was very easy for me to change my mind about how I wanted data to be structured, rollback if it didn’t work etc. it is a language designed for rapid iteration.
The typescript team themselves rewrote the compiler in Go to get better use of coding agents.
They started that migration years ago. I don't remember them citing agentic coding as a reason. Do you have a source?
Not sure about the compiler but prominent users of llm agents (Mitchel Hashimoto, Armin Ronacher etc) has mentioned that Go gives better results for agentic coding.
They did it for speed, and Go was the language with the closest syntax to migrate to.
I understand why rust, but why TS? just for a front end?
Compiler errors help the chatbot find and fix problems. The equivalent in Ruby, RBS, isn't as widely adopted. Type annotations being in separate files is also inconvenient.
https://github.com/ruby/rbs
I feel for a smallish project I'd rather prefer to have more readable, dense code like Ruby's over the ceremony of static types.
There is almost no ceremony involved in dealing with types in Rust.
And what little there is, is worth it ten-fold for all of the runtime bug headaches that you avoid compared to dynamically typed languages.
[dead]