By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,852 Members | 2,123 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,852 IT Pros & Developers. It's quick & easy.

Anyone persuaded by "merits of Lisp vs Python"?

P: n/a
This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.

If you followed even parts of the thread, AND previously
used only one of the languages AND (and this is the
crucial bit), were persuaded to have a more positive view
of the other language; (deep breath, this is a long, as
well as grammatically incorrect sentence), THEN WHY NOT
POST ON WHAT ARGUMENTS PERSUADED YOU.

OTHERWISE LET THIS POST WITHER AND DIE ALONE.

(I suspect this thread to be very short - even the
original poster seems to have given up on the day he
started the thread).

- Paddy.

Dec 28 '06 #1
Share this Question
Share on Google+
14 Replies


P: n/a
Ray

Paddy3118 wrote:
This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.
<snip>
(I suspect this thread to be very short - even the
original poster seems to have given up on the day he
started the thread).
I use both. And Java, and C++ too. Can one really survive knowing just
one language these days, anyway?
>
- Paddy.
Dec 29 '06 #2

P: n/a
I am rather annoyed at the "apples vs. oranges" arguments I frequently
see on Reddit and the like. I picked up python last summer after going
through a very messy breakup (it seemed like a good thing to do with all
the alone time). Anyway, ever since I started writing python, I've been
bugged by a "apples vs. oranges" coworker to learn Lisp, because they
are very similar. So at the beginning of this thread, I was reminded
that I should go check it out.

That's all it did for me. It reminded me to do something I was planning
on doing myself anyway. Lisp vs. Python? How 'bout Haskell vs. Java,
PBASIC vs. C++, and while we're at it, SmallTalk vs. Assembler!
>This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.
<snip>
>>
I use both. And Java, and C++ too. Can one really survive knowing just
one language these days, anyway?

I agree with this entirely. I started learning PBASIC to work with a
microcontroller. I learned Java for portability. I learned PHP for
ease of web application development (I've been largely unimpressed with
the python frameworks...but it's also lack of experience). I use python
for utilities I need, and Lisp is great for some of the functional needs
I have (see Mosquito-Lisp and the MOSREF project), and I can see use in
it. But how many web applications have you seen written in Assembler?
How many OS kernels written in Lisp?

I bought my girlfriend an art desk for Christmas. I didn't use a
freakin' hammer to drive the screws. Wrong tool for the job. Each
language has its ups and downs. Call me the Martin Luther King of
programming languages, but I have a dream. We can no sooner say one
language is better than another than say white people are superior to
black people. We're equal in our own respects.

Paul
Dec 29 '06 #3

P: n/a
Paddy3118 wrote:
This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.

If you followed even parts of the thread, AND previously
used only one of the languages AND (and this is the
crucial bit), were persuaded to have a more positive view
of the other language; (deep breath, this is a long, as
well as grammatically incorrect sentence), THEN WHY NOT
POST ON WHAT ARGUMENTS PERSUADED YOU.

OTHERWISE LET THIS POST WITHER AND DIE ALONE.
If you were so keen on avoiding a flame war, the first thing you should
have done is to not cross-post this.
Carl Banks

Dec 29 '06 #4

P: n/a

Carl Banks wrote:
If you were so keen on avoiding a flame war, the first thing you should
have done is to not cross-post this.
I want to cover Pythonistas looking at Lisp and Lispers looking at
Python because of the thread. The cross posting is not as flame bait.

- Paddy.

Dec 29 '06 #5

P: n/a
[x-post removed]

In article <11**********************@79g2000cws.googlegroups. com>,
Paddy <pa*******@netscape.netwrote:
>Carl Banks wrote:
>>
If you were so keen on avoiding a flame war, the first thing you should
have done is to not cross-post this.

I want to cover Pythonistas looking at Lisp and Lispers looking at
Python because of the thread. The cross posting is not as flame bait.
If a Lisper is looking at Python, zie will be reading c.l.py, no?
--
Aahz (aa**@pythoncraft.com) <* http://www.pythoncraft.com/

"I support family values -- Addams family values" --www.nancybuttons.com
Dec 29 '06 #6

P: n/a
Paddy wrote:
Carl Banks wrote:
If you were so keen on avoiding a flame war, the first thing you should
have done is to not cross-post this.

I want to cover Pythonistas looking at Lisp and Lispers looking at
That's already covered in the orginal thread. Same two newsgroups, same
crowd of people. What's the difference?

Keep it in the original thread where uninterested people can continue
to ignore it.
Python because of the thread. The cross posting is not as flame bait.
You're re-starting the same thread under a new root article, thereby
evading kill filters set up on the original thread.

In halfway decent newsreaders, people can killfile by thread, whereby
all articles associated with the same ancestral root article are
removed.

It's very bad practice to re-introduce continuations of long flamebait
threads under different thread identities.

Dec 29 '06 #7

P: n/a

Paddy wrote:
Carl Banks wrote:
If you were so keen on avoiding a flame war, the first thing you should
have done is to not cross-post this.

I want to cover Pythonistas looking at Lisp and Lispers looking at
Python because of the thread. The cross posting is not as flame bait.
Then post a separate message to each group. If you expect everyone on
Usenet to obey your command to reply with only what you want them to
reply with, you're a sad naive fool.
Carl Banks

Dec 29 '06 #8

P: n/a
Ray wrote:
Can one really survive knowing just
one language these days, anyway?
いいえ! 違います。
Dec 30 '06 #9

P: n/a
Steven Haflich wrote:
Ray wrote:
Can one really survive knowing just
one language these days, anyway?

いいえ! 違います。
iie! chigaimas.

No, I beg to differ!

(Hey, I'm in right the middle of preparing my Kanji-drilling Lisp
program for distribution).

Dec 30 '06 #10

P: n/a
Paddy3118 wrote:
This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.

If you followed even parts of the thread, AND previously
used only one of the languages AND (and this is the
crucial bit), were persuaded to have a more positive view
of the other language; (deep breath, this is a long, as
well as grammatically incorrect sentence), THEN WHY NOT
POST ON WHAT ARGUMENTS PERSUADED YOU.
I fail two thirds of your requirements - at least now. However,
several years ago, I knew Python and was only passingly familiar with
Lisp. To me, at that time, Lisp was a language where the
compiler/interpreter writers were too lazy to write a real parser. "I
object to doing things that computers can do" [1].

I wasn't completely happy with Python though. It does threads poorly
(no concurrency unless you release the GIL in a C extension). The
buffer protocol has issues (particularly if you release the GIL) [2].
The Numpy stuff is bogged down with it's own backward compatible
history. Tkinter leaks memory if you're not careful with it. Adding a
C extension is non-trivial and takes your application from being a
collection of scripts to a distutils driven thing. These are real
issues that I still bump my head on (because I still use Python a lot
of the time). For those reasons, I'm still searching for a better
language for my needs.

Anyway, at that time, I saw an article about adding Hygienic Macros to
Python. The term caught my attention, and it was shot down in the
Python world. Of course, malcontent that I am, I had to go find out
what that was about. I had already seen how in Tcl you could create
new constructs. [3] Turns out Scheme and Common Lisp take that idea to
a new and higher place.

I found out the reason Lispers [4] stuck with their lazily written
parsers is that in exchange for infix operators, they can pretty much
assimilate any other language. Here is an easily readable piece of
Python:

def doit(n):
for i in xrange(n):
print i

With very little effort, here it is in Scheme:

(def doit(n)
(for i in (xrange n)
(print i)))

Don't any other Pythonistas find that interesting? Scheme could suck
in all of Python's beloved semantics with an incredibly similar syntax
in a couple days. [5] It was an interesting revelation to me. Then if
you wanted to add new features (Python 2.5 "with" for example), you
could do it yourself. Moreover, you could steal good features from
other languages too.

The point to all of this is that the cross pollination is arguably a
good thing. [6] If the Schemer's had stuck in their camp, I would
never had known that they had something worth looking at. This is the
same way that I was happily using Perl in college, and some Perl/Python
exchange got me to look at Python.

OTHERWISE LET THIS POST WITHER AND DIE ALONE.
It will die on it's own. Add it to your killfile, ignore it in Google
Groups whatever. More bandwidth was wasted by Paris Hilton and Britney
Spears than in this winding thread...

Cheers.

[1] A quote from Olin Shivers, and apparently he likes Lisp. That
struck me as ironic at first.

[2] Interestingly, Jython handles threads and buffers much better
because it's built on a virtual machine that considers those important.
Of course with Jython, you have to embrace the rest of the Java
environment...

[3] I thought it was particularly cool how Tcl could bolt on a class
based object oriented system as a library. The word "class" isn't
built into the language, but that kind of evaluator lets you add it.

[4] I don't consider myself a Lisper or Schemer. I'm just exploring
the programming language space trying to learn new ideas.

[5] Incidently, I haven't found the version of Scheme that gives me
concurrent threads, efficient buffers, C FFI, and numeric arrays the
way I want, but I'm still looking.

[6] Kenny Tilton pointed that out several times in the other thread.
There are many more lurkers looking and learning than posters posting.

Dec 30 '06 #11

P: n/a
In message <11*********************@48g2000cwx.googlegroups.c om>,
xs*****@gmail.com wrote:
[3] I thought it was particularly cool how Tcl could bolt on a class
based object oriented system as a library. The word "class" isn't
built into the language, but that kind of evaluator lets you add it.
I have written about two notrivial scripts in Tcl. I don't think I will ever
bother to write another, particularly since I now know Python. Dealing with
arrays is an absolute pain, because the language doesn't have references
and arrays as first-class objects.
Jan 5 '07 #12

P: n/a
In message <ma***************************************@python. org>, Paul
Hummer wrote:
I learned PHP for ease of web application development ...
PHP is great for easily developing _insecure_ web applications. But if you
want them not to leak like a sieve, things get a bit more complicated.
Jan 5 '07 #13

P: n/a
Ant
Hi all,

On Dec 28 2006, 4:51 pm, "Paddy3118" <paddy3...@netscape.netwrote:
This month there was/is a 1000+ long thread called:
"merits of Lisp vs Python"
In comp.lang.lisp.

If you followed even parts of the thread, AND previously
used only one of the languages AND (and this is the
crucial bit), were persuaded to have a more positive view
of the other language;
I sort of fall into this category. I'm a Java developer by trade, but
use Python for all of my non-work related projects, and any scripting I
need at work. I hadn't looked at Lisp.

I've been tempted a few times to look more into Lisp, especially after
reading some of Paul Graham's stuff which has a strong bias toward
Lisp.

The thread gave me a kick start into looking into Lisp more deeply, and
over the Christmas break I downloaded CLisp and ordered a couple of
Lisp books. There were no arguments that persuaded me particularly -
more curiosity about a few of the concepts that were bandied about:

a) Closures - and what they give you that Python co-routines don't.
b) Macros - how they can be used, and what advantages they give you.

They were the real persuasion points for me.

So far? After a bit of pain getting started and finding decent docs
(while waiting for the books to arrive) I've found the language quite
easy to use. I haven't got into closures or macros yet - I need to get
more familiar with the basics first, but first impressions are
favorable. It seems that there is nothing conceptually in Python that I
can't reasonably easily do in Lisp, but the Python syntax is much more
straightforward for most of the basics I think (such as dictionaries,
sets, list comprehensions etc), and the function/naming conventions for
the core language is much clearer and more obvious than in Lisp.

Jan 5 '07 #14

P: n/a
In article <11**********************@v33g2000cwv.googlegroups .com>,
Ant <an****@gmail.comwrote:
>
So far? After a bit of pain getting started and finding decent docs
(while waiting for the books to arrive) I've found the language quite
easy to use. I haven't got into closures or macros yet - I need to get
more familiar with the basics first, but first impressions are
favorable. It seems that there is nothing conceptually in Python that I
can't reasonably easily do in Lisp, but the Python syntax is much more
straightforward for most of the basics I think (such as dictionaries,
sets, list comprehensions etc), and the function/naming conventions for
the core language is much clearer and more obvious than in Lisp.
Just remember: today is the car of the cdr of your life.

Once upon a time, I was working at a company that was a commercialized
MIT Lisp project rewritten in C. One day I was amused to discover that
buried deep in the code were a pair of functions, car() and cdr()...
--
Aahz (aa**@pythoncraft.com) <* http://www.pythoncraft.com/

"Plus ca change, plus c'est la meme chose."
Jan 6 '07 #15

This discussion thread is closed

Replies have been disabled for this discussion.