merits of Lisp vs Python

Slawomir Nowaczyk slawomir.nowaczyk.847 at student.lu.se
Sat Dec 16 09:05:49 EST 2006


On Sat, 16 Dec 2006 14:09:11 +0100
André Thieme <address.good.until.2007.feb.05 at justmail.de> wrote:

#> Sounds like "Blub" to me:
#> http://www.paulgraham.com/avg.html

Well, too bad for you...

#> I will quote some parts of it:
#> <snip>

#> "By induction, the only programmers in a position to see all the
#> differences in power between the various languages are those who
#> understand the most powerful one."

This statement is, clearly, right.What I can not comprehend is how
Lispers tend to mis-read "comprehend" above as "think is the best". Some
of us *do* comprehend Lisp, understand that there are uses for macros,
just do not see the overwhelming need for them in everyday work (given
sufficiently rich language core).

I other words, people (in this sub-thread, at least) do not argue that
Python is *as powerful* as Lisp -- we understand there are things macros
can do easier/faster/more conveniently than functions or other features
Python has. Lisp *is* more powerful than Lisp. You win.

What we try to understand is why would you think Lisp is a better
programming language than Python :)

Sure, there are times I wish Python had macros. I would be able to save
a couple of keystrokes here and there. But at other times, I am glad it
does not have them, because when I read Bad Code (commonly used synonym
for "somebody else's code") I do not need to wonder what aif and 1000
others, similar things really do.

In my experience, *if* somebody really needs aif, it can be done without
macros. But without macros people will only introduce such thing if it
does save significantly more than 3 or 4 lines of code in the whole
project -- which is a good thing in my book. YMMV.

I by far prefer to have

    it = timeConsumingCalculations()
    if it:
       use(it)

five (or even ten) times in a medium sized project than to have to
figure out what "aif" means. If the idiom is used 100 times, then
something is wrong: either system should be redesigned or introducing
"aif" is a good idea (but then Python idiom works just as good as Lisp
one). YMMV.

-- 
 Best wishes,
   Slawomir Nowaczyk
     ( Slawomir.Nowaczyk at cs.lth.se )

There are 2 kinds of people in the world - those that divide
  the people into 2 groups, and those who don't.




More information about the Python-list mailing list