What's better about Ruby than Python?
borcis at users.ch
Thu Aug 21 10:48:26 CEST 2003
Andrew Dalke wrote:
> Olivier Drolet:
>>Macros, as found in Common Lisp, do not change the underlying language
>>at all! Common Lisp macros, when run, always expand into 100% ANSI
>>Common Lisp code!
> I've created a new language, called Speech. It's based on the core
> primitives found in the International Phonetic Alphabet. I've made some
> demos using Speech. One is English and another is Xhosa. This just
> goes to show how powerful Speech is because it can handle so many
> domains. And it's extensible! Anything you say can be expressed in
I believe you unwittingly locate an issue. Machine translation of human
languages has been an unescapable project for computer scientists, a challenge
that has consistently revealed harder to achieve than expected. Idiomatic
machine translation of *programming* languages, in comparison, looks like a
toy problem, an appetizer. But all the endless debates in the p.l. newsgroups
certainly show one thing : we don't expect idiomatic translation between
computer languages to solve our problems. While it clearly could.
I believe our reasons for not doing it boil down to : (a) the issue of
*conservation* of programming languages *biodiversity* not having gained
attention as the key issue it is (b) lack of imagination by programmers too
engrossed with pet language advocacy.
What I mean is that the metaphor you use puts the joke on you (or us). You
should really distinguish between the case of translating between *existing*
"sibling" languages (be they human languages or programming languages) and
otoh the case of translating between a newly-bred variant of a language and a
Isn't it the case that most objections to macros fail to persist invariant if
we set the purpose of our "macro" facility, to that of *grafting some
language's surface syntax and basic control structures onto some other
language's objects and library ? This, to illustrate and set a positive
criterion, well enough that (say) we will be able to manage with (basically)
the first language's syntax mode under emacs, what will really run as code in
the second language* ?
More information about the Python-list