"s.ross" <cwdinfo / gmail.com> wrote in message 
news:09981649-FB48-47D5-95FB-8D108FC8EF83 / gmail.com...
>
> The corollary implication, intended or not, is that none of these
> sites could benefit from Ruby or from Rails. The answer to that is not
> clear. Much of the code on larger scale sites has been C/C++ or Perl
> up to this point. Taking Moore's Law into account, it seems feasible
> that at some point, improvement in Ruby's performance characteristics,
> along with increase in affordable hardware capability would make Ruby
> just as obvious a choice as C/C++
>
It might become the case that Ruby will continue to evolve so it will be
more appropriate for large-scale software development involving many
programmers focused on safety-critical software.     The key to this is
"evolution."

Early programming languages such as COBOL and Fortran have continued
to evolve, and their current standards are impressive.   Most people are
unaware of the large improvements in those languages.    Some, such as PL/I,
have not evolved very well, largely remaining true to the imperfect design of
that language in its earliest incarnations.   For a language to retain a 
following,
it must evolve to accommodate the approaches to software practice.  This means
the original designers (or stewards) of the language must be willing to abandon
or improve some features to keep the language design up-to-date.

Evolution has been an important part of the C++ standard, the Ada standard,
and the Java [non-] standard.   In fact, instead of abandoning a legacy language
(e.g., COBOL) in favor of an entirely new language, it is often better to simply
upgrade to the new compiler for the language already in-use.    Just as Fortran
is no longer the FORTRAN of old, so too are C++ and Ada improved from
their earlier versions.   Those who remember the first Ada compilers and 
criticize
Ada based on that experience would benefit from learning how it has improved
in recent years.    Those who remember COBOL-74 and learned to detest it,
would be amazed to see how the language has opened to more options for
practical programming.   In the case of COBOL, many of the earlier, terribly
messy, features are still in place for the purpose of upward compatibility, but
those features can be ignored using newer features without sacrificing one's
knowledge of the fundamental language design.

Ruby will most certainly evolve.   The language seems to be designed so it
can evolve.   What will be necessary, to ensure that the evolution of Ruby
is not haphazard and self-limiting, is careful analysis of each new change.
One of the more important changes that Ruby needs is a better model of
"design-by-contract."     I am not a Ruby expert, so I do not presume to
know what changes are most appropriate, but for design of large-scale
software such as that targeted by Ada, I think there could be some structural
and architectural improvements in Ruby.

Also, a newer language, named SCALA, has some design features that make
it very interesting.  Other language designs, during future evolutionary steps,
could learn from the design of SCALA.   As I look at SCALA and Ruby,
I see the potential for Ruby learning from SCALA.

Most important, when a language is not designed to evolve, or is designed so
it cannot evolve, that language is guaranteed to fall into disuse over time and
even become inappropriate for its intended niche.

Richard Riehle