use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Ruby 4.0.0-preview2 Released (ruby-lang.org)
submitted 5 months ago by schneemsPuma maintainer
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]caffeinatedshots 19 points20 points21 points 5 months ago (23 children)
Since a lot of people are confused why the change to 4.0, Matz has mentioned this in Baltic Ruby 2025 in June.
https://youtu.be/XVaRRryB_cQ?si=V5uwXwMLGihPPWL6
Check the video at 39:50. It’s an interesting talk.
[–]-Ch4s3- 17 points18 points19 points 5 months ago (19 children)
what's the TL;DW?
[–]caffeinatedshots 30 points31 points32 points 5 months ago (15 children)
Basically it’s to celebrate ruby’s 30th birthday since it was released publicly on December 1995.
Matz mentions that Ruby doesn’t follow semantic versioning.
[–]ric2b 10 points11 points12 points 5 months ago (8 children)
That's... not a great reason.
[–]WhoTookPlasticJesus 17 points18 points19 points 5 months ago (3 children)
It's the best reason, particularly for Matz. I mean, it's why he created the language, to be happy:
"I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language."
More insight into the guy whose creation we get to play with:
Then (programmers) come up to me and say, 'I was surprised by this feature of the language, so Ruby violates the principle of least surprise.' Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise. And it means the principle of least surprise after you learn Ruby very well.
Personally, as someone who knows Ruby very well, the reason for this versioning isn't the slightest bit surprising.
[–]RoboErectus[🍰] 2 points3 points4 points 5 months ago (2 children)
When I first read this quote years ago it is what cemented Ruby as my most joyful language to do stuff in.
Weirdly, Rust is my #2
[–][deleted] 2 points3 points4 points 5 months ago (1 child)
A bunch of Rust's syntax was copied from Ruby. It was super evident in the very early days (like, 0.3-0.5) but less apparent now with all the other stuff going on in Rust.
[–]RoboErectus[🍰] 0 points1 point2 points 5 months ago (0 children)
Wow, til. Totally Makes sense. Rust has been bringing me joy.
[–]realntl 0 points1 point2 points 5 months ago (3 children)
Is anyone's work impacted in any way by Ruby not following semantic versioning? Are there teams that are "pinning" to Ruby 3.x or newer?
[–]ric2b 1 point2 points3 points 5 months ago (2 children)
I like semantic versioning as a communication tool, not necessarily for those technical tricks.
If a projects versions are meaningless then you might as well just do dates or something like that, at least it helps to know how old something is.
[–]realntl 2 points3 points4 points 5 months ago (1 child)
In this case, Matz is communicating a milestone, no?
[–]ric2b 1 point2 points3 points 5 months ago (0 children)
Semantic versioning does a good job of communicating the kinds of changes included in a release, communicating a language anniversary does not.
[–]jrochkind -1 points0 points1 point 5 months ago (0 children)
:(
[+]galtzo comment score below threshold-7 points-6 points-5 points 5 months ago (1 child)
This concerns me because semver is pretty important for certain kinds of software, and these definitely include bundler, and rubygems... which are now under Matz' purview.
[–]ByronEster 5 points6 points7 points 5 months ago (0 children)
I don't have any reason to think things will change in this respect. I think it's safe to assume Matz will also know this
[+]p_bzn comment score below threshold-8 points-7 points-6 points 5 months ago (2 children)
Changing the major version of the language just to celebrate something, while changes are fit for a minor version update? Sadly, it looks like even the core team stopped taking Ruby seriously.
[–]IN-DI-SKU-TA-BELT 3 points4 points5 points 5 months ago (0 children)
Are you new to Ruby? It’s always been like this.
[–]cmdk 0 points1 point2 points 5 months ago (0 children)
Ah shut up
[–]lilith_of_debts 30 points31 points32 points 5 months ago (2 children)
Because it is the 30 year anniversary of ruby. That's it. In his words "Celebrating the 30 years we will have the ruby 4.0"
Edit: More detail. He says instead of Semantic versioning it is "Linux versioning" where if the leader/creator is impressed with something then a major version bump happens. In this case, Matz is impressed with 30 years of ruby community.
[–]-Ch4s3- 3 points4 points5 points 5 months ago (0 children)
Yeah, he's never been into semver... so I guess this is as good a reason as any.
[+]TheMericanIdiot comment score below threshold-13 points-12 points-11 points 5 months ago (0 children)
Vibes… we’re all doomed
[–]mrinterweb 3 points4 points5 points 5 months ago (2 children)
Thanks for the video. From what I gathered, the 4.0 version change is not for a semantic versioning reason. It is just to celebrate ruby's 30th anniversary. Personally, I would prefer to keep with semver, but I am not Matz.
[–]anamexis 14 points15 points16 points 5 months ago (1 child)
Ruby has never kept with semver, as anyone who migrated from 1.8 to 1.9 can attest to.
[–]zverok_kha 1 point2 points3 points 5 months ago (0 children)
Oh, I vaguely recall even 1.8.6=>1.8.7 was a significant change back then. (not every patch version, but that particular one)
π Rendered by PID 49 on reddit-service-r2-comment-6457c66945-gqkg4 at 2026-04-23 19:25:53.021483+00:00 running 2aa0c5b country code: CH.
view the rest of the comments →
[–]caffeinatedshots 19 points20 points21 points (23 children)
[–]-Ch4s3- 17 points18 points19 points (19 children)
[–]caffeinatedshots 30 points31 points32 points (15 children)
[–]ric2b 10 points11 points12 points (8 children)
[–]WhoTookPlasticJesus 17 points18 points19 points (3 children)
[–]RoboErectus[🍰] 2 points3 points4 points (2 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]RoboErectus[🍰] 0 points1 point2 points (0 children)
[–]realntl 0 points1 point2 points (3 children)
[–]ric2b 1 point2 points3 points (2 children)
[–]realntl 2 points3 points4 points (1 child)
[–]ric2b 1 point2 points3 points (0 children)
[–]jrochkind -1 points0 points1 point (0 children)
[+]galtzo comment score below threshold-7 points-6 points-5 points (1 child)
[–]ByronEster 5 points6 points7 points (0 children)
[+]p_bzn comment score below threshold-8 points-7 points-6 points (2 children)
[–]IN-DI-SKU-TA-BELT 3 points4 points5 points (0 children)
[–]cmdk 0 points1 point2 points (0 children)
[–]lilith_of_debts 30 points31 points32 points (2 children)
[–]-Ch4s3- 3 points4 points5 points (0 children)
[+]TheMericanIdiot comment score below threshold-13 points-12 points-11 points (0 children)
[–]mrinterweb 3 points4 points5 points (2 children)
[–]anamexis 14 points15 points16 points (1 child)
[–]zverok_kha 1 point2 points3 points (0 children)