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.

Reply via email to