This is one of the big ticket items that drew me to Ruby (and to rails) in the first place. The expressive capabilities within your code using pre-established English-like DSLs. The loss of this aspect over time leaves me feeling rather sad. It feels as if Rails (and to some degree, Ruby itself) is moving towards a mind frame of terseness over expression. The ability to almost *talk* out the flow and type the exact things you just said and have it as workable code.. mmmmm. Delicious.
I really hope that Rails does not move towards the idea that terseness is somehow better, that natural speech should not equal workable code, or drops the expressiveness currently inherent in the DSL. I'm becoming concerned with the apparent loss of English-like DSL in Rails. > When I first came to Rails as an experienced C++/C#/.NET engineer, I was > thrilled to write code that felt more like English. > > Specifically, the belongs_to and has_many methods introduced me to a > mental model of coding that expanded my mind, and wielded the power of the > Ruby language in a way that no other framework that I had ever seen. > > Rails 3 brought a slow death to another area of wonderful DSL-ness: > validations. Instead of this: > > validates_presence_of :title > > we're now supposed to use the generic form: > > validates :title, :presence => true > > which to me is uglier and doesn't read nearly as well. I understand the > other argument: By using a generic #validates method, it brings apparent > consistency to all of the other validation lines, and lets you combine > options, etc. But I don't like it because it sacrifices a higher cause, > which is code intention and readability. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/VvpzVCcm2Z4J. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
