Mark Tarver wrote: > How do you compare Python to Lisp? What specific advantages do you > think that one has over the other? > > Note I'm not a Python person and I have no axes to grind here. This is > just a question for my general education. > > Mark
Advantages of Python: 1). More and better mature standard libraries (Languages don't matter, libraries do). 2). Multiple programming paradigms (including functional style programming see itertools, functools, operator modules (lambda, map, filter, reduce, sum etc builtins), higher order functions, list comprehension, blah, blah) 3). Better OO implementation. (I used to hate OO until I started using Python) 4). Ultimate glue language (Plays well with C, C++, Java, .NET. nuff said. Bindings for almost any lib worth using, at least on *nix) 5). Clearer syntax. 6). Better namespace management. (nobody ever talks about this, but Python seems to be one of the few languages that gets symbol management right from a users perspective) 7). Easier packaging and distribution system. 8). Ubiquity! Python is everywhere. Lisp, bleh. 9). Relatively good docs (PHP has better). 10). Fewer perceived community assholes. Large community. 11). Less fragmentation. Advantages of Lisp: Learning a functional language can improve your programming range and depth. And today, I wouldn't even recommend Lisp (it's rather archaic), when there's mind bending Haskell. I'd go as far as saying I believe Haskell has a better fate than Lisp. On Lisp Macros: I think they are overrated, and in general cause more harm than good. It's the reason I find Lisp-like programs difficult to grok, maintain and extend. Cos every smart ass wants to needlessly write his own mini language to the point of absolute obfuscation. Naturally, I'm supposed to be awed by his mischievous cleverness. Conclusion: The semantics or features of a language is almost irrelevant today. Developers want to put the lego pieces together, they don't want to make lego. Rewriting the sun and moon, or needlessly reinvent the wheel was popular in the 70s, but it's boring and expensive today. Today, when a developer needs to solve a problem, the question they ask is, "Is there a library for that?". If the answer is no, they a more likely to switch to a language that provides a library that solves their problem. The challenge for developers today is software architecture, robustness and scalability, not language purity or semantics. The Lisp, and to an extent Haskell, community will never ever ever grok this. They'll continue to wonder why an "inferior" language like Python keeps getting popular. It will always escape them that it might be because Python is actually easier to use for most people to write "real world" applications. It has good usability. -- http://mail.python.org/mailman/listinfo/python-list