Hacker News new | ask | show | jobs
by _d8fd 3129 days ago
Speaking for myself, and I tend to make practical choices for what I understand now. At the moment, I am not using Rails in my day to day work, and this is largely based on my past experiences.

Pros:

- easy enough to find libraries for most things I wanna do

- community likes testing, as do I

- community seems to focus on business & web implementations, so good for those use cases

- lots of questions for which I want answers already answered

- package management

- deployment to PaaS/Herorku-ish platforms pretty easy for smaller teams

- here in San Francisco, there are lots of job opportunities for Rails developers

- I like Ruby, even though I am less excited about OOP these days

Cons:

- Rails is magical & opinionated, and that always annoys me

- Figuring out where some method is coming from in a Rails object is often a pain

- In Elixir I almost never need a debugger, but in Ruby I almost always do

- loading Rails apps can get really slow, and learning to wait for software to boot isn't a skill I like to develop

- I feel more pressure "to do it" right when the time "to do it right" simply doesn't exist for reasons, because trying to come back and refactor gnarly Ruby code is just harder than it is in a compiled language

- Ruby has to be installed on the system to which an app is deployed, and needing to think about how to pre-install Ruby or how long a Ruby install takes is a mild pain (stand alone Go binaries or Elixir releases are pretty sweet)

1 comments

I feel like figuring out where a method is coming from to be a routine source of tedium and a massive gumption trap when working on Ruby projects. This, along with bugs rooted in hidden state mutations, far overshadows the time saving conveniences in Ruby and Rails for me.
When I have creative freedom, I use Rails for routing, serving requests, and talking to the DB. I try to not to lean too heavily on Rails for business logic stuff.