Ruby vs. Rails

OK, this question came up on a local list, and I don't have the answer.

Does Rails require Ruby?

Before I go any further I should point out that I have in fact been
banned from the Rails list, probably for loud and vituperative
criticism of the list itself, but possibly also for advocating sex
with goats. (I have since made an effort at apology, although it seems
to have been unsuccessful.) At any rate, that's one reason why I'm
posting this question here, rather than on the Rails list.

The other reason I bring this up here, rather than on the Rails list,
is that up until the day when I was banned from that list, I had in
fact been filtering it to the trash. I generally find this to be more
a programmer's list, with a higher average age and experience level. I
think this question, asked on that list, would yield more opinions,
but less useful answers.

Rails the software, as opposed to the list, is of course brilliant,
and it's inspired a large number of copycat frameworks in other
languages. I used one of these copycat frameworks, Catalyst in Perl,
and found it totally unwieldy and counterintuitive. I had assumed that
tons of experience with Perl and a pretty strong understanding of
Rails would be enough to make Catalyst easy, but it wasn't.

A friend of mine did an experimental web app in Turbogears, one of the
Python frameworks, and he said it was great. However, he's a Python
partisan, so much so that I don't think he's ever even given Rails a
trial run. (Also, I'm not sure Turbogears qualifies as a copycat
framework, because it may in fact predate Rails. I'm pretty sure
Django does.)

Does anybody on this list have experience with any of the copycat
frameworks? Has your experience been detailed enough to include an
examination of the source code? If so, is it your opinion that Ruby is
a necessary component of Rails' success? Can you point to evidence in
the form of specific design decisions in competing frameworks?

I know Rails makes use of Ruby's flexibility in its object system, as
well as its reflection features, but how much of that is key, and how
much of that just happens to be the case? Do any of the copycat
frameworks enjoy similar productivity? If so, do the languages of
successful copycat frameworks share features with Ruby that the
languages of unsuccessful copycat frameworks lack?

Obviously, as somebody banned from one of the relevant lists to this
question, I am aware that controversy can be a bad thing, and would
like to minimize it. In particular, I know that in any programming
language community, there are going to be people who are adamant in
their preference for particular languages and/or their dislike for
other languages. Please keep in mind that the only way to hold a
reasonable conversation about this kind of question is to avoid
language wars.

Between "The Pragmatic Programmer," which advocates frequently
learning new languages, and Bruce Tate's "Beyond Java", which spread
the idea that Java's day is probably over, there's been a lot of
interest in linguistic diversity recently in the general programming
community. A conclusive answer to the question of whether or not Rails
actually requires Ruby would go a long way to determining whether this
interest in linguistic diversity is justified, or just a fad.

(Seaside, as a Smalltalk continuation server, seems like a strong
argument in favor of the idea that languages play a powerful role in
framework design, but there are in fact continuation servers in Perl,
Ruby, and even Java as well.)

···

--
Giles Bowkett
http://www.gilesgoatboy.org

OK, this question came up on a local list, and I don't have the
answer.

Does Rails require Ruby?

Yes.

Before I go any further I should point out that I have in fact been
banned from the Rails list, probably for loud and vituperative
criticism of the list itself, but possibly also for advocating sex
with goats. (I have since made an effort at apology, although it seems
to have been unsuccessful.) At any rate, that's one reason why I'm
posting this question here, rather than on the Rails list.

Are you trying to apologise for that by proxy? I fail to see what
difference it makes mentioning it here, other than to attract sympathy
from people who potenitally have no idea what the situation is about.
But consider yourself absolved all the same if it helps appease your
conscience.

Does anybody on this list have experience with any of the copycat
frameworks? Has your experience been detailed enough to include an
examination of the source code? If so, is it your opinion that Ruby is
a necessary component of Rails' success? Can you point to evidence in
the form of specific design decisions in competing frameworks?

That's the wrong way around to ask the question isn't it? Something
like Rails could easily be implemented in other languages; the author
of it chose Ruby for his own reasons, no doubt.

-- Thomas Adam

···

On Sun, 8 Oct 2006 04:10:50 +0900 "Giles Bowkett" <gilesb@gmail.com> wrote:

--
"If I were a witch's hat, sitting on her head like a paraffin stove, I'd
fly away and be a bat." -- Incredible String Band.

Giles Bowkett wrote:

Does anybody on this list have experience with any of the copycat
frameworks?

Starting a thread with a pejorative assertion is going to seriously distort the responses.

Yes, Rails has motivated some to go create (for better or worse) similar tools. But others were already in the works and evolved in parallel with Rails. And *all* of them have copped ideas and techniques from prior work.

···

--
James Britt

"Discover the recipes you are using and abandon them."
  - Brian Eno and Peter Schmidt, Oblique Strategies

Giles Bowkett wrote:

Before I go any further I should point out that I have in fact been
banned from the Rails list, probably for loud and vituperative
criticism of the list itself, but possibly also for advocating sex
with goats. (I have since made an effort at apology, although it seems
to have been unsuccessful.) At any rate, that's one reason why I'm
posting this question here, rather than on the Rails list.

I'm not in the general habit of feeding trolls, but in this case I think
I'll make an exception. If you want to be treated with respect, please
refrain from discussions of bestiality on a programming language forum.
It's inappropriate, illegal in most places, and just in general not
funny, if indeed that was your intent in claiming that you have
advocated it.

Between "The Pragmatic Programmer," which advocates frequently
learning new languages, and Bruce Tate's "Beyond Java", which spread
the idea that Java's day is probably over, there's been a lot of
interest in linguistic diversity recently in the general programming
community. A conclusive answer to the question of whether or not Rails
actually requires Ruby would go a long way to determining whether this
interest in linguistic diversity is justified, or just a fad.

Maybe I'm old-fashioned, or just old, but I'm not at all convinced that
"linguistic diversity", as you call it, or "too <expletive-deleted> many
<expletive-deleted> programming languages", :slight_smile: as I sometimes call it,
is necessarily a "good thing". I personally find the constant switching
of syntactic and semantic gears between my two main programming
languages, Perl and R, jarring.

Of course, I've been programming a long time, starting with macro
assembler and FORTRAN in a time when Lisp and APL were "new kids on the
block." People who *haven't* learned new programming languages,
especially languages *semantically* orthogonal to ones that they are
familiar with, should of course learn new ones. But if you want to get
paid as a programmer, treat this as a way of making yourself a better
programmer in the languages you get paid to work in, rather than as an
"opportunity" to "proselytize" your newly-learned language, however
wonderful that language might be. :slight_smile:

Giles Bowkett wrote:

I know Rails makes use of Ruby's flexibility in its object system, as
well as its reflection features, but how much of that is key, and how
much of that just happens to be the case? Do any of the copycat
frameworks enjoy similar productivity? If so, do the languages of
successful copycat frameworks share features with Ruby that the
languages of unsuccessful copycat frameworks lack?

Try 'em all out, and see for yourself. I, for one, don't care. That's not meant to be mean; I'm just lazy, and limit the things I try to things that are easy to try and things that get recommended to me.

Between "The Pragmatic Programmer," which advocates frequently
learning new languages, and Bruce Tate's "Beyond Java", which spread
the idea that Java's day is probably over, there's been a lot of
interest in linguistic diversity recently in the general programming
community. A conclusive answer to the question of whether or not Rails
actually requires Ruby would go a long way to determining whether this
interest in linguistic diversity is justified, or just a fad.

Of course Rails doesn't require Ruby. It'll also run on Puby, which just happens to have the same language syntax and semantics as Ruby, as well as the same standard library. There's a Duby port in the works, but because it requires semi-colons, they've got a lot of work to do.

Rails-equivalents are being made in every language. Are they "good enough"? I dunno; I haven't tried any of them. Is it possible to replicate Rails in another language? Dude! Rails is not the holy grail. It is possible to kick Rails's ASS in another language. And someone will, eventually. Maybe not in Java, but there are a lot of programming languages out there, and believe it or not, Ruby's not the only one that supports metaprogramming. (My money's on Io, but we'll see.)

Oh, and as for whether "this interest in linguistic diversity is justified, or just a fad" (clever), my vote's on both. Ob. Alan Perlis quote: "A language that doesn't affect the way you think about programming is not worth knowing." (Hint: That quote's not new.) At the same time, most of the blogospherity on language diversity is driven by Rails, and that'll fade.

Devin

Between "The Pragmatic Programmer," which advocates frequently
learning new languages, and Bruce Tate's "Beyond Java", which spread
the idea that Java's day is probably over, there's been a lot of
interest in linguistic diversity recently in the general programming
community. A conclusive answer to the question of whether or not Rails
actually requires Ruby would go a long way to determining whether this
interest in linguistic diversity is justified, or just a fad.

(Seaside, as a Smalltalk continuation server, seems like a strong
argument in favor of the idea that languages play a powerful role in
framework design, but there are in fact continuation servers in Perl,
Ruby, and even Java as well.)

Well, yes. There's nothing about Rails that mean it can't be done in Python (Django), or Java/Groovy (Grails). However, because of Ruby's flexibility, it's just more likely that such things will appear in Ruby first. They'll then be hacked into a Java straitjacket at some later time.

Martin

Wait, oh man this is good. Ok, I totally missed this but did you actually advocate sex with goats or were you joking?

Please say you actually were advocating it. It'd be so much funnier.

If you were just joking and got booted then that just confirms my opinion that most programmers have a sad sense of humor that only understands puns, math, and physics.

···

On Sun, 8 Oct 2006 04:10:50 +0900 "Giles Bowkett" <gilesb@gmail.com> wrote:

Before I go any further I should point out that I have in fact been
banned from the Rails list, probably for loud and vituperative
criticism of the list itself, but possibly also for advocating sex
with goats. (I have since made an effort at apology, although it seems
to have been unsuccessful.) At any rate, that's one reason why I'm
posting this question here, rather than on the Rails list.

--
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu

http://mongrel.rubyforge.org/
http://www.lingr.com/room/3yXhqKbfPy8 -- Come get help.

Thomas Adam wrote:

Does anybody on this list have experience with any of the copycat
frameworks? Has your experience been detailed enough to include an
examination of the source code? If so, is it your opinion that Ruby is
a necessary component of Rails' success? Can you point to evidence in
the form of specific design decisions in competing frameworks?

That's the wrong way around to ask the question isn't it? Something
like Rails could easily be implemented in other languages; the author
of it chose Ruby for his own reasons, no doubt.

No, I disagree. Most or many of the copycats are inferior to Rails
because the underlying language is less expressive (or less dynamic).

An exception might be Python, which is probably the closest to Ruby
of all the languages that have Rails clones.

Hal

*Tommy Chong voice* Wow man, that's totally far out and stuff. You
know, Duby could become, like...industry standard, man...like roll your
own Duby and stuff, you know! And...like...uhmm...uhhh...what was I
talking about just now? :wink:

Regards,
Jordan

···

On Oct 7, 9:36 pm, Devin Mullins <twif...@comcast.net> wrote:

There's a Duby port in the works [...]

Devin Mullins wrote:

Oh, and as for whether "this interest in linguistic diversity is
justified, or just a fad" (clever), my vote's on both. Ob. Alan Perlis
quote: "A language that doesn't affect the way you think about
programming is not worth knowing." (Hint: That quote's not new.) At the
same time, most of the blogospherity on language diversity is driven by
Rails, and that'll fade.

Wow ... Alan Perlis ... that takes me back to the infancy of programming
languages. We're talking Algol *58* and its implementations, such as
MAD, JOVIAL and NELIAC. We're talking machines with word sizes a
multiple of three because it's easier to do octal arithmetic in your
head than hexadecimal arithmetic.

We're talking 026 keypunches, character sets with six-bit characters,
and machines that didn't even know what the time of day was. Did people
really use this stuff to run large businesses and design nuclear weapons
and space vehicles? :slight_smile:

And language diversity -- even if you don't count all the macro
assemblers, there was FORTRAN, COBOL, RPG, various dialects of Algol,
Lisp, COMIT, SNOBOL and quite a few others. So what was "worth knowing?"
Well, of course, FORTRAN for science and COBOL for business. Macro
assembler for optimization. Algol if you worked for or with Burroughs or
with European programmers.

But only two languages would "change the way you think about
programming." One was Lisp, and the other was APL. Since then, only two
more have come along that changed the way *I* think about programming --
Forth and Smalltalk.

> Does anybody on this list have experience with any of the copycat
> frameworks?

Starting a thread with a pejorative assertion is going to seriously
distort the responses.

...

Yes, Rails has motivated some to go create (for better or worse) similar
tools. But others were already in the works and evolved in parallel
with Rails. And *all* of them have copped ideas and techniques from
prior work.

well, that's a good point. many similar frameworks aren't actually
copycats, and tarring them with that brush is definitely pejorative.
my bad.

···

--
Giles Bowkett
http://www.gilesgoatboy.org

I'm not in the general habit of feeding trolls, but in this case I think
I'll make an exception. If you want to be treated with respect, please
refrain from discussions of bestiality on a programming language forum.
It's inappropriate, illegal in most places, and just in general not
funny, if indeed that was your intent in claiming that you have
advocated it.

I have certainly learnt this lesson.

Maybe I'm old-fashioned, or just old, but I'm not at all convinced that
"linguistic diversity", as you call it, or "too <expletive-deleted> many
<expletive-deleted> programming languages", :slight_smile: as I sometimes call it,
is necessarily a "good thing". I personally find the constant switching
of syntactic and semantic gears between my two main programming
languages, Perl and R, jarring.

Of course, I've been programming a long time, starting with macro
assembler and FORTRAN in a time when Lisp and APL were "new kids on the
block." People who *haven't* learned new programming languages,
especially languages *semantically* orthogonal to ones that they are
familiar with, should of course learn new ones. But if you want to get
paid as a programmer, treat this as a way of making yourself a better
programmer in the languages you get paid to work in, rather than as an
"opportunity" to "proselytize" your newly-learned language, however
wonderful that language might be. :slight_smile:

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.

···

--
Giles Bowkett
http://www.gilesgoatboy.org

> Does Rails require Ruby?

Yes.

why?

> Before I go any further I should point out that I have in fact been
> banned from the Rails list, probably for loud and vituperative
> criticism of the list itself, but possibly also for advocating sex
> with goats. (I have since made an effort at apology, although it seems
> to have been unsuccessful.) At any rate, that's one reason why I'm
> posting this question here, rather than on the Rails list.

Are you trying to apologise for that by proxy? I fail to see what
difference it makes mentioning it here, other than to attract sympathy
from people who potenitally have no idea what the situation is about.
But consider yourself absolved all the same if it helps appease your
conscience.

well, thank you. but no, I'm not trying to apologize per se, I just
want to avoid any out-of-nowhere attacks from hostile Rails listers,
and explain one of my reasons for posting this here rather than there.
but thank you all the same.

> Does anybody on this list have experience with any of the copycat
> frameworks? Has your experience been detailed enough to include an
> examination of the source code? If so, is it your opinion that Ruby is
> a necessary component of Rails' success? Can you point to evidence in
> the form of specific design decisions in competing frameworks?

That's the wrong way around to ask the question isn't it? Something
like Rails could easily be implemented in other languages; the author
of it chose Ruby for his own reasons, no doubt.

put it another way, it appears to me, without having done in-depth
analysis on the numerous frameworks out there, that the best are
probably Rails and Seaside. Ruby and Smalltalk are similar languages,
so it's possible that, if Rails and Seaside really are the best, the
similarities in these languages could be significant and could be part
of the reason these frameworks succeed. but that leads to a question,
do the language differences lead to substantially different design
decisions? because if the similarities in the languages are part of
the frameworks' success, then evidence should exist within the source
code, and in particular, the similarities in the languages should
probably have resulted in similar design decisions which are elegant
in Ruby and Seaside but less so elsewhere.

but the possibility also exists that just saying "this and that are
the best" is superficial and misses the point, and the real point is
you choose particular tools for particular problems. for example, I
worked with a Rails guy recently who didn't want to use Beautiful Soup
(a Python screenscraper) because Python seemed too different from
Ruby. I disagreed, but it was his call. we benchmarked Rubyful Soup,
the Ruby port, but it was ten times slower than the Python version. so
he found a different Ruby screenscraper that was equivalent in terms
of performance with Beautiful Soup but less elegant in its use,
because it allowed him to stay within Ruby.

these kinds of questions, do we somehow bridge Beautiful Soup and
Rails, do we use Django or Turbogears for the Python intergration,
these are practical questions.

you might choose Django over Rails for a particular class of tasks. if
you re-implemented Django in Ruby, which parts of it would be
different upon translation, and would it still be preferable for the
same class of tasks? if you've ever read works in a foreign language
you know that certain literary nuances have a very difficult time
surviving translation.

···

--
Giles Bowkett
http://www.gilesgoatboy.org

Sorry to disappoint you but I was just joking. I'm also fairly certain
the booting occurred for other reasons. However, I posted a comment
about goats, went off to do something more productive, came back to
post a new comment about goats -- I'd seen a headline that a man
caught with a goat in some Third World country had been ordered by the
local legal system to marry it -- but couldn't log back in. Therefore
it's stuck in my mind ever since that the goat comments must have been
what got me banned, although in reality I'm sure it was something
(marginally) more grown-up than that.

I do think the absence of a sense of humor may have played a role in
the proceedings on all sides, however.

···

On 10/8/06, Zed A. Shaw <zedshaw@zedshaw.com> wrote:

On Sun, 8 Oct 2006 04:10:50 +0900 > "Giles Bowkett" <gilesb@gmail.com> wrote:

> Before I go any further I should point out that I have in fact been
> banned from the Rails list, probably for loud and vituperative
> criticism of the list itself, but possibly also for advocating sex
> with goats. (I have since made an effort at apology, although it seems
> to have been unsuccessful.) At any rate, that's one reason why I'm
> posting this question here, rather than on the Rails list.

Wait, oh man this is good. Ok, I totally missed this but did you actually
advocate sex with goats or were you joking?

Please say you actually were advocating it. It'd be so much funnier.

If you were just joking and got booted then that just confirms my
opinion that most programmers have a sad sense of humor that only
understands puns, math, and physics.

--
Giles Bowkett
http://www.gilesgoatboy.org

Giles was actually booted because he was hostile, abrasive, and
abusive during the poorly-executed mailing list transfer. He had been
filtering the Rails list to the trash and then the shift to a Google
group broke that filter, so he started getting dozens of mails–and he
like a few other folks got hyper-pissed off about the breaking of
their filters.

The mailing list transfer was poorly executed, but what happened after
that by certain select people affected by it was not a matter of
humour.

-austin

···

On 10/8/06, Zed A. Shaw <zedshaw@zedshaw.com> wrote:

Wait, oh man this is good. Ok, I totally missed this but did you actually advocate sex
with goats or were you joking?

--
Austin Ziegler * halostatue@gmail.com * http://www.halostatue.ca/
               * austin@halostatue.ca * You are in a maze of twisty little passages, all alike. // halo • statue
               * austin@zieglers.ca

Hal Fulton wrote:

That's the wrong way around to ask the question isn't it? Something
like Rails could easily be implemented in other languages; the author
of it chose Ruby for his own reasons, no doubt.

No, I disagree. Most or many of the copycats are inferior to Rails
because the underlying language is less expressive (or less dynamic).

An exception might be Python, which is probably the closest to Ruby
of all the languages that have Rails clones.

Curiously, how does rails compare to Catalyst. I'm a long time Perl programmer, and learned Catalyst before coming to Ruby and Rails. Now I'm learning both Ruby and Rails. I'm having a lot of fun, but find my lack of command of the language to be a real issue with gaining a command of rails.

I thought Catalyst was cool, but too much of a moving target. I've tended to work on a project then loose interest for a few months. When I return the Catalyst framework had undergone many changes.

So I'd be interested in hearing thoughts from folks that have worked with, or at least looked at both. I'm really digging Ruby, just have somewhat the dry sponge syndrome as of late.

Thanks for any feedback.

Andy

Hal Fulton wrote:

No, I disagree. Most or many of the copycats are inferior to Rails
because the underlying language is less expressive (or less dynamic).

An exception might be Python, which is probably the closest to Ruby
of all the languages that have Rails clones.

I don't know about other Python web app frameworks, but I don't think
it's fair to classify Django as a "Rails clone" or "copycat". Django and
Rails were developed independently more or less at the same time. And
they were both abstracted from different web apps. As a consequence,
there are some things that Django does well and Rails does poorly, and
vice versa.

I'm not at all sure the concepts of "expressive" or "dynamic" are the
real reasons Ruby programmers prefer Ruby to other languages. I think
its more that Ruby was a true object-oriented *programming language*
from birth, rather than having objects grafted on to what was
essentially a glorified UNIX shell with lots of C libraries. Early Perl
scripts, for example, looked a lot like cleaned-up C shell or Korn shell
scripts that used "grep", "sed", "awk", etc. to do the work.

"Starting a thread with a pejorative assertion is going to seriously
distort the responses."

That is an assumption you do here.

Just by replying to the core of his question does in no way
associate your response with HIS opinion, nor is there an
imperative that a response gets distorted. It depends
on the people who reply! :slight_smile:

So please give him the fair chance to keep his own opinion,
and address his underlying question of (summarized):

  frameworks, languages (and their strength/weakness), your
  personal experience with them.

For me, although I personally have not jumped seriously
on the Rails train :wink: I think there are a lot of extremely
nice ideas injected in a "sidewhere fashion", for example:

the gruff stuff/library.

Very easy, but a cool idea and it also looks extremely
cool.

These little things are what I love a lot. I am much more
fascinated by these "offspring projects" than by rails core
stuff (although some Ajax niceties are also nice, and I wonder
how far rails can go, given that other projects like rails
livecd sprung forth too...)

···

--
Posted via http://www.ruby-forum.com/.

>> Does Rails require Ruby?
>
>Yes.

why?

I think the problem is that your question is a little too specific.
Rails (capital R, the Ruby on Rails Framework) does require Ruby...
because that's what it's written in and blah blah blah.

I think your real question, though, was "Is Ruby the only language in
which a framework like Rails can be written?" I'm inclined to say that
the answer to that question is no.

Obviously, it's never going to be the same if it's not written in Ruby.
Ruby's expressiveness and readability are huge assets to Rails. But I
feel that a lot of the success of Rails boils down to the simple fact
that it makes it easy to do complex things, and it's "fun" to do so.
That can be built in any language.

>That's the wrong way around to ask the question isn't it? Something
>like Rails could easily be implemented in other languages; the author
>of it chose Ruby for his own reasons, no doubt.

put it another way, it appears to me, without having done in-depth
analysis on the numerous frameworks out there, that the best are
probably Rails and Seaside. Ruby and Smalltalk are similar languages,
so it's possible that, if Rails and Seaside really are the best, the
similarities in these languages could be significant and could be part
of the reason these frameworks succeed. but that leads to a question,
do the language differences lead to substantially different design
decisions? because if the similarities in the languages are part of
the frameworks' success, then evidence should exist within the source
code, and in particular, the similarities in the languages should
probably have resulted in similar design decisions which are elegant
in Ruby and Seaside but less so elsewhere.

There's an extended rant hiding behind this, but I'll keep it simple:
"best" is almost always a relative term. What's best for you and the
problems you need to solve may be the worst for someone else. What's
best for a Java programmer is probably a Java framework.

Setting aside all of the arguments we usually hear about Java, I don't
see any reason why a framework couldn't be built that would deliver the
same ease and fun factor of Rails in a Java environment. Sure, it'd
take more code, and sure, it'd be Java code, but there's nothing magical
about Ruby that enables Rails to do things.

I'm sure someone will correct me if I'm wrong, but I don't think there
are any problems in the web application development world that can't be
solved in any language you choose.

but the possibility also exists that just saying "this and that are
the best" is superficial and misses the point, and the real point is
you choose particular tools for particular problems. for example, I
worked with a Rails guy recently who didn't want to use Beautiful Soup
(a Python screenscraper) because Python seemed too different from
Ruby. I disagreed, but it was his call. we benchmarked Rubyful Soup,
the Ruby port, but it was ten times slower than the Python version. so
he found a different Ruby screenscraper that was equivalent in terms
of performance with Beautiful Soup but less elegant in its use,
because it allowed him to stay within Ruby.

I should read the entire quote before I respond. This is basically what
I said above!

you might choose Django over Rails for a particular class of tasks. if
you re-implemented Django in Ruby, which parts of it would be
different upon translation, and would it still be preferable for the
same class of tasks? if you've ever read works in a foreign language
you know that certain literary nuances have a very difficult time
surviving translation.

Though I take your point, I don't think comparing a translation of
programming languages to a translation of human languages is quite the
same thing. You would lose language-specific idioms, but that wouldn't
be an issue.

A translation (for instance, Django -> Rjango), benefits primarily Ruby
programmers who hear cool things about Django and want to give it a
shot. In all likelihood they don't know Python, or they'd be using
Django already. It wouldn't be the same, but it would be good enough.

Ben

···

On Mon, Oct 09, 2006, Giles Bowkett wrote:

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!