Steven D'Aprano wrote: > On Fri, 08 Dec 2006 08:50:41 -0800, George Sakkis wrote: > Why is that a difficulty? Like Guido, I think that's an ADVANTAGE. > > > "Programmable syntax is not in Python's future -- or at least it's not > > for Python 3000. The problem IMO is that everybody will abuse it to > > define their own language. And the problem with that is that it will > > fracture the Python community because nobody can read each other's code > > any more." > > > > http://mail.python.org/pipermail/python-3000/2006-April/000286.html. > > I couldn't have said it better myself.
This is sort of the top-down philosophy, where you have a "benevolent dictator" rather than more of a democracy. (People actually call them benevolent dictators.) Like any other top-down society, the benevolent dictator tells you that he and his lieutenants are merely protecting you against anarchism; terrible things will happen if you have too much freedom. However, I am paid to write Common Lisp, I've recently seen a terribly unreadable codebase, and the problem wasn't macros -- merely overuse of global vars. Nothing exotic. Do we ban loops and recursion because we face infinite looping? Or, as "power users," do we do the obvious, which is to learn how to use power correctly? How do Lisp users deal with a powerful weapon like macros? Well first, many people don't define new ones. Instead, they use someone else's time-tested macros, from some library. However, when they do use macros, it's to make less readable code more readable. Is all Python code readable? I somehow doubt it. Is the pressure from experienced Python users stretching Python away from a clean design? I suspect it is. (Though I could be wrong, as I don't pay close attention to Python at the moment.) I'm not trying to convince anyone that Lisp's radical flexibility here is "better", just there's a different perspective to consider than what Guido says. Many in the Lisp community have noticed the frequency of sentences starting with "Guido said" from the Python world, and maybe that sounds as disturbing to heavy Lisp users as macros sound to heavy Python users. Tayssir -- "Patriotism is usually the refuge of the scoundrel. He is the man who talks the loudest." -- Mark Twain, 1908 -- http://mail.python.org/mailman/listinfo/python-list