In your opinion

In your opinion(s)....

What is ruby better for and why?
I am talking mainly about is Ruby better for web based development
(i.e. Ruby on Rails)? or other stuff, whether it be scientific,
business or technological?

Thank you all for your answers.

Daniel Lewis.

Daniel Lewis wrote:

In your opinion(s)....

What is ruby better for and why?
I am talking mainly about is Ruby better for web based development
(i.e. Ruby on Rails)? or other stuff, whether it be scientific,
business or technological?

Thank you all for your answers.

Daniel Lewis.

Too lazy to do your own research? It happens ;-). For a starter, check out http://www.rubygarden.org/ruby?RealWorldRuby

Gennady.

Daniel Lewis wrote:

In your opinion(s)....

What is ruby better for and why?
I am talking mainly about is Ruby better for web based development
(i.e. Ruby on Rails)? or other stuff, whether it be scientific,
business or technological?

Do you mean better compared to language X or do you mean what application
area Ruby suits best?

IMHO it's very good for scripting and learning (programming in general and
especially OO).

Kind regards

    robert

What is ruby better for and why?

I think your question is a bit vague. For me, programming Ruby is usually better than falling out of a flying plane without a parachute. On the other hand, I usually prefer having a parachute with me than programming Ruby when I am already in free fall.

···

--
martinus | http://martinus.geekisp.com/

In article <9b84274f05092908104fde640f@mail.gmail.com>,

···

Daniel Lewis <danieljohnlewis@gmail.com> wrote:

In your opinion(s)....

What is ruby better for and why?
I am talking mainly about is Ruby better for web based development
(i.e. Ruby on Rails)? or other stuff, whether it be scientific,
business or technological?

Ruby has already proven quite successful for web development (via Rails). I
use Ruby for various scientific applications and for me it's been quite
successful, YMMV.

Phil

Ruby is NOT good for:

1) Writing Garbage Collectors or other memory allocators.
2) Ram tests.
3) Simulating the weather or designing A-bombs -- most of the stuff they do on a
super-computer.
4) Device Drivers.
5) Code that goes in ROM, or other embedded systems.
6) Winning the Obfuscated C contest.
7) Building SPAM systems to send out zillions of offensive e-mails.
8) Violating the laws of thermodynamics.

Warren Seltzer

The perl folk describe perl as the Swiss Army chain saw.

Meaning it has as many uses as a Swiss Army knife that has many different blades and gadgets and is powerful as a chain saw.

Ruby is like Perl but better.

ie. It is Very Good for Many purposes.

John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand

Carter's Clarification of Murphy's Law.

"Things only ever go right so that they may go more spectacularly wrong later."

From this principle, all of life and physics may be deduced.

···

On Fri, 30 Sep 2005, Daniel Lewis wrote:

What is ruby better for and why?

In your opinion(s)....

What is ruby better for and why?

Ruby is good at attracting bores. Notice how many people have replied to
your message with non-answers, perhaps supposed to be amusing, but really
just irritating and unfunny. Or worse, the presumptuous : "go and do your
homework". Makes me feel an unchristian desire to kill.

Perhaps this is the penalty of a geek language; the signal to bore ratio in
this group is not so good.

Coming back to your question : Ruby is nice, but don't get bamboozled by the
ruby crowd. Someone with a clear head needs to come along and critique the
language more objectively than I have seen so far. hOwever I'm not saying
its a bad langauge; far from it,

For example: although some would push Ruby for big projects there are
reasons to be circumspect about such a decision. Not being a Ruby expert I
cannot elaborate too much, except to say that there are some
industrial-strength-unfriendly-and-too-powerful-perhaps features in the
language, like C++ but much more elegant possibilities for self destruction.
The Rails project also needs proper examination. It seem like the soloution
to all our problems, the way people talk about it. But there are sounds from
the deep (the WWW) to think that it is not the solution to all our
problems. Again I am unable to elaborate, but you can look around.

So be careful of the ruby fanatics; they have funny starring eyes and froth
coming from their mouths, like mad dogs.

Greg

Too lazy to do your own research? It happens ;-). For a starter, check
out http://www.rubygarden.org/ruby?RealWorldRuby

Thats quite a good little page... thanks. However, I am asking you
lot, in your experience what is Ruby good for.

Do you mean better compared to language X or do you mean what application
area Ruby suits best?

What application... but if you have made a tool in ruby and another
language... you could tell us about it.

Daniel.

Warren Seltzer wrote:

Ruby is NOT good for:

1) Writing Garbage Collectors or other memory allocators.
2) Ram tests.
3) Simulating the weather or designing A-bombs -- most of the stuff they do on a
super-computer.
4) Device Drivers.
5) Code that goes in ROM, or other embedded systems.
6) Winning the Obfuscated C contest.
7) Building SPAM systems to send out zillions of offensive e-mails.
8) Violating the laws of thermodynamics.

Warren Seltzer

Actually, I think Ruby would work quite well for #7........

uh, not that I uh would you know.

-Justin

Ruby is good at attracting bores. Notice how many people have replied to your message with non-answers, perhaps supposed to be amusing, but really just irritating and unfunny. Or worse, the presumptuous : "go and do your homework". Makes me feel an unchristian desire to kill.

Perhaps this is the penalty of a geek language; the signal to bore ratio in this group is not so good.

Why would you say that ruby is a geek language? Are not all computer languages at least a little geeky? And to be honest with you I find this to be the opposite, there are far more people on this list who (like myself) seem to have just started with ruby coming from php/perl/$dynamic language than people with the deepest ruby knowledge (although there are a few of those too).

If you want to see real evangilizing, drop in the rails mailing list :slight_smile:

to answer the original question..

for prototyping (rails is a good framework to build a little just to get initial feedback from the customer).

They're the only things I've used ruby for so I'd be lying if I said that you could program satellites/mars rovers/"enterprise thingies" etc.

On a personal note, I like it, I like it more than Java, more than C, much more than VB or C#. It feels productive to me - no more compililations is a good thing when you have to knock up a one-off tool. On the other hand it's currently an interpreted language so for certain classes of problem (HPC/TPC) it's probably not the best choice yet. Still Lisp feels hyper-productive and can be compiled, Haskell also feels good and you can compile that, but neither of them as as easy to pick up as ruby, so it depends a lot on what you want

I'm going to use it to build up a small app that I've got 50% complete in Java to try it in a different problem domain, I'll be initerested to see how much difficulty I have with it there (UI+ natural language data crunching)

Kev

···

From my experience ruby is useful for data munging tasks, it's useful

Greg Loriman wrote:

For example: although some would push Ruby for big projects there are reasons to be circumspect about such a decision. Not being a Ruby expert I cannot elaborate too much, except to say that there are some industrial-strength-unfriendly-and-too-powerful-perhaps features in the language, like C++ but much more elegant possibilities for self destruction.

When I started out with Ruby, I had the same suspicions. Open classes, no type declarations on method headers, require 'filename_instead_of_class_name', among others, scared me about using it as part of a team. I did my best to investigate this to see if it rang true -- my conclusion now is that Ruby is not a good idea if nobody has any control over the team, and it's complete chaos. There are enough harmful things that can be done, but are harder to do in whatever your team already uses (if only because they know the language), that you need a team to actually coordinate, and write unit tests, and rdoc comments, and agree on certain standards, and review each other's code, etc. But if you have that, it seems to me that Ruby would make the team go much faster.

The Rails project also needs proper examination. It seem like the soloution to all our problems, the way people talk about it. But there are sounds from the deep (the WWW) to think that it is not the solution to all our problems. Again I am unable to elaborate, but you can look around.

I can elaborate a little bit. The "sounds from the deep" mostly point to a lack of JMS, JTA, an ESB. Instead, Rails & Ruby have different solutions to asynchronous messaging, transactions, and distributed processing -- and they may not be overly complex enough for your needs. :slight_smile: If you've got requirements for that sort of stuff, then...

So be careful of the ruby fanatics; they have funny starring eyes and froth coming from their mouths, like mad dogs.

Actually, we're pretty reasonable.

And yes, I'll throw in a "Ruby is fantastic for prototyping, and then realizing that your prototype is actually a fully-functional version of the thing you were trying to mock up." But that took me, like, 2 days to discover.

Devin "Mad Dog" Mullins

I actually think that most people have heard this questions -- or at
least variants of it -- for a long time and are, to be honest, tired of
answering it. The RealWorldRuby page is an *excellent* indication of
what Ruby *is* good for.

[... Nonsensical FUD deleted ...]

-austin

···

On 9/30/05, Greg Loriman <do@not.reply> wrote:

In your opinion(s).... What is ruby better for and why?

Ruby is good at attracting bores. Notice how many people have replied
to your message with non-answers, perhaps supposed to be amusing, but
really just irritating and unfunny. Or worse, the presumptuous : "go
and do your homework". Makes me feel an unchristian desire to kill.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

I definately prefer elegant possibilities for self destruction of Ruby to
the inelegant possibilities for self destruction in other languages.

"The way I see it, if you're gonna build a time machine into a car, why not
do it with some style?"

···

On 9/30/05, Greg Loriman <do@not.reply> wrote:

For example: although some would push Ruby for big projects there are
reasons to be circumspect about such a decision. Not being a Ruby expert I
cannot elaborate too much, except to say that there are some
industrial-strength-unfriendly-and-too-powerful-perhaps features in the
language, like C++ but much more elegant possibilities for self
destruction.

--
Rob

I really enjoy programming in Ruby, in fact I would say it was my
favorite language. But it is not perfect, and I'll try to describe
some of the flaws I see in it. To give some background I've been
involved with the Ruby community since 2001, so I think I have a good
perspective:

- It is slow. Or to be more exact, compared to some other languages,
Ruby is slow in certain problem domains. Recursion is quite slow for
example. Part of the problem is the fact that the current Ruby
interpreter works by parsing the code into an abstract syntax tree and
then executing that tree directly. The normal standard for
interpreters these days is to compile the code into an intermediate
byte-code and then executing that, which is usually much faster than
the current Ruby method. Fortunately we have a very smart fellow named
SASADA Koichi working on a Ruby byte-code interpreter called YARV (see
http://www.atdot.net/yarv/\), so this flaw won't be around for much
longer. Of course the reality is that Ruby, by its very nature, can
never be as fast as a static compiled language like C or C++. Plus as
others have said there are certain problem domains where you would
have to use those kind of languages instead of Ruby (operating system
kernels, device drivers, etc.)

- Ruby is almost too flexible. This is subjective, but the powerful
ability to modify base classes of the system brings a certain
responsibility that some people may not consider. This doesn't apply
too much to little throwaway scripts that we all tend to write, but
there are several examples of Ruby libraries doing stuff here that has
bitten people. These are probably some of the hardest bugs to find,
since few people think that the core classes could have been changed
under their noses. Fortunately most Ruby library developers are aware
of this and they follow certain etiquette rules to ensure these kind
of problems don't come up.

- For large projects the flexibility of Ruby source code organization
could cause problems (in that you aren't forced to put one class per
file for example, like Java), but again this isn't that big of a flaw
because it just requires a small amount of discipline in being
organized with your code.

- The state of Ruby libraries still leaves a bit to be desired. This
has been a persistent problem even since I started with Ruby in 2001,
in fact it inspired me to create the original RubyGems prototype which
has since been supplanted by the RubyGems system we have today. While
this has certainly been a big improvement, not everyone makes use of
the gem system, so there is still some fragmentation. Also RubyGems
still has a bit of a "tacked on" feeling, and this won't go away until
its flaws are fixed and it is fully integrated into a Ruby release. In
addition there are tons of "dead libraries" that haven't been touched
for months or years, yet still provide useful functionality. There are
some efforts to dust off these libraries and bring them up-to-date
though, so hopefully we will see some improvement here.

- Ruby documentation also leaves a bit to be desired. Thanks to the
great Pickaxe book and several others, the Ruby core classes are
pretty well documented, but there are still certainly areas for
improvement there. But I find that way too many libraries (especially
many that actually ship with Ruby) have little or no documentation. I
can't tell you how many times I've just decided to read the source
code of some library to figure out how to use it because no decent
documentation was available. Again there are efforts to solve this
problem as well, but I think the solution needs to be more of a change
in Ruby culture to promote documenting libraries one develops, instead
of leaving that job to someone else. A big part of this could be the
language barrier, since many cool Ruby libraries are developed by
people who may not be confident in their English ability. In that case
some good example code would certainly be better than nothing.

- There is no standard Ruby GUI. Maybe this is a moot point with how
things are going with the Web these days (and Ruby has that realm
covered with Nitro, Rails, Wee, etc), but desktop operating systems
and applications aren't going to disappear overnight, so a good and
somewhat standard Ruby GUI would be nice. Right now there are
certainly many options when one has to create a Ruby GUI (too many in
fact), but each has particular flaws or is lacking maturity in
comparison to the same GUI bindings in Python or another language.
This is a very difficult problem though, and even Java has had a lot
of struggles here (despite tons of money and time from Sun and many
other companies.)

This email is already too long, so I'm not going to answer the
original question of this thread, but hopefully the above will be
enlightening.

Ryan

···

On 9/30/05, Greg Loriman <do@not.reply> wrote:

Coming back to your question : Ruby is nice, but don't get bamboozled by the
ruby crowd. Someone with a clear head needs to come along and critique the
language more objectively than I have seen so far. hOwever I'm not saying
its a bad langauge; far from it,

I am new to Ruby, but its expressiveness as a language is profound.
So, I would say that any application where you want to achieve a high
level of functionality with a fraction of the lines of code and
overall effort of other approaches is a great fit for Ruby.

Of course, there are problem domains where Ruby is not a good fit. For
systems-level development, you want to use C or Assembler. For complex
mathematical modelling, there are functional programming languages
that are a better fit. But for most business and internet apps, Ruby
can't be beat.

Mike Pence

If you watch this list for a while, you'll start to recognize some of the
names on that page :-).

Anyways, I've carrying around some loose change, so you can have my $0.02:

I am probably one of the few people on this list who haven't used Rails (I
installed it, and I intend to, but I'm too busy/lazy). I think that Ruby
excels in a number of areas.

The first is as a "glue language," which is something that Perl is generally
attributed to. This usually involves text processing, and between the
Perl-like regular expressions features, OO and Mixins, and iterators/blocks,
this becomes cake.

An example: At work, we used Ruby to convert strace output from a build to a
list of compiler calls, so we could send them to another compiler-like tool.

Ruby also has many good database access interfaces. You can go the more
standard route (DBI), or dig into Og or the Action stuff. My experience here
has been pretty boring, just doing some basic DB queries.

Finally (for this mail - there are many other possibilities), designing an
application is very fluid in Ruby. I have found that I can sit down and
flesh out the design of an application directly in Ruby, so I have a working
version when I'm done. Changes are really quick (you can even change things
around while running the program in irb to see if something else will work).
Even if it's just used for proof-of-concept purposes (you plan to rewrite it
in Ruby or another language), this has been very valuable to me.

···

On 9/29/05, Daniel Lewis <danieljohnlewis@gmail.com> wrote:

> Too lazy to do your own research? It happens ;-). For a starter, check
> out http://www.rubygarden.org/ruby?RealWorldRuby

Thats quite a good little page... thanks. However, I am asking you
lot, in your experience what is Ruby good for.

--
Rob

Relieving depression that not all future OO languages need be
unimaginative iterations of the same C++/Java trainwreck?

Inspiring new, elegant, readable code, without being tied down
by Python's fascist syntax control, or Perl's line noise?

Curing boredom on a lazy weekend?

If you're looking to trap anyone into saying something like
"Ruby is great for RoR stuff, but I don't really use it anywhere
else", you're not going to get it from me. Ruby was a breath of
fresh air from the second I found I could have intuitive,
functional, and readable variable names *AND* intuitive regular
expression syntax at the same time. As I got the hang of
iterators, it just got better.

(I still love Perl, and at the moment, I'm still more fluent in
Perl than in Ruby, but I never stop practising.)

If you're just want us to justify your learning Ruby,
stop stalling already and jump in!

Tim Hammerquist

···

Daniel Lewis <danieljohnlewis@gmail.com> wrote:

> Too lazy to do your own research? It happens ;-). For
> a starter, check out
> http://www.rubygarden.org/ruby?RealWorldRuby

Thats quite a good little page... thanks. However, I am asking
you lot, in your experience what is Ruby good for.

I just about had the same response (I, um, don't know either). Then I
started thinking...

<devil's advocate>
Wouldn't a goal of spam software be to load it onto someone else's machine
so you don't get caught (and for parallelism)? In order to get the maximum
return on this sort of program, you should target Windows boxes of
non-technical/home users - security is looser, and they probably won't
notice until it's too late (ISP b4|\|n4g3!). But, really, how many of these
machines are going to have Ruby installed? You're better off writing these
in some native Windows scripting thing - the code may be uglier, but it
would at least run...

Now, of course, Ruby would be great as a meta-programming language to
generate variations on these scripts!
</devil's advocate>

···

On 9/29/05, Justin Collins <collinsj@seattleu.edu> wrote:

>7) Building SPAM systems to send out zillions of offensive e-mails.

Actually, I think Ruby would work quite well for #7........

uh, not that I uh would you know.

-Justin

--
Rob