[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Zed Shaw on Ruby Pros/Cons: You Used Ruby to Write WHAT?

estherschindler

3/4/2008 3:17:00 PM

At CIO.com:

You Used Ruby to Write WHAT?!

Deciding when to use any language -- including Ruby -- depends on the
appropriateness to task and the amount of yak shaving necessary. Zed
Shaw explains when Ruby's MRI or JRuby is the best language for the
job, and when it really isn't.

http://www.cio.com/arti...
7 Answers

Christopher Dicely

3/4/2008 7:12:00 PM

0

On Tue, Mar 4, 2008 at 7:20 AM, estherschindler <esther@bitranch.com> wrote:
> At CIO.com:
>
> You Used Ruby to Write WHAT?!
>
> Deciding when to use any language -- including Ruby -- depends on the
> appropriateness to task and the amount of yak shaving necessary. Zed
> Shaw explains when Ruby's MRI or JRuby is the best language for the
> job, and when it really isn't.
>
> http://www.cio.com/arti...

I'll use language a little less colorful than Zed himself might use in talking
about MRI, Rails, and the Ruby Community outside of the pages of CIO,
and say the article has some problems.

Zed seems to think that Rails is the start and end of Ruby for the
web, which is
odd given his fabulous explosion and his comments about the other Ruby web
frameworks in that explosion and how those other frameworks made the Rails
core team squirm. Its one thing for Zed's corporate, writing-for-pay persona
to differ from his writing-on-my-own-time persona in attitude (it is, I'd say,
pretty essential) but its another thing for his writing-for-pay persona to be
completely ignorant of basic and relevant facts that his other persona is
clearly aware of.

The article is also self-contradictory in several places (this seems to be a
feature of this series of articles in CIO), at one point he mentions, as a
plus,the fact that MRI can easily tie to code in C for portions of an
application that need it, and later he says if your application needs
intensive calculations, you should not use Ruby for the application
but use C, C++, Fortran, or Java. Why he doesn't suggest simply
factoring out the computation-intensive portion to C or Java
(depending on whether the rest of the app is JRuby or MRI) and using
Ruby for the rest, which would be in line with his earlier positive
comments, I don't know. Its almost like each paragraph was
written in isolation by a different person.

Similarly, he talks about people "giving up" on writing servers
in Ruby and resorting to Ruby+C as a weakness, after having
described C interfacing in MRI as a strength -- and he uses this
to argue that Ruby is unsuitable for use in such projects, even
though part of the support for it is people choosing to use Ruby
in exactlythe way he earlier mentions as one of its strengths.

"Ruby's good for DSLs, which are easy to implement!", "Ruby's
bad for DSLs because Ruby DSLs don't have intelligible errors!".

I don't understand what the utility of the article is supposed to
be. If you don't already know anything about Ruby, its not
going to help a lot in making a decision about using it in any
given project, because its too scattershot with its often
contradictory categorical statements about what Ruby
should and should not be used for. And if you know even
a little about Ruby, you'll probably know more than the
article gives you about any of the issues it presents.

About the only thing it seems useful for is as a tool for a
manager that doesn't know much about Ruby looking
to justify making a decision that's really been made for
some other reason. And there, the contradictions are
probably useful, since you can pick the one that goes
with the decision you've already made and ignore
the other.

Joel VanderWerf

3/4/2008 7:47:00 PM

0

Christopher Dicely wrote:
> On Tue, Mar 4, 2008 at 7:20 AM, estherschindler <esther@bitranch.com> wrote:
>> http://www.cio.com/arti...
>
> I'll use language a little less colorful than Zed himself might use in talking
> about MRI, Rails, and the Ruby Community outside of the pages of CIO,
> and say the article has some problems.

I'm a bit surprised he didn't take the easy shots at ruby: not suitable
for hard real time, for device drivers, for SMP, for embedding multiple
interpreters in a process, for very low memory situations. Most IT
managers won't know these things unless you tell them, no matter how
obvious they are to programmers.

Anyway, he seems to know about web and java gui, but not much about some
of the other topics he mentions. "Large data crunching"? What about Ara
Howard's work at NOAA? "Image manipulation"? Ditto. He briefly appears
to discount Event Machine without naming it or giving specifics about
why it's not suitable for "server protocols" (if he has a reason, I'd
like to know it!). I've found ruby extremely useful (with a bit of C
code compiled on the fly) for simulations that involve "heavy math or
computation" and for DSLs to specify and manage those simulations.

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

Todd Benson

3/4/2008 8:01:00 PM

0

On Tue, Mar 4, 2008 at 1:47 PM, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:
> Christopher Dicely wrote:
> > On Tue, Mar 4, 2008 at 7:20 AM, estherschindler <esther@bitranch.com> wrote:
>
> >> http://www.cio.com/arti...
> >
> > I'll use language a little less colorful than Zed himself might use in talking
> > about MRI, Rails, and the Ruby Community outside of the pages of CIO,
> > and say the article has some problems.
>
> I'm a bit surprised he didn't take the easy shots at ruby: not suitable
> for hard real time, for device drivers, for SMP, for embedding multiple
> interpreters in a process, for very low memory situations. Most IT
> managers won't know these things unless you tell them, no matter how
> obvious they are to programmers.
>
> Anyway, he seems to know about web and java gui, but not much about some
> of the other topics he mentions. "Large data crunching"? What about Ara
> Howard's work at NOAA? "Image manipulation"? Ditto. He briefly appears
> to discount Event Machine without naming it or giving specifics about
> why it's not suitable for "server protocols" (if he has a reason, I'd
> like to know it!). I've found ruby extremely useful (with a bit of C
> code compiled on the fly) for simulations that involve "heavy math or
> computation" and for DSLs to specify and manage those simulations.

I agree he skipped over some things (both bad and good), but I think
his general point was that Ruby in a web production environment can be
a feisty animal (he mentioned math, but only briefly, and was clearly
unaware of some number-crunching that people have done). But, just
like with any language, I suppose you need good programmers to have
good programs. The only difference that I personally see is how easy
a particular language can allow someone to write bad code, and I think
that's what he was trying to get at.

Todd

mrt

3/4/2008 8:32:00 PM

0

I was surprised to see his claim that Rails isn't any good for writing
a CMS, yet Django is. Having easily written a few CMS-like apps in
Rails, I have NO idea what his thoughts are there. Is it the blocking
file upload issue?

Greg Donald

3/4/2008 8:49:00 PM

0

On 3/4/08, Mark Thomas <mrt@thomaszone.com> wrote:
> I was surprised to see his claim that Rails isn't any good for writing
> a CMS, yet Django is. Having easily written a few CMS-like apps in
> Rails, I have NO idea what his thoughts are there. Is it the blocking
> file upload issue?

Same here, multiple CMS's under my belt using Rails, no major problems.

My experience with Django, on the other hand, was a complete pain.
Having to place models in "apps" is dumb. An inverted template system
is even dumber.


--
Greg Donald
http://des...

khaines

3/4/2008 10:53:00 PM

0

On Wed, 5 Mar 2008, Mark Thomas wrote:

> I was surprised to see his claim that Rails isn't any good for writing
> a CMS, yet Django is. Having easily written a few CMS-like apps in
> Rails, I have NO idea what his thoughts are there. Is it the blocking
> file upload issue?

The relevant paragraph is:

"The caveat on Ruby for Web programming is that Rails is better suited for
building Web applications. I've seen many projects attempt to create a
WebDAV server or a content management system (CMS) with Rails and fail
miserably. While you can do a CMS in Rails, there are much more efficient
technologies for the task, such as Drupal and Django. (In fact, I'd say if
you're looking at a Java Portal development effort, you should evaluate
Drupal and Django for the task instead.)"

Zed does seem to fall into the common trap here of criticizing Ruby via a
Rails weakness (or perceived Rails weakness). I find Ruby to be a
brilliant language to use for CMS systems, and have been doing CMS work
with Ruby (using IOWA) for many years. The attributes of Rails may or may
not make CMS systems easy to write, but that's hardly a weakness of Ruby.


Kirk Haines

wojtek.mula

4/30/2014 6:37:00 AM

0

On Wednesday, April 30, 2014 12:58:48 AM UTC+2, Borneq wrote:
> Kod Golomba/Rice'a jest ciekawy, tylko trzeba by dobrac odpowiedni rzad.

W formacie FLAC jest dobierany adaptywnie.

w.