Please revisit Ruby's Best and vote for additions

James Britt wrote:

Curt Hibbs wrote:

If you were an early visitor to:

http://whyruby.rubyforge.org/wiki/wiki.pl?Ruby’s_Best

You may want to go back again and look at all of the entries that
other people have made since then and vote for the ones you think
are the best representatives of outstanding Ruby software. The
primary
purpose is to get
a good sense of which Ruby packages are the best candidates to
showcase in
presentations to advocate the use of Ruby.

Advocate the use of Ruby for what?

It isn’t clear to me that what appears to be a popularity contest will

lead to a useful presentation on advocating Ruby. We might do better
to determine why people bother writing software at all, understand
what they look to accomplish, and show how Ruby suits their needs.

I didn’t intend for this to appear to be a popularity contest. I
consider myself to be a Ruby lover, but not really a Ruby expert, so I
wanted to draw on the collective wisdom of the Ruby community. I’m
trying to approach this idea of promoting Ruby from several angles
simultaneously, and this is just one piece.

For example, in my own Ruby presentations, I like to use Webrick both as
a showcase example of what has been done with Ruby, and as a vehicle to
demonstrate how quick and easy it is to do some interesting things that
would be considerable more verbose and difficult using, say, Servlets.

Why Ruby is supposed to be a resource for those who find themselves in
the position needing to sell someone (or group) on Ruby. The target
could be peer developers, a project team lead, or lower or upper
management. This part is mostly applicable when presenting Ruby to
developers.

If we had statistics on the size and cost (in time) to develop one of
these packages and comparable information for a similar Java app, then
that would be useful for presentations to management. Unfortunately, I
haven’t yet found such information, but I’m still looking.

There are many kinds of useful information that I want to collect, but I
can’t do it all at once because I need the help of everyone in the Ruby
community and I don’t want to “wear out my welcome”.

For example, I want to collect success stories on larger Ruby projects.
This will be extremely valuable for presentations to management (even
more so if some productivity measurements are also available). But I
haven’t asked for this yet, because I’ve already been asking for a lot
on ruby-talk (although I have sent some private inquiries to particular
individuals).

When trying to get people to use Ruby, the biggest push back I get is
“Nobody knows it. I can’t get people to support it.”

That’s one of the reasons I started this. I don’t expect spreading Ruby
into the IT marketplace to be fast or easy, but you have to start
somewhere.

Another part of Why Ruby is provide advice to people who are advocating
Ruby in their workplace. So, what I’d like to know is when you get the
pushback “Nobody knows it. I can’t get people to support it.”, what is
your response?

While showcasing WEBrick or Drb might get some nods of admiration, I
don’t see how they demonstrate that Ruby a) is easy to learn, and b)

handles the same business requirements as Java, C#, and other, more
widely deployed, languages.

Maybe I miss the point of trying to pick some showcase Ruby programs,
unless the idea is to walk through the code and explain how
straightforward it is to write something interesting and good.

Or maybe to show off some stunt code in order to simply grab people’s
attention. But “Watch, this is cool” only gets you so far.

Like I said, this is a small part, and really only applicable when the
audience is developers.

The apps on that list are all quite good, but most would have had no
place in the last three Java jobs I had.

Ruby is competing against J2EE/JSP/servlets, and app servers such as
WebLogic, and their .Net counterparts.

We need to demonstrate that Ruby easier to develop, easier to
maintain, and solves the same business needs (including concerns over
speed, security, scalability, and reliability).

Perhaps Ruby needs the equivalent of the “Pet Store” example.

Actually, what we really need is a simple spec. for something like a
“Pet Store” example, and then implement that in (say) Ruby, Java, C#,
and Python, each by someone skilled in that language and its development
environment, and keep track of some basic product metrics in a uniform
way.

This would be persuasive at all levels, from developer to management. I
know that this would require a significant amount of work, but
ultimately we need something like this.

Fortunately, it needn’t be done all at once nor by a single person.
Certainly, we could create a page on the Why Ruby wiki where we could
collectively start working on such a sample application spec. Once we
are satisfied with the spec. and agree on what metrics to track during
development, we could then tackle the job of finding a volunteer to
implement the app in each language.

Comments?

Curt

···

Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.682 / Virus Database: 444 - Release Date: 5/11/2004

Curt Hibbs wrote:

Another part of Why Ruby is provide advice to people who are advocating
Ruby in their workplace. So, what I’d like to know is when you get the
pushback “Nobody knows it. I can’t get people to support it.”, what is
your response?

I don’t have any good answer, because the short answer leads to more
questions, for which I don’t know what to say. If I tell management
that any developer with more than half a brain and some OO experience
can pick up Ruby in a few days (at least learn enough to read code,
debug, maintain, etc.), the question turns to cost. Why spend any money
to retrain people when J2EE/JSP script-monkeys are a dime a dozen? Is
Ruby going to be cheaper in the long run? Will the resulting code be as
or more: stable ,fast, scalable, secure?? Where’s the competitive
advantage? Is it better to hire a local team of fewer-but-smarter
developers rather than outsource to someplace 12 timezones away for half
the cost?

For many IT managers, software and programmers are a commodity.
Management would rather pay a small fortune on licensing fees for
something like WebLogic or iPlanet, and hire off-the-rack Javadroids,
the sort of folks who can code EJB remote interfaces in their sleep, but
can’t tell you how to pick a sort routine or a data structure best
suited for a given task.

The “standardization” on J2EE means that developers don’t have to know
any actual computer science or software engineering, they just have to
know a particular API. It’s like paint-by-numbers, or a filling in a
coloring book; Java has become the Crayola of programming languages.

It’s a tough sell. When I was helping interview developers, myself and
another developer were more interested in how a candidate thought, if
they at least knew about certain things and had an aptitude for
learning. But management was very concerned about actual experience;
they didn’t want anyone to spend time learning Ant or JUnit, they
wanted someone plug-and-play.

We need to demonstrate that Ruby easier to develop, easier to
maintain, and solves the same business needs (including concerns over
speed, security, scalability, and reliability).

Perhaps Ruby needs the equivalent of the “Pet Store” example.

Actually, what we really need is a simple spec. for something like a
“Pet Store” example, and then implement that in (say) Ruby, Java, C#,
and Python, each by someone skilled in that language and its development
environment, and keep track of some basic product metrics in a uniform
way.

Well, there’s the J2EE Pet Store as the canonical example. I believe
Microsoft did a version in C#/.net. So consider that as the baseline;
The implementation is the spec.

It helps if a Ruby version goes toe-to-toe with Java or C# version, but
I think the key is a demonstration that you can build the same sort of
common business apps in Ruby, and show that they’re just as fast and
scalable but easier to develop and maintain.

James

Hi,

Well, there’s the J2EE Pet Store as the canonical example. I believe
Microsoft did a version in C#/.net. So consider that as the baseline;
The implementation is the spec.

It helps if a Ruby version goes toe-to-toe with Java or C# version, but
I think the key is a demonstration that you can build the same sort of
common business apps in Ruby, and show that they’re just as fast and
scalable but easier to develop and maintain.

I concur. That is excactly what you would have to do, amongst other
things of course. But, what is going to happen if everything works well?

Javadroids will become Rubydroids. Using Ruby they will be able to
deliver their software even faster and in turn you will get two dozen
programmers for a dime.

Is that really what we want? What I am saying is let’s just be a little
realistic. Without the enormous financial resources Sun and MS has
nobody is ever going to be able to achieve anything but convert (or
better introduce) a few (of the smarter) people to Ruby. The project
will definately help, and it is very important and worthwhile, but it
will never be a real success. Though I hope I am wrong here.

And maybe that is not even that bad. Just read the thread “What so
special about PostgreSQL and other RDBMS” if you want to get a feel how
the tone of this list will change when all the droids come :wink: I would
rather be amongst the fewer and nicer ppl on this list.

Sascha

amen.

-a

···

On Sat, 15 May 2004, Sascha Ebach wrote:

And maybe that is not even that bad. Just read the thread “What so special
about PostgreSQL and other RDBMS” if you want to get a feel how the tone of
this list will change when all the droids come :wink: I would rather be amongst
the fewer and nicer ppl on this list.

EMAIL :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
PHONE :: 303.497.6469
ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328
URL :: Solar-Terrestrial Physics Data | NCEI
TRY :: for l in ruby perl;do $l -e “print "\x3a\x2d\x29\x0a"”;done
===============================================================================

Do we really want ruby to be used in mainstream industry development? I,
for one, would prefer that javadroids stay javadroids. Reading about Rite
and Ruby 2, it looks like matz is going to be altering the language enough
to make some previous code incompatible. That means that we get the best
syntax imaginable, but industry is more interested in consistency and
backwards compatibility - languages like python and java would NEVER
evolve in a way that would introduce incompatibilities, because business
doesnt want quality, they want banal stagnancy. I watched the python
world adopt the java safety-scissors approach to programming, and it was a
large part of why I chose to switch to ruby. I dont want a big-business
buzzword oriented language, I want something innovative and daring. If it
is the sort of thing that intrigues the kind of people that currently use
java, its probably not what I want. If ruby is adapted to fit the needs of
big business, it will lose it’s flexibility, and it will be much less fun
to use!

–SegPhault

···

On Sat, 15 May 2004 05:58:43 +0900, Sascha Ebach wrote:

Hi,

Well, there’s the J2EE Pet Store as the canonical example. I believe
Microsoft did a version in C#/.net. So consider that as the baseline;
The implementation is the spec.

It helps if a Ruby version goes toe-to-toe with Java or C# version, but
I think the key is a demonstration that you can build the same sort of
common business apps in Ruby, and show that they’re just as fast and
scalable but easier to develop and maintain.

I concur. That is excactly what you would have to do, amongst other
things of course. But, what is going to happen if everything works well?

Javadroids will become Rubydroids. Using Ruby they will be able to
deliver their software even faster and in turn you will get two dozen
programmers for a dime.

Is that really what we want? What I am saying is let’s just be a little
realistic. Without the enormous financial resources Sun and MS has
nobody is ever going to be able to achieve anything but convert (or
better introduce) a few (of the smarter) people to Ruby. The project
will definately help, and it is very important and worthwhile, but it
will never be a real success. Though I hope I am wrong here.

And maybe that is not even that bad. Just read the thread “What so
special about PostgreSQL and other RDBMS” if you want to get a feel how
the tone of this list will change when all the droids come :wink: I would
rather be amongst the fewer and nicer ppl on this list.

Sascha

Ara.T.Howard said:

···

On Sat, 15 May 2004, Sascha Ebach wrote:

And maybe that is not even that bad. Just read the thread “What so
special
about PostgreSQL and other RDBMS” if you want to get a feel how the tone
of
this list will change when all the droids come :wink: I would rather be
amongst
the fewer and nicer ppl on this list.

amen.

Anyone remember Matz’s “Be Minor, Be Cool” talk at the 2002 (?) Ruby Conf?


– Jim Weirich jim@weirichhouse.org http://onestepback.org

“Beware of bugs in the above code; I have only proved it correct,
not tried it.” – Donald Knuth (in a memo to Peter van Emde Boas)

It depends on how you and businesses look at the situation. In my
opinion, Ruby is ideal for business and will give any company
that adopts it a competitive edge. (To be competitive, you need
to use a tool that is better than your competitor’s.)

Matz has said that he is not concerned with the needs of corporations.
If I use your language, I would infer that Matz would say that he will
not adapt ruby to fit the needs of big business. (And I think he would
agree that that is his sentiment.)

What Matz does not understand is that he has already tailored Ruby
to fit perfectly with big business.

Some businesses will understand this. Most won’t. As a general rule,
large businesses don’t know what is best for them.

So, will Matz adapt Ruby to what big business thinks they want? No.
Will he adapt Ruby to what big business needs? He already has. :slight_smile:

···

On Saturday, 15 May 2004 at 10:38:51 +0900, Ryan Paul wrote:

On Sat, 15 May 2004 05:58:43 +0900, Sascha Ebach wrote:

If ruby is adapted to fit the needs of
big business, it will lose it’s flexibility, and it will be much less fun
to use!


Jim Freeze
I used to work in a fire hydrant factory. You couldn’t park anywhere
near the place.
– Steven Wright

Ara.T.Howard wrote:

And maybe that is not even that bad. Just read the thread “What
so special
about PostgreSQL and other RDBMS” if you want to get a feel how
the tone of
this list will change when all the droids come :wink: I would
rather be amongst
the fewer and nicer ppl on this list.

amen.

I understand this sentiment, but I still want to be able to earn a living
programming in Ruby.

Curt

···

On Sat, 15 May 2004, Sascha Ebach wrote:

Ryan Paul wrote:

Do we really want ruby to be used in mainstream industry development? I,
for one, would prefer that javadroids stay javadroids.

You can get hired to program in Perl. You can get hired to program in
Python. I want to be able to get hire to program, in Ruby. I don’t this this
goal requires Ruby to go mainstream, it just requires a little more
awareness with those progressive companies for whom I would prefer to work,
anyway.

Curt

well, I believe they do and already did.
Java uses the same path ruby does, deprecate something and introducing
the new stuff aside.
I’m quite sure the same stays for python. I can’t really think of an
example of this actually :slight_smile:

maybe this: IIRC in newish pythons you can’t use pyqt with MI and new
style classes or it would segfault.

···

il Sat, 15 May 2004 01:33:33 GMT, Ryan Paul segphault@sbcglobal.net ha scritto::

That means that we get the best
syntax imaginable, but industry is more interested in consistency and
backwards compatibility - languages like python and java would NEVER
evolve in a way that would introduce incompatibilities, because business
doesnt want quality, they want banal stagnancy.

Jim Freeze wrote:

···

On Saturday, 15 May 2004 at 10:38:51 +0900, Ryan Paul wrote:

On Sat, 15 May 2004 05:58:43 +0900, Sascha Ebach wrote:

If ruby is adapted to fit the needs of
big business, it will lose it’s flexibility, and it will be much less fun
to use!

It depends on how you and businesses look at the situation. In my
opinion, Ruby is ideal for business and will give any company
that adopts it a competitive edge. (To be competitive, you need
to use a tool that is better than your competitor’s.)

I believe this is the crux of any Ruby advocacy effort. I’m not
interested in specing out corporate needs and then seeing how to change
Ruby. I want to have something other than my own anecdotal experience
and gut feeling to convince others that Ruby, as is, can meet their needs.

James

James, I know you are familar with CTBSW. Write the code. They will
come. All other arguments are either contrived or, as you say,
anectdotal.

···

On Saturday, 15 May 2004 at 19:24:44 +0900, James Britt wrote:

Jim Freeze wrote:

On Saturday, 15 May 2004 at 10:38:51 +0900, Ryan Paul wrote:

On Sat, 15 May 2004 05:58:43 +0900, Sascha Ebach wrote:

If ruby is adapted to fit the needs of
big business, it will lose it’s flexibility, and it will be much less fun
to use!

It depends on how you and businesses look at the situation. In my
opinion, Ruby is ideal for business and will give any company
that adopts it a competitive edge. (To be competitive, you need
to use a tool that is better than your competitor’s.)

I believe this is the crux of any Ruby advocacy effort. I’m not
interested in specing out corporate needs and then seeing how to change
Ruby. I want to have something other than my own anecdotal experience
and gut feeling to convince others that Ruby, as is, can meet their needs.


Jim Freeze
New Year’s Eve is the time of year when a man most feels his age, and
his wife most often reminds him to act it.
– Webster’s Unafraid Dictionary