From: "M. Edward (Ed) Borasky" Date: 2006-10-09T03:54:59+09:00 Subject: Re: Ruby vs. Rails 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!