M. Edward (Ed) Borasky
11/27/2007 1:35:00 AM
thefed wrote:
> I guess on paper/phosphorous (depending on how old you are), it's not
> that hard. Do what Drupel
> and have a giant meeting or time frame where everyone just works on
> Ruby. Think about it - if
> 200 people from around the world just for one summer worked on making
> something better,
> wouldn't everyone benefit? 10-20 people working on a unifying GUI
> toolkit. Or maybe even
> just a wrapper, so you could specify which toolkit to use! Another
> 10-20 working on making
> DRB examples better (and maybe regularifying the syntax (sorry for the
> verbalization - blame
> Esperanto)), and some other people speeding up some speed deprived
> programs. I guess it
> wouldn't be hard, if for one summer people just focused their energy on
> it. I, being a student,
> would devote a summer to this in a heartbeat.
>
> Does this mean I should? Probably not. I'm new to Ruby - been
> programming it and anything
> for about 9 months now. The gestation period is over, and I'm looking to
> grow to be a better
> Ruby developer. However I'm just not good enough. Good god, I'd love to
> help. I'd love to sit
> down June 16 and look back at the clock to find it's September, with a
> whole bunch of
> enhancements at my fingertips. I could learn so much! A lot of the
> times, I just fail at general
> programming - I don't understand algorithms and can't come up with ways
> to solve things.
> With this conglomerate programmer experience, I would learn a whole
> bunch, and actually
> be a part of something big and meaningful. Given the chance, I would.
> Without hesitation.
>
> So let's start putting some plans together. Get a big group of people
> looking to help out, and then get a list of jobs to do. Meet on IRC or a
> mailing list a couple times a week, put in an hour or three a day (I
> don't know an adult schedule), and then we'd slowly be making progress.
> Give it two months of constant work, and we'll have multiple functioning
> projects, that could soon become standard.
>
> Like I said, I'd do. Would you?
>
> - Ari Brown
We (and lots of other open source projects) do have a smaller-scale
version of this, orchestrated by Ruby Central during the Google Summer
of Code. I don't remember how many years this has been going on, but the
list of projects turned out is fairly impressive.
That said, what *I* think Ruby needs, and is getting, are:
1. A solid definition of the syntax and semantics of the language. Right
now we have the Ruby 1.8.6 C code base, which is commonly referred to as
Matz' Reference Interpreter (or Implementation, or something like that).
In other words, the language is defined by how a specific program
behaves when presented with inputs. There are some alternatives, most
notably jRuby, which implement an extended subset of the MRI definition,
and there is the Ruby 1.9.0 code base (KRI -- Koichi's Reference
Interpreter) but when *most* of us talk about "the Ruby language", what
we mean is defined as what MRI does.
2. Practical use in areas other than Rails. I don't think Rails is "the
gateway drug to Ruby". That's demeaning to both Rails and Ruby, for one
thing. For another thing, I don't believe for a minute that a team of
people as talented as the people who built Rails couldn't duplicate it
and its success or even improve upon it in *any* language. And by *any*
language, I include macro assembler, C++, Forth, Lisp/Scheme, Ada and
Java in addition to the "easy to use languages" -- Perl, Python and PHP.
In other words, "nothing succeeds like success." :)
3. Tools for writing efficient and provably correct concurrent software.
In a lot of cases, that's going to mean that programmers have to *give
up* some of their cherished freedom that makes Ruby attractive to them.
I've been programming long enough that the supposed loss of freedom
doesn't bother me -- it's the process of programming and of seeing
working efficient software being created and real-world problems getting
solved that's the fun part, not necessarily one programming language
over another.