James Logajan (firstname.lastname@example.org) wrote:
> NOTE TO LISP AND FORTH FANS: one important reason your languages
> have never caught on may be due to the fact that many natural languages
> follow the "subject verb object" form. Usage of SOV, OSV, VSO, and VOS
> are less likely (I don't have any references in front of me; if anybody
> wants details, I'll try to locate what I have). They also lack visual
> redundancy (they aren't alone in this short-coming of course).
Nice theory, but it fails to explain a lot.
A) It might interest you to hear that "The three most comon word
orders (in descending order of frequency) are SOV, SVO, and VSO."
(O'Grady, Dobrovolsky, and Aronoff, Contemporary Linguistics: An
Introduction, 2nd ed, p 316) So: languages like Turkish, Latin, and
several others which use SOV are in fact MORE common than English,
which uses SVO. Plus, there are other languages which use Vxx orders:
Malagasy (VOS), Irish and Hebrew (VSO), and so forth.
B) It's really sort of irrelevant, anyway. Let's take a programming
language with "more traditional", Algol-based syntax, like C or
Pascal. Here, you essentially have 2 basic constructions: applying a
function to arguments, and applying binary or unary operators (leaving
C's ?: out for the moment). Applying a function to arguments seems to
me to be VO, with an understood subject -- this isn't normal English
word order. (Procedures work the same way.) Unary ops are also VO.
Binary ops seem to be OVO, *maybe* SVO in cases like i = 4 or
something like that.
So, when you move to a functional language, you shift emphasis away
from the only PL construct I can think of that's SVO, and just make
everything VO for consistency's sake. Since both the Lisp and Algol
families are both VO (or slight derivatives) anyway, I'm afraid your
argument doesn't hold water.
I'm still a student, though, so I'm somewhat limited in the number of
PL's I know. It might be interesting to compare some other languages
which *aren't* descendents of Lisp or Algol.