Why is Ruby a favorite among the Agile set?

E

Ed Howland

Hi,

I've heard/read that Ruby is a favorite language among the
Agile/eXtreme Programming set and I am wondering why. [Disclaimer]
this is for a project I am doing, so thanks in advance for any help.

I do recognize the fact that Ruby lets you write very expressive
programs making the principle of intentional programming easier. Also,
there is not a lot of extraneous fluff to get in your way.

But beyond that, why do XPers love it so much. Is it :

Duck Typing
Meta class programming
Lisp like features (lambda - closures)
Smalltalk like features
Other?

Thanks

Ed

Ed Howland
 
J

Jacob Quinn Shenker

T24gMTAvMjMvMDUsIENocmlzdGlhbiBOZXVraXJjaGVuIDxjaG5ldWtpcmNoZW5AZ21haWwuY29t
PiB3cm90ZToKPiBFZCBIb3dsYW5kIDxlZC5ob3dsYW5kQGdtYWlsLmNvbT4gd3JpdGVzOgo+ID4g
W3NuaXBdCj4KPiBJdCdzIHByb2JhYmx5IHRoYXQgUnVieSBqdXN0IHdvcmtzIGFuZCBpcyBmdW4g
dG8gd29yayB3aXRoLCAqd2hpbGUqCj4gcHJvdmlkaW5nIGFsbCB0aGVzZSB0aGluZ3MuCgpFeGFj
dGx5LiBSdWJ5IGlzIGZ1biB0byB1c2UgYW5kIGl0J3MgYSBwcm9kdWN0aXZlIGxhbmd1YWdlIHRv
IGJvb3QhCldoYXQgY291bGQgYmUgYmV0dGVyPyEKCkphY29iCgo+Cj4gPiBFZCBIb3dsYW5kCj4g
LS0KPiBDaHJpc3RpYW4gTmV1a2lyY2hlbiAgPGNobmV1a2lyY2hlbkBnbWFpbC5jb20+ICBodHRw
Oi8vY2huZXVraXJjaGVuLm9yZwo+Cj4K
 
H

Hal Fulton

Ed said:
Hi,

I've heard/read that Ruby is a favorite language among the
Agile/eXtreme Programming set and I am wondering why. [Disclaimer]
this is for a project I am doing, so thanks in advance for any help.

I do recognize the fact that Ruby lets you write very expressive
programs making the principle of intentional programming easier. Also,
there is not a lot of extraneous fluff to get in your way.

But beyond that, why do XPers love it so much. Is it :

Duck Typing
Meta class programming
Lisp like features (lambda - closures)
Smalltalk like features
Other?

I would say (for one) malleability. It's easy to refactor because
it's so "plastic" (in the dictionary sense).


Hal
 
H

Hal Fulton

Tim said:
I was wondering when "agile" became such a prominent buzzword?
I know it was used in the title of the Rails book, and it's
definition and use was justified in the text. Is "agile"
a larger term applied to more areas? Or did it originate with
a philosophy of Ruby programming and spread from there?

(I'm aware of the Extreme Programming followers, but I honestly
can't remember ever hearing the word "agile" applied to
programming before RoR became popular.)

Any input on this?

Google for "Agile Manifesto" -- that's my earliest knowledge
of the term.


Hal
 
W

why the lucky stiff

Tim said:
Is "agile" a larger term applied to more areas? Or did it originate with
a philosophy of Ruby programming and spread from there?
I first heard it from Brian Ingerson and I think he heard it from Ward
Cunningham. It kinda spread through all the P languages as well. The
basic idea was to get us away from the "scripting" or "little" languages
label. Those words make us sound weak 'n' limited when (it turns out)
we're combustibly fantastic and all-over-the-place.

_why
 
D

Devin Mullins

I think it's because it meshes with agile development in so many ways.
Many aspects of certain mainstream languages whose name may or may not
start with 'J' are about providing 1. protection in a world without unit
tests, 2. a means for BDUF, 3. a means to communicate the contract of a
unit, and other things that are so very anti-agile.

Ruby eschews those things (static typing, interfaces, fine-grained
security) -- not because they wouldn't be useful to some people -- but
because they get in the way of beautiful code. It just so happens that
they're also not useful to people doing XP, so I think that helped.

Ruby also provides other things that support agile. Frequent feedback
and spiking through irb and no compile step. Simplicity through a large
collection of semantics that allow you to choose the simplest tool for
the job (i.e. blocks vs. callback interfaces).

Of course, it doesn't hurt that it's 1. majorly object-oriented, 2. got
Rails, 3. devoid of EJB3.

IMHO,
Devin
*With the exception of really nice refactoring browsers.
 
R

Ryan Leavengood

I never thought the term "scripting" made anything sound weak.
I never thought using flexible, easily extensible tools
a weakness in itself. There was absolutely a stigma, and in
many ways there still is, but thankfully, it's diminishing!

I would prefer that most developers stick with those good old "real"
languages, not "scripting" languages. That way I can trounce them
whenever developing a competing project or trying to win a contract.
In fact, would everyone on this list please go back to Java, etc.? ;)

Ryan
 
B

Bil Kleb

Ed said:
I've heard/read that Ruby is a favorite language among the
Agile/eXtreme Programming set and I am wondering why.

My theory is that many agilists were/are SmallTalkers,
and that Dave and Andy exposed them to this wondrous,
new SmallTalk-like language while they were creating
the Agile Manifesto.

As I said at RubyConf, I found Ruby through the Agile
community. (Actually, at the time, they were calling
themselves "lightweight" to counter what they saw as
CMM's "heavyweight".)

Regards,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top