[GLLUG] Best Web/Desktop Programming solution (...)

Jeremy Bowers jerf at jerf.org
Tue Apr 19 16:36:40 EDT 2005


Asenchi wrote:
> On 4/19/05, Jeremy Bowers <jerf at jerf.org> wrote:
> Well for such a new framework to run 'thousands' of users in the
> capacity that Basecamp runs them, I think it is pretty safe to point
> at.  Of course it is new, but for a new frame work to run like this,
> it is pretty spectacular.

You lack the perspective to understand that no, it isn't. It isn't 
spectacular *at all*.

There are bajillions of awesome projects out there. Ruby on Rails got 
lucky to be the one to be hyped.

One can *always* take a framework, and with huge community support and 
the best programmers available make something awesome with it. It takes 
longer to get to the point everybody can do that.

> I encourage you to read this blog and comments:
> http://www.37signals.com/svn/archives/000606.php
> 
> Granted it is from the guy who dev'd Rails, however he is a
> 'experienced programmer'.

See above.

> No, this is not true.  It was very easy to understand.

Have you ever taught programmers?

I find Ruby easy to understand. I also find closures, pointers, OO (in a 
useful way), functional programming, blocks, logical programming, and 
continuations all fairly easy to understand. This is not, however, 
normal, as fifteen minutes with truly novice programmers will show you.

> Which is easier?
> for (hi = 100, lo = 0; hi >= lo; lo++)
> or
> (0..100).each
> 
> Probably really bad examples, but they both begin to do the same thing.

For most people, the former. Most people find the imperative style 
easier to understand than the functional style, **especially** when 
you're nesting two or three layers deep to get something done rather 
than just print 100 numbers or something. Again, if you feel 
differently, it's because you've lost the newbie perspective or have an 
unusually mathematical background.

> Excuse my ignorance, but do you mean form designers as in html forms
> (for example)?
> 
> I still don't think you've really presented what these tradeoffs are. 
> Ruby is 2 years younger than Python, so it can't be age necessarily. 
> Can you elaborate more.

All frameworks have tradeoffs. It's what they are. If you don't 
understand the tradeoffs your framework makes, you ought to be careful 
about suggesting them.

*You* tell *me*... what is Ruby on Rails not so good at? What's a little 
harder to do than it is in other environments? If your answer is 
"nothing", that's a problem, because I *know* there are tradeoffs. One 
I've heard of is that it is a pain to get it going with existing 
databases because Ruby on Rails wants its own database layout, for 
instance. Based on what I've seen, I don't think there is any support 
for using a graphical tool to layout the screens. How easily does it tap 
into the pre-existing Access-based code to make it easy to transition? 
How many programmers can you hire which will understand it?  Can I 
switch to use it with XUL? Does it have good remote graphical debugging 
support? Does it play well with other web frameworks or does it sort of 
demand that it be the entire site? (**Very** common problem with web 
frameworks.) Does it have hooks for some sort of AJAX support? If so, 
how easy is it to modify when it turns out that it isn't quite the right 
paradigm, maybe it works on a push-like model and you need a pull-like 
model? (This is a **huge** one; when you run into an impedence mismatch 
between your problem domain and the framework assumptions, how badly are 
you screwed?)

For each of those, I'm thinking of at least framework where that is a 
strength or weakness. I'm not really interested directly in the answers, 
because my real point is that there are tradeoffs, always, no matter what.

You keep saying you don't understand why businesses go with other 
solutions. I'll give you a hint; it's only *partially* because they are 
often stupid. "There are more things in Heaven and Earth, Horatio, than 
are dreamt of in your philosophy."

Ruby on Rails can be *both* the best thing to happen to web development 
since CGI... and a completely inappropriate choice for the original poster.


More information about the linux-user mailing list