What's better about Ruby than Python?

Kenny Tilton ktilton at nyc.rr.com
Fri Aug 22 08:34:58 EDT 2003


Andrew Dalke wrote:
> Kenny Tilton:
>>The anti-macronistas are better off with the argument, hey, if you want
>>Lisp, use Lisp. Let's keep it simple here. the question for you all is
>>how far you want to take Python.
> 
> 
> But that statement expresses a certain arrogance which grates
> against at least my ears.  

Really? I thought that was non-controversial or I would not have said 
it. Earlier in this thread I thought I read a Pythonista saying, without 
contradiction, that Python does not try to be everything. Lisp macros 
try to be everything. ie, If Lisp does not have something I want, such 
as C-style enums because I am literally translating a C RoboCup client 
to Lisp, noproblemo, I just cobble one together, and I can arrange it so 
the final syntax:

(enum CMD_KICK CMD_DASH (CMD_TEAR_OFF_SHIRT 42)...)

is close enough to C syntax that the C can be edited into Lisp by 
changing/moving braces to parens, deleteing all the commas, and 
hand-hacking the rare symbol=number usage.

The point I've made over and over is
> that languages which optimize for a single person do not
> necessarily optimize for a group of people, especially one
> which is scattered around the world and over years.  Given
> that latter definition, Python is extraordinary advanced, even
> further than Lisp is.
> 
> For observational evidence of this, I suggest my own
> subfields, computational biology and computational chemisty.
> In the first there are bioperl, biopython, biojava, and bioruby,
> all with active participants and a yearly confererence organized
> by open-bio.org. 

You do not like? http://www.biolisp.org/

Give it time. It's a chicken-egg thing. In fact, my RoboCup project is a 
conscious attempt to be the egg for a renaissance in RoboLisp. The 
RoboCup server was originally a Lisp project, but teams are now almost 
universally developed in Java or C++. The funny (and great for me!) 
thing is that all those clients have to parse:

    "(see 457 ((f l t 10) 12.3 23 2.3 5)..."

with parsers, where I just say: (read-from-string <msg>).

And I have already heard from one C or Java (they did not say) team that 
is interested in my code base simply because it is Lisp.

We lispniks do look forward to the day when there is a larger Lisp 
community, and we take great consolation from Python's success (and 
Perl's and to a lesser degree Ruby's). That tells us there is great 
unhappiness with Java and C++. It also shows that popularity and 
dominance in computer languages may not be the advantage it seems to be 
for OSes.

Lisp has been dead for twenty years, but some of us won't use anything 
else (no macros!) and we even see a trickle of newbies on c.l.l., maybe 
one a day. That is mighty small number compared to Python or Ruby, but 
we used to see one a year. I got so curious I started a survey on cliki 
(turns out Paul Graham gets a lot of credit):

    http://www.cliki.net/The%20RtLS%20by%20Road

I was trying to find out how people ended up trying Lisp in spite of its 
tiny community and death.

> I ask you why.  

Historical, for one. Lisp has always needed a meg or two of RAM. Even 
when PCs had 8k, 64k, 128k... so C and Pascal became the languages of 
the masses. Remember Pascal? <g> C++ was C trying to hop on the OO 
bandwagon (don't get me wrong, I like OO) and Java hopped on the 
internet bandwagon (and stayed close to C syntax to win those folks 
over. Python wins because of its interactive qualty and seamless access 
to C, and by adopting many cool ideas from more advanced languages--kind 
of a best of both worlds.

Peter Norvig, a lisp biggy, has famously found Python to be equivalent 
to Lisp (except for runtime speed, IIRC). Think of Lisp as compiled 
Python. With macros and multi-methods etc etc. But you still have to 
roll FFI binidngs to access C. I did that for my OPenGL project, using 
macros which took slightly edited C headers and transformed them into 
the FFI declarations.

The other thing Lisp did not have was cheap graphical workstations with 
syntax-aware editors and optimizing compilers. So that got it off on the 
wrong foot. But I look at it this way. Lisp already was a fad language 
(when folks were all excited about AI) and has already died. But it is 
still the language of choice for some very talented programmers who know 
all about the other languages out there, andit is picking up a trickle 
of interest. And when I look at languages like Perl and Python, I see 
them adopting new features highly reminiscent of Lisp.

I ask you why? :)


-- 

  kenny tilton
  clinisys, inc
  http://www.tilton-technology.com/
  ---------------------------------------------------------------
"Career highlights? I had two. I got an intentional walk from
Sandy Koufax and I got out of a rundown against the Mets."
                                                  -- Bob Uecker





More information about the Python-list mailing list