A word of warning from a potential friend.  Please don't take this negatively, 
because I think you have something, and I'd like to help.  If you can read 
through to the end, there's a modest proposal.

It's too late and too early for you to start evangelising Ruby.  That's a 
shame, because right now there's a major opportunity for grabbing hearts and 
minds.  "Too late" because Ruby has grown beyond the early days when a 
product can be forgiven holes, and "too early" because it still has some big 
ones - getting newbies interested will leave a lot of them dismissing Ruby 
unnecessarily.   

I've only been using Ruby a few days, so I'm perfect to point out a few 
things; I've no emotion invested, and am almost (but not quite) totally 
ignorant about Ruby.

The great opportunity is that I and a lot of people just like me have just 
realised (or are about to realise) that they have a serious need, and Ruby 
might be just it.  But I need to be sure.  That means I need to see some 
things about Ruby before I jump.  They may exist, but I can't see them, and 
that itself makes the point.

I'm a Java programmer, and am sitting on a product with world-wide usage and 
over a quarter-million lines of code.  I'm deeply worried, after the Sun/
MediocreSoft rapprochement, about the potential future of Java.  That's a 
shame, because for all its faults, Java is the best production language I've 
come across in over thirty years practical experience in the industry - and 
don't bother trying to engage me in a discussion over that; I know it's a 
personal evaluation.

However I am sufficiently worried about the future of Java to consider 
alternatives, and after looking around, Ruby seems the best bet out of a 
narrow field.  The criteria are:

* Proper OO.
* Write once, deliver once, run anywhere, in any language/locale.
* Open Source with unrestrictive licence.
* Comprehensive functionality, good libraries, easy extensibility.

Now you ruby experts know that ruby is good for all this.  My first point is, 
however, that after looking at ruby in some detail for well over a full day, 
I was reluctantly about to discard it as a possibility because it doesn't 
support Unicode, and that or something like it is necessary for "Write once, 
deliver once, run anywhere, in any language/locale".

Yes, I know.  But it took me two days to find out, and I *still* don't know 
how to write or handle Unicode strings in ruby code.  Or where to go to find 
out.  So, POINT 1.  Needs improved documentation.  As a minimum, a current 
features, capabilities, and extensions document.  A central repository of 
HOWTOs would be nice (how about one on how to write and handle Unicode in 
Ruby?  The world doesn't end in Japan and America.)

Next point.  To handle what I (and probably most Java programmers) want 
requires a good, configurable, GUI.  I'd heard of Tcl/Tk, but most of the 
examples I'd seen were pretty simplistic and, how to say this politely, not 
overdesigned.  Some of what I read mentioned others.  It's nice there's a 
choice, but you can't make a choice without information.  If you make the 
wrong choice because of lack of information, by the time you realise, you may 
have invested so much effort that you're stuck.  I took a look at Fox for my 
eval.  So, POINT 2.  Needs improved documentation.  As a minimum, some good 
examples of how GUI coding can be done with different packages, and 
INFORMATION about the different possible choices.  Oh, and the GUI code comes 
from another website? It's a separate product?  You mean I have to install 
*three* things? Ruby, the GUI toolkit, *then* the Ruby toolkit enabling 
stuff?  Where's the documentation?

Finally (for this posting at least; it's too long already), distribution.  
Windows users seem to have it nice; preconfigured downloadable distros.  I 
use Linux, so of course I'm happy to download fifty-eight different source 
code tarballs from nineteen different websites for all the options I want, 
and configure, make, and install each of them (in the correct order so as not 
to muck up pre-requisites), *then* manually add links to put the libraries in 
the right place for my particular Linux distro, then copy files all over the 
place when it doesn't work.

After all, that's what every Ruby hero has had to do over the years; that's 
how they learnt how Ruby works.

Naah.  If I had any sense I'd have dumped this and gone on to something 
productive days ago.

99% of the people you might want to attract would have; I suspect you've lost 
a few already.  We're not all sysprogs, and you need the ordinary joes as 
well as the early adopters and enthusiasts.

You need to have good packages for all the distros.  Something like the Java 
SDK and Runtime packages.  A single file download and install that contains 
*everything* (yes, Victoria, the GUI as well).  OK, that means big files, but 
disks are big these days, and install procs can have things called options.  
Oh, and if you need to distribute applications to end-users (yes, those 
mythical beasts *do* exist), you need a tool to generate customised runtime 
install packages of Ruby and whatever extensions are needed (oh, and it needs 
to be able to recognise already installed rubies and do deltas). 

Documentation and Distro packages.  It looks to me that Ruby has some serious 
good function and serious good technical people (and maybe a couple good 
designers).  There are a lot of interesting sounding people in the Who's Who.  
Shame a lot of the links are broken.

What Ruby needs is some thought to the process side and the needs of the 
non-techie user. I'm an application programmer, but for my sins I've had to 
do the marketing bit to persuade people to use my products, and that sort of 
thing gives you a perspective; it's dirty work, but someone has to do it.  I 
think Ruby users at the moment are enthusiasts; if it's to grow, it needs a 
bit more ease of use.

I'd say Ruby has reached the position where it needs something like a Red Hat 
(Ruby Turban?) to package it and represent it to the world.  I'd be willing 
to get involved in that.  What do you think?

On Friday 30 April 2004 00:34, Simon Strandgaard wrote:
> Josef 'Jupp' Schugt <jupp / gmx.de> wrote:
> > Simon Strandgaard wrote:
> > > Sascha Ebach <se / hexatex.de> wrote:
>
> [snip]
>
> > >> And if not we could burst into a PHP meeting and try to convert
> > >> some ;)
> > >
> > > A ruby crusade :-)  the history repeats itself.
> >
> > "crusade" is a hard word. I'd prefer calling it evangelization the
> > traditional Societas Jesu way >;-> Actually Sascha's idea reminds me
> > of what Greenpeace did in the past.
> >
> > Anyway: Ruby evangelization is important because many people who
> > don't use Ruby simply do so because the don't know it exists.
>
> Agree, we need to spread the word a bit more.
>
> Yesterday I went to the local library, and asked a guy looking at the
> computer books, what he was searching fore. He wanted to learn perl5!
> I of cause recommended him to learn Ruby (or secondary Python),
> but unfortunatly no books at the library. My local library seems only to
> buy bunches of Visual Basic books at the moment, which is unfortunate. If
> somehow we could infect some libraries with books about Ruby, it would be
> great.  This is frustrating, any suggestions what to do?
>
> Also much more Ruby in the media would be an eye-opener.
>
> --
> Simon Strandgaard

-- 
Clear skies!
Mike Calder.