Re: OT: Rails is shitty [was top down programming in a bottom up language]
- From: "beckfordp@xxxxxxxxxxxxxx" <beckfordp@xxxxxxxxxxxxxx>
- Date: Fri, 8 Feb 2008 00:08:45 -0800 (PST)
Maciej Katafiasz wrote:
Den Mon, 21 Jan 2008 06:08:27 +0000 skrev Sohail Somani:
On Mon, 21 Jan 2008 04:10:19 +0000, Maciej Katafiasz wrote:
Let's not. Rails is a really shitty way of doing things.
I don't really care either way, but Rails has gotten Ruby usage. This
might be because it is quite Mickey Mouse... But why is Rails a really
shitty way of doing things?
First, I completely agree with what Slava said. Now to expand that a bit
with my own thoughts:
Rails is 100% magic with 0% design.
I get your point,but perhaps no design is a good thing?. No one knows
what tomorrow will bring, and chances are that your design today won't
meet your needs of tomorrow (the basic idea behind YAGNI - You Ain't
Going to Need It). The idea of deferring design design to the last
possible moment doesn't only occur in software, but underpins lean
product development, manufacturing etc.
In my epxerience BUF (Big Upfront Design) is almost always wrong for
any given specific instance and often represents waste (time that
could have been better spent doing something else) and restricts
freedom and alternative design choices later on. Perhaps Rails is
successful because it makes very few big design decisions, leaving
those decisions to the application programmer?
I am not a Rails expert, but what I like about it is that it is
basically a bottom up framework, which bubbles up useful DSLs which
address common problems in the web programming domain. It doesn't try
to "solve the big picture". It is a toolbox of bits which are
relatively transparent and simple.
I am not sure about it being 100% magic. To me a Rails application is
very readable. The whole point of a good DSL is that it should be
readable. The fact that Rails DSLs use meta techniques don't make them
magic. The code is there if you need to understand the detail. If the
DSL is designed well though and the code is self documenting then you
shouldn't need to delve under the covers into "meta-land". You may be
right that some of the DSLs in Rails could be improved. But DSLs
evolve over time anyway.
Rails is just one approach. No big picture, just a bunch of neat DSLs.
Alternatively Seaside for example takes the alternative approach -
"Big Picture", which ties you into an overall design. I see value and
beauty in both, I don't believe that either one or the other is
intrinsically "better".
Paul.
.
- Prev by Date: Re: LOOP blows!
- Next by Date: Re: LOOP blows!
- Previous by thread: Time for my foobar mitzvah?
- Next by thread: Arc challenge
- Index(es):