[#3986] Re: Principle of least effort -- another Ruby virtue. — Andrew Hunt <andy@...>

> Principle of Least Effort.

14 messages 2000/07/14

[#4043] What are you using Ruby for? — Dave Thomas <Dave@...>

16 messages 2000/07/16

[#4139] Facilitating Ruby self-propagation with the rig-it autopolymorph application. — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/07/20

[ruby-talk:03750] Re: Ubiquitous Ruby

From: "Conrad Schneiker" <schneiker@...>
Date: 2000-07-02 22:27:57 UTC
List: ruby-talk #3750
Hi,

"Dave Thomas" wrote:

> In terms of security, I agree there are issues here, but not
> insurmountable ones.

Famous last words. :-)

> Part of my interest in this is a longer-term idea. I'd like to see Ruby
> as a dynamic, distributed programming language, running in net
> appliances as well as desktop machines. I'd like to see Ruby
> applications negotiate and broker services among themselves, providing
> the first real implementation of the roaming agent technologies that
> have been hyped over the last few years. I honestly think the
> potential is there, but to realize it we need to keep the core of
> Ruby small and flexible (hence my 'do it in a library' posts).

I think these are all of course very cool prospects, but I don't that
hypothetical possibilities (i.e. what we would call "vaporware" if this were
being said by corporations :-) should be the basis of determining what the
size of Ruby's core should be. And how small is small? Maybe the core is
already too big.

Now that we are in the biotechnology century (modulo the 6 months disputed
by purists versus conventionalists), the utility of Ruby's dynamic OO
capabilities for a huge range of _existing_ bioinformatics tasks (where Perl
and Python have made substantial inroads) may be much more important to the
human species than for extremely _hypothetical_ widespread use in net
appliances (that may have 10X or 50X more memory by the time Ruby could
become a genuinely serious contender anyway--even if it didn't suffer Jini's
fate :-). More generally, for most business, engineering, and scientific
applications (of the sort that C++ and Java and Perl and Python are
presently used for), getting a factor of 2X or 5X or more performance
increase by moderate increases in the core Ruby size would be much more
beneficial for the world-wide Ruby community and would do much more to
increase the size of that community. I think our primary focus should be in
providing very competitive (i.e. reasonably high-performance) dynamic OO for
these fields and for the great programming masses that toil therein.

Ruby is still a very young language, and partly for that reason has a small
core. Since Ruby is still a developing language, it is unreasonable not to
expect that its core will tend to grow over time as has happened with most
other successful languages. While obviously no one wants a wildly bloated
core, there is also no good reason to impose arbitrary constraints on the
continuing moderate growth of Ruby's core solely on the basis of one
potential class of applications that are subject to constraints that are
very untypical of those faced by the overwhelming majority of existing and
prospective Ruby users.

There is no reason why roaming agent technology cannot be implemented in
more conventional sorts of environments that are not memory-poor. If Ruby
becomes widely accepted, it can still move into 2nd or 3rd generation net
devices that are not memory-poor, with the advantage of having an
established support infrastructure (large cadre of experts, many
field-proven modules) and without the huge risks entailed by doing
exploratory development on the bleeding-edge. We should also keep in mind
that this is only one application of dynamic OO out of many, and one that
might well turn out to be a dud or a relatively small niche in the greater
scheme of things.

I am all for trying to do all sorts of neat new things in Ruby. But I think
we should be very wary of letting highly hypothetical tail wag a very real
dog.

Conrad




In This Thread