Hacker News new | ask | show | jobs
by mkl95 202 days ago
Ruby is one of the most fun programming languages out of the 6+ languages I've worked with, and I was very productive with it. Unfortunately, due to my experience working at a Ruby shop where Rails misuse and abuse crippled the company, I don't enjoy using Ruby anymore, and will never recommend using Rails for production-grade software. Hopefully you've had a better experience with Ruby and still enjoy writing beautiful software with it - hopefully not with Rails.
2 comments

It's one thing for J.K. Rowling to write Harry Potter outlines on cocktail napkins. A pen and a cocktail napkin can be quite the foundation for expression, indeed. But the same flexibility lets other people doodle, and still others blow their nose.

The capacity to enable greatness is neither the same as the encouragement to enable greatness, nor the guarantee to enable greatness, and there's a lot of survivor's bias at the top of the Ruby and Rails communities.

I had a similar experience.

I love Ruby but too many companies assume I said Rails. I would also never recommend Rails for anything.

Instead I’d use Sinatra and Ruby any day.

This is exactly what I've done. I don't enjoy Rails very much but I love working with Ruby and Sinatra. The community has done a great job to keep Rails separated from Ruby when they release tools, so that they don't depend on or require Rails.

A lot of the aversion towards ruby I've gotten from people that have worked with it before mainly stems from complaints I share with the philosophy of Rails (making big changes to it when needed is like driving a freight ship instead of a small boat) and the complexity that can go with that, or with horror stories around poorly implemented metaprogramming, which are both valid points to me because I honestly share them. But Rails is not Ruby, and the community in general has been a lot more responsible with using metaprogramming carefully than it was in the early days.

Ruby becoming successful through Rails was a boon for it in the short term but I think also detracted from it's future growth at the same time as it became hard to untether developers' bad experiences with huge Rails apps with their experience using Ruby itself.

Personally, I love using Ruby so much for my own needs that if it ever was to fall into obscurity to the point of being unusable for modern tasks, I have decided that will be the point that I probably retire from programming and move on to other things in my life. It's not that I can't learn a new language for my daily driving, it's that I... don't really want to at this point.

If you want to keep the syntax of Ruby but try a new language, then I would suggest having a look at Elixir.

It’s a completely different paradigm having been built on the ideas of Erlang with the syntax of Ruby.

The language I thought was pretty cool and similar was Crystal, but I've never run into the use case to try it, because I've never had something I couldn't handle with Ruby itself. Performance in my world is rarely a bottleneck, and I would not want to build a very large web app with a lot of complex business logic with it.