[prev in list] [next in list] [prev in thread] [next in thread]
List: ruby-talk
Subject: Re: Some interesting criticisms of rails
From: "Zed A. Shaw" <zedshaw () zedshaw ! com>
Date: 2005-09-17 2:10:58
Message-ID: 20050916220948.337e8f2a.zedshaw () zedshaw ! com
[Download RAW message or body]
I remember reading about the Dining Philosophers problem when I was young and how it \
was solved with this incredibly complex logic proof that laid out most of the rules \
for what we know as "thread locking". For those of you who don't know, the Dining \
Philosophers is where there's four idiots arguing about communism eating a massive \
bowl of pasta and they're too stupid to ask for more than two serving forks. So, \
these "philosophers" spend a lot of time fighting over the forks and there needs to \
be a way to coordinate this fork "sharing". The solution? Ah, we'll add even more \
complexity to the problem and create neat things like semaphors.
Of course another way to solve the Dining Philosophers problem is: USE A FUCKING \
WAITER. You see, if these idiots don't serve themselves--but instead get their pasta \
from a "server"--then you don't have anybody arguing over shared forks. Hmmmm. \
"Server". I wonder why we call systems that act as a single access point to a \
service "servers"? Gee. That just stumps my tired little brain.
What's that got to do with the world of distributed transaction management? Well, \
you only need to have complicated distributed locking primitives when you try to \
distribute your shared resources to the point that people have to fight over them. \
If you just have a "server" that controls access and "share nothing" then the problem \
is solved in a much simpler way.
And BTW, if you've ever seen a gang of philisophical communists duel with forks for \
the last serving of fusili then you'll realize that letting communists share is not \
nearly as fast as having a waiter serve.
Zed A. Shaw
http://www.zedshaw.com/
On Sat, 17 Sep 2005 04:36:35 +0900
David Balick <davidbalick@gtakethisoutmail.com> wrote:
> may be found in the podcast
> http://www.drunkandretired.com/2005/06/drunkandretired-podcast-episode-
> 09.html.
>
> I am considering using rails (as opposed to asp.net) so am wondering what
> y'all think of what these guys say.
>
> In a nutshell, they say that Rails starts to get less appropriate for apps
> with transactions that encompass entities other than just the database. If
> the server side objects also modify the data, and particularly of the
> modified objects then affect other objects, then it can become very non-
> trivial to handle all of that in Rails.
>
> Any feedback on this from experienced Rails folk would be most appreciated.
>
> Cheers,
> David Balick
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic