Ruby Website Redesigned
Key topics
The Ruby language website's redesign has sparked a lively discussion, with some commenters praising the new design's Japanese-inspired aesthetic, while others criticize its heavy reliance on JavaScript, pointing out that it breaks functionality when disabled. As users weigh in, a tangential debate emerges about Ruby's popularity, with one commenter revealing they've lost interest in the language since 2017, sparking speculation about the reasons behind their shift to Rust and Python. Meanwhile, others bemoan the site's slow loading times and overuse of JavaScript for simple tasks, like navigating to different sections. The thread is relevant now as it highlights the ongoing tension between design and functionality in modern web development.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
1h
Peak period
66
6-12h
Avg / period
16
Based on 160 loaded comments
Key moments
- 01Story posted
Dec 21, 2025 at 2:06 AM EST
17 days ago
Step 01 - 02First comment
Dec 21, 2025 at 3:10 AM EST
1h after posting
Step 02 - 03Peak activity
66 comments in 6-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Dec 23, 2025 at 8:08 AM EST
15 days ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Is the design debate public? I'd imagine it would make great reading.
Same for absolutely static code examples that take a few seconds to load and shift the content away.
Why?
Unfortunately, most people today probably don't care about what you're talking about. (I do, but I've decided not to comment on it anymore, because it would probably drive me crazy :)
The designer fail to target their audience.
It's C/C++ developers that typically prefer a no-fluff approach.
One of the reasons Next.js is attractive to me, is exactly they have rediscovered why so many of us have stayed with SSR.
Hmm. We can agree to disagree on the definition of fluff.
Additionally, Next.js should only be used when SaaS product vendor doesn't allow for any other option, which sadly is the case when making themselves sellable to magpie developers, while riding VC money until the IPO takes off.
I rather deliver, than do yak shaving, but at least can deliver only HTML and CSS if I chose to.
This is bit too much to ask. Just check the source it is swollen with Tailwind.
> flex-shrink-0 transition-transform duration-300 hover:scale-105 w-[160px] h-[144px] 2xl:w-[200px] 2xl:h-[180px]
just to avoid CSS, not sure they would bother with CSS animation.
ruby-lang.com stood out with a text in a big font:
Ruby is...
Followed by a paragraph about what makes Ruby special. I think that was an exceptionally simple and natural way of introducing something as complex as a programming language.
For reference this is the old one, which is much better: https://www.ruby-lang.org/images/about/screenshot-ruby-lang-...
From: https://www.ruby-lang.org/en/about/website/
I like the design and content. Being able to immediately try a language online is huge
But there has to be a way to load that content in a progressive manner. Loading a static version first and then hydrating the content if you need interactive actions
That said, it's cool seeing some of those samples, because they're honestly not really what I expected. For example, I didn't expect the list subtraction to work at a set operation, so seeing that example gives me a feel for what sort of things I can do with Ruby code.
I don't know the exact numbers, but the figures show you lose a high percentage of viewers with each click. So if you have 100 people who view the first page, 10 of them might click the link to the second page, and only 1 of them might click the link to the third page. If having customers view the running code is crucial, you'd want it on the very first page, above the fold.
Low bandwidth, minimal in an artistic way.
I wish less sites would try to make them look like a wordpress from the early twenty aughts.
What if I told you that you don't need javascript?
The UI, the minimal buttons, the tight paddings, the lack of pop-in, the complete lack of animations; these have all been essentially unchanged for the past decade. Even the dark mode colors look exactly as it did the first time I switched it on.
Speaking from experience (recently we rebuilt https://raku.org), I am sure that they will come back and optimize, but tbh this is not the priority with a new site where the hits will top out at ~ 10k / hour.
I am no great fan of animations, simpler is better imho - and I have resisted requests to add a sandbox to the Raku site since https://glot.io/new/raku does such a good job anyway... but I think Ruby is likely to appeal to a wider audience via a cool design vibe, whereas Raku is still in the early adopter / geek phase of adoption.
btw Ruby is a fantastic language!
You don't need to "come back and optimize" if you don't start with needing a progress indicator for a "transform: scale" animation to display a single static download link. The number of hits is not relevant.
The website looks cool to me, makes me want to try Ruby.
So what do you expect? People ignoring the frankly idiotic choices made that you now defend with "they will come back and optimize it"?
> HTPP/2 parallel requests aren't that big a deal, all things considered.
I literally see a progress counter that is for some reason required to display the most trivial animation to show ... a single static link. On a gigabit connection. All that takes up to two seconds.
On that same connection the dame thing happen to three purely three static examples of code that somehow need up to two seconds to appear and to shift the entire content of the page.
Both are especially jarring on mobile.
That said, I've no reason to defend the page. It just didn't strike me as bad, but I can see how others are experiencing a bad page.
The same is on desktop Firefox. For some reason youtube can't process the screencast for that :)
Clicking through the code examples on your new website, I kept being amazed at some of the great things Raku does. It's night and day in understanding the uses and purpose of the language! Thank you.
Unfortunately, as soon as I click into the "introduction" section of the docs I'm abandoned to a wall of links and am once again lost. I'll try persevere this time, but I think you could do adoption of Raku a great favour by working on organising your docs site a bit more clearly. Astro's docs are an amazing case-study on best-in-class docs layout and writing: https://docs.astro.build/en/getting-started/
FYI, front-page has a lot of examples, that I assume change when switching tabs, e.g. "multi-paradigm" "strict-gradual" "interactive-mode", etc.
But nothing happens, neither Safari 18.6, nor Chrome 143.0, on macOS 15.5.
It is part of what distinguishes actually good web devs from move fast and break everything kind of people.
I guess I thought of noscript due to other cases I had recently, where I noscript-ed a whole workflow and displayed elements, that should never appear, when JS is running.
Including a quote from a white supremacy activist on the "pureness" (cosmetically pure, mind you, not "pure" in any mathematic sense) of the language is certainly a choice.
Why would you want someone known for political hijinx and hateful speech as your face? How is that supposed to draw in new people?
In "As I remember London" he also says that crime increases when there are more brown people.
We should be able to criticise migration without everyone saying it’s racism otherwise you loosen the definition of racism so much that everybody becomes a “racist” eventually and it stops having a sting
You're allowed to criticize immigration, but if you only ever cherry-pick anecdotes about immigrants of a certain color and creed, and also refuse to correct your statement after you're made aware of the actual facts, you're most likely a racist.
DHH is also not criticizing immigration per se, because he's including non-white native brits in his category of undesirable Londoners. You can't deny that that's racism. These are people who grew up as part of the British culture, they just don't have the right skin tone.
[1] https://web.archive.org/web/20251003224438/https://assets.pu...
On Cherry-Picking Anecdotes and Corrections: Selective stories can mislead. Yet DHH often cites aggregated data from European reports, such as Denmark’s figures on higher crime rates among certain immigrant groups. He praises selective immigration from compatible cultures and commends Denmark’s integration policies. This points to policy focus, not inherent bias.
If presented with the report’s full nuances and unmoved, that warrants critique. Given its caveats and recent calls for improved data, the debate remains open.
On Non-White Native Brits and Racism; Implying Britishness ties to skin tone is wrong. DHH’s remark about “Brits being a minority in their own capital” refers to the “White British” census category, at 37% in London per the 2021 census. This tracks ethnic shifts officially.
Non-White British citizens, many native-born and fully integrated, are undeniably British. If his phrasing suggests otherwise, it needs clarification. His posts emphasise rapid changes from mass immigration, not rejection of integrated individuals. Many non-White Brits voice similar concerns on resources and cohesion, without racism. Criticising policies can be valid if evidence-based and non-dehumanising. Targeting one group without balance risks bias. DHH’s stance seems data-driven on integration, but scrutiny is fair.
Thanks for the source though.
[0]: https://assets.publishing.service.gov.uk/government/uploads/...
You even mention this, although for some reason do not comment on how it's clearly racist and misleading.
So I have to conclude you're either waffling, or you're pasting ChatGPT output without parsing what it means. Because if you apply your own logic, you would come to the conclusion that he's using far-right talking points to further far-right, racist views.
That’s not really a thing anymore.
Just because you don’t agree with his views doesn’t make it “not a good look”.
In fact, the ability to think outside of his cultural bubble and go against the grain is something that makes him great.
But having DHH as a face of your programming language, a language that's supposed to have a "warm community", doesn't really make any sense, and it will obviously drive people away.
Sometimes it's nice to just let people rest and get on with life.
It does reflect what the language creators pay attention to. Way back when, when I was undecided between learning Python or Ruby, after visiting countless resources I noticed Ruby websites in general looked way nicer and clearer than Python websites, so I picked Ruby. Now, years of experience with both languages later, I have zero doubt that to me that was the right choice at the time. I would’ve been frustrated with Python to no end.
I no longer need either language regularly, but given the choice again I would not hesitate to go for Ruby.
The Ruby (and Python) communities need to be told firmly that a JIT--and not as an experimental or secondary option--is table stakes for a runtime in 2025. Doesn't matter that you have a hip website with cartoons of "furbabies" and diverse, disembodied faces, with the number of white faces kept to a socially-conscious limit of 1 in 10, or how supportive/wholesome/creative the community supposedly is. No JIT = no greenfield projects. Make it clear that you'll use JavaScript (or something that transpiles to it) because of V8, or Go, Rust, Zig or something else.
Ruby have YJIT, which is a production ready JIT compiler that generates native machine code. But it requires enabling via flag "--yjit" rather than running by default.
Why? I think it's primarily to avoid build time dependencies on Rust and prevent unexpected overhead for users. This keeps binary light and avoids forcing Rust installation on users, especially for those who run interpreter only, where YJIT adds no value.
Note that including YJIT also bloat binaries by 5 to 10MB (Rust static lib + code cache structures) for source builds and complicates cross compilation since Rust targets vary by architecture (focus x86-64 and arm64, not all platforms).
Also, Rails 7.1+ enables YJIT by default, so JIT (to native code) in Ruby is being utilized when actually needed.
The current experimental JIT is ZJIT.
Python is pretty well known as a data, analytic and machine learning oriented language, and they lean into a more broad characterization.
Perl might be described as dead/dying, and they characterize its development as ongoing.
PHP might be described as a web scripting language, and they characterize it as general purpose and broad.
Swift might be described as an Apple platform a language, and they really want us to know its multi-platform.
care to elaborate?
The theme toggle has three states. How do you model this with a checkbox?
I agree that using radios would be better. Or just prefers-color-scheme, which sidesteps the FOUT issue that often occurs when storing theme settings in localStorage.
(Also, technically, alternative stylesheets can be defined in HTML, except every browser except Firefox removed it: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...)
Good question, especially since the Ruby site already does this by default. Perhaps the argument is that one of the two color schemes may be designed so poorly that the user may want to manually switch to the other one.
Instead, for a brochure site like this, I'd rather have the links just always visible, because this is the reference site for Ruby and I imagine a lot of people find them by searching "Ruby", coving l clicking the homepage, and scanning for the link to the docs/downloads/etc.
Alternatively, if the show/hide feature is really that important, right now I would (a) explore whether it can be done accessibly using the new invoker API, so you don't need JavaScript at all (with a JS fallback), or (b) just do it in JavaScript directly, but with an accessible default if the JS doesn't get loaded properly.
But yeah, the rest I largely agree with. There's a bunch of stuff here that would have been simpler, and arguably also easier, if they'd taken a slightly different approach.
Amateur hour.
What does it do exactly? It just fetches[1] to another part of site and retrieves static text[2] to be displayed. This part could've been kept as part of the html, no need for this artificial loading. It's not a webapp, it's a website.
1. https://www.ruby-lang.org/javascripts/try-ruby-examples.js
2. https://www.ruby-lang.org/en/examples/i_love_ruby
In this day and age, it is possible to have an appealing, responsive, lightweight website with no JS (maybe except for darkmode toggle).
The homepage loads 9.7kB of JS. Navigating to every single link in the main nav results in no additional JS being loaded.
The site is fine.
Right, but I do not think this is the case here
For instance, here's Python's 144kB JS-powered homepage mid-load: https://imgur.com/a/OvYVAMS
But no, what I meant to get at is that DHH's ego is radioactive. RailsConf tried to open their keynote to having Maybe Perhaps Someone Else Talk Sometime and DHH's response was, as it were, [off the rails](https://world.hey.com/dhh/no-railsconf-faa7935e). RailsWorld started the next year and, happy to have DHH keynote, took off. RailsConf swiftly died.
If you're running an ecosystem with a vocal community, is that a fire you want to play with?
I’m having a hard time seeing the crime against humanity here.
https://news.ycombinator.com/newsguidelines.html
It’s been a real pleasure getting back into Ruby after so many years in typescript, python, and rust.
Happy to see the update. Real shame about the haters here, the Ruby community is a supportive and positive bunch that has shipped real products while others seem to worship at the altar of computer science alone… that’s about as counter snarky as I want to be here
https://news.ycombinator.com/item?id=45349849
jmcgough 88 days ago | parent | context | favorite | on: Shopify, pulling strings at Ruby Central, forces B...
Tom Stuart gave a really good lightning talk about this a decade ago, which is very respectful and has aged well https://tomstu.art/the-dhh-problem
It's not just about his politics. DHH is reactionary, mean, dismissive of others' opinions. He acts more like a high school bully than a leader.
Since then, DHH has gone off the deep end with xenophobic, racist, and transphobic comments. I was drawn to the Ruby community because of its kindness and creativity, with people like why the lucky stiff and Jim Weirich. It is a lot less welcoming when DHH repeatedly uses his platform to say that I shouldn't exist or have equal rights.
an opinionated man for an opinionated language. seems fitting.
He says "In 2000, more than sixty percent of the city were native Brits. By 2024, that had dropped to about a third", and as supporting evidence, he links to https://en.wikipedia.org/wiki/Ethnic_groups_in_London, where we see that 63% of London's population is born in the UK (native), which clearly contradicts his own point. But he's not referring to that, he's referring to the "White British" ethnic category. So he's using a made up, white nationalist definition of "native Brit".
In the same blogpost, he also praised Tommy Robbinson, far-right activist and violent criminal.
He hasn't clarified or apologized for those statements, or the other racist dogwhistles in the blogpost.
If this isn't enough, just consider the fact that many rails contributors have quit because of him. Most famously when he got mad that people at his company complained about a racist list of "funny names" [2], also leading to a third of his employees quitting in protest.
[1] https://world.hey.com/dhh/as-i-remember-london-e7d38e64 [2] https://www.platformer.news/-what-really-happened-at-basecam...
They aren't native american of course. That's a silly dishonest argument based on wordplay.
While american is often used to refer to US citizens, native american onviously refers to the former endonym. You might say "native citizen of the USA" in this case, if you want to refer to someone born in the US.
Native brit is not an ethnonym for anything, and so it only means "a person born in Britain".
A side effect is an increased intolerance to agony, boilerplate verbosity, complexity. I look at the JavaScript world and shudder.
Also, Ruby being as expressive as it is, describing things to an LLM is not really a timesaver over writing the code myself.
https://web.archive.org/web/20251113164224/https://www.ruby-...
It seems this site doesn't work so well without JS.
Why you might ask? - Omakase Stack - high level is good for business processes - modern concepts without JS ecosystem churn - great testing capabilities - great ecosystem - highly effective stack for LLMs (conventions)
Is it fast in Benchmark Games - not by any means. Will you be able to finish projects and make money with it? Absolutely.
This reads to me like a desperate grab for attention. Ruby has not been relevant for years. The ecosystem is much less developed than python; go (or even node or python) is better at simple web servers; python or lua beats it at scripting, and I don't think anyone would build a serious application in ruby.
24 more comments available on Hacker News