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
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
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 firstname.lastname@example.org wrote:
Simon Strandgaard wrote:
Sascha Ebach email@example.com wrote:
And if not we could burst into a PHP meeting and try to convert
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.