Giles Bowkett wrote:
> Weirdly enough the only other place I've heard of R is the same place
> this question comes from. Anyway -- I'm also wondering if this is such
> a great thing, or just a sort of balkanization.

1. R is certainly not a "main stream" language in the sense that Perl or
Python are. In its original form, it was an open source dialect of the S
language. S in turn was a brilliant design by some people at Bell Labs,
and was based on Lisp and APL in semantics. It was dedicated to
scientific and statistical computing.

However, R has evolved to the point where you can do "Perlish" things
like regular expressions, GUIs, web servers and web applications and
other 21st century applications without leaving the language and its
contributed library packages. If I were starting this project over from
scratch, it would probably be all in R rather than mostly Perl with
escapes to R for the statistical computations and graphics.

2. Languages, applications, operating systems and other software
artifacts and their communities are complex adaptive systems. They are
born, grow up, mature, age and die, and sometimes die in their infancy.
JOVIAL, NELIAC and MAD, for example, most likely are not in use any
more, although members of their communities still live. I don't think
Algol 68 went anywhere.

3. Are there too many "new" languages? For the sake of argument, let's
say anything from Perl to the present is a new language. So the major
"new" languages I know about are

Perl, Python, PHP, Ruby, Erlang, Haskell, Java, C#, and OCAML

And I'd add "minor" new languages Lua, Pike, Dylan and Eiffel. That's 13
"new" languages, and I'm sure I've left a few out. Personally, I think
the two "best" of the bunch are Ruby and Erlang, and those are the two I
am learning.

And then when you consider all the well-known "old" languages, the list
gets longer still:

FORTRAN, C, Ada, Lisp, Scheme, Forth, Pascal, Smalltalk and BASIC.

That brings the total to 22! Again, I'm sure I've left a few out -- I
think a dialect of APL is still in use, and probably COBOL, RPG and PL/I
as well.

I think you could write a Rails-like web application framework in *any*
one of these languages! The "metaprogramming" and "Domain Specific
Language" tricks are probably easier to do in Ruby, Lisp, Scheme, Forth
and Smalltalk than they are to do in most of the other languages, but
I'm not convinced that's an advantage to the *user* of the framework.

In point of fact, to use Rails, you have to learn the Rails syntax and
semantics, just as you had to learn the syntax and semantics of dozens
of different config files to administer a Red Hat Linux 6.2 server. So
Rails is yet another language!