Ask HN: DHH on Lex, a multi-hour ode to Ruby on Rails, but is it any good?

1 oleksandr_dem 4 7/23/2025, 11:59:34 AM
Over the past few days, I've been listening to Lex interview DHH (just the programming parts, I'm not particularly interested in his views on other topics).

It's not the first time I've heard people praising Ruby on Rails, but every time I look at the documentation, I find myself thinking, "I don’t get why people are into this.".

My main critiques of Ruby are: - The syntax isn't great: it uses a lot of special characters, which makes writing the code slower. - No static types: when I first started programming, dynamic typing (like in JavaScript) seemed cool. But after working on large enterprise projects, there’s no way I’d choose a dynamically typed language again (Based on what DHH says, that probably makes me a "bad developer").

I haven't tried it myself, mainly because using a programming language for a side project versus a professional product is a completely different experience (someone might try JavaScript and argue it’s better than TypeScript, until they have to refactor something).

So I'm wondering, is this one of those cases where a tool is mainly used by a passionate niche, so all the feedback is positive? Or is Rails really as good as DHH says it is once you get into it?

Comments (4)

aeonflux · 6h ago
Types are helpful in large codebases, but in Web Apps they tend to get into the way more than they help. You can still use semi-typed constructs in Ruby, but you have the freedom to choose where you need them.

After moving to writing web in Go (from Ruby) I am still baffled how much more boiler plate there is and how much slower things move because of this. Types are great when you want to refactor some things, but thats just part of the job.

In Ruby I loved how can you just quickly jump into REPL or just do inline breakpoint to inspect state: `scope.map(&:names).last.tally.sort_by(&:last).reverse.first(10)`

Something like this is such a chore in Go that I simply skip it more often than not.

> it uses a lot of special characters, which makes writing the code slower

I don't get this part. What special characters?

oleksandr_dem · 6h ago
Unfortunately I don't have much experience with Go, I did try it for the sake of trying it, and I see your point, it is a bit more complicated to write code compared to JS/TS (two languages I know very well) or even Java (disclaimer: I think Java sucks).

> I don't get this part. What special characters?

For example let's look at this code:

```

class ProductsController < ApplicationController before_action :set_product, only: %i[ show edit update destroy ]

  def index
    @products = Product.all
  end
...

```

You can see a bunch of special characters: < : , % [] @

For example, if I wanted to write the same code in Typescript, based on my setup I might just need do something like this:

```

instance.get("/products", () => ProductsRepository.find());

```

Where instance is my router instance (fastify, express, whatever) and ProductsRepository is a TypeORM repository. My before_action might just be a middleware I pass to the callbacks chain or register as global middleware

codingdave · 7h ago
I can't find it anymore, but I remember way back when Rails first launched, DHH saying something along the lines of: "I don't know databases, so I found one way that worked and ran with it as an ORM." I'm sure the dude has learned more since then, so Rails has improved, but if you are asking if you should listen to DHH, you need to know that he is a pragmatist, not an idealist. That is not a bad thing... but if you are an idealist, it would explain why his work does not appeal to you.
oleksandr_dem · 6h ago
I'm not doubting DHH skills as web developer, actually, the reason I've dedicated my time listening to the podcast and writing this post is because I kind-of see his point. However, during my 10 years career (which is nothing compared to DHH, and I'm not saying that I'm right and he is wrong) I've learned what works and what doesn't (at least for me). And looking at Ruby on Rails my feeling is that it shouldn't work, but as stated in the post description, I've heard different people saying that Ruby is great- And so I'm wondering if they are just a small niche group or if it is as good as people say it is.

> "I don't know databases, so I found one way that worked and ran with it as an ORM"

This doesn't really play in favor of Ruby on Rails, the same applies to Typescript and Java (and I'm quite sure to any language that is popular with web developers).