>>>>> "David" == David MacQuigg <dmq at gain.com> writes:
David> Wouldn't it be nice, for example, if instead of special keywords
David> like 'lambda' and 'yield', we had used '@(args)' and '...@return'.
David> ( No, I'm not advocating we go back and change what has been
David> done.) In both these cases, we had a well-established syntax
David> that needed a slight variation.
I don't think it is an improvement. If you get puzzled reading a program
with lambda expressions, you remember that you conveniently skipped reading
"lambda" in the docs. If you read a program with generator, you know the
"yield" section at the new Python docs will help. Both is very clear
mentally: you can easily recall what you've learnt. If you read a program
containing silly @, where should you look? And will you still remember it
after 2 years of programming solely in Perl? I think everybody trying to
add language construct should remember "explicit is better than implicit".
David> The 'lambda function' for example, was needed to cram a small
David> block of code into a tight space. By saying '@x,y:' instead of
David> 'lambda x,y:', we not only avoid the need for a new keyword, but
David> we better serve the purpose of tightly packing some code. We
David> would also avoid mystifying beginners. "It has no magic meaning.
David> It's just a way to write a function without a name."
There is no real need to "cram a small block of code into a tight space":
your space is unlimited when writing programs. There are times when you
should want using less space: when you are expressing a sequence of really
simple things. If you are writing something as complicated as a "lambda x,
y: ..." and that "..." can't be put into your program conveniently, the odds
are that it really takes effort to understand that part. Then I don't think
that one really should try to put it into less space.
Regards,
Isaac.
Recent Messages in this Thread |
|
David MacQuigg |
Mar 10, 2004 09:01 pm |
|
Wayne Folta |
Mar 10, 2004 09:24 pm |
|
Jarek Zgoda |
Mar 10, 2004 09:26 pm |
|
Jeff Epler |
Mar 10, 2004 09:31 pm |
|
Ivan Voras |
Mar 10, 2004 09:49 pm |
|
Erik Max Francis |
Mar 11, 2004 01:08 am |
|
John Roth |
Mar 10, 2004 09:50 pm |
|
Ben Finney |
Mar 10, 2004 10:19 pm |
|
John Roth |
Mar 10, 2004 11:15 pm |
|
Josiah Carlson |
Mar 12, 2004 05:08 pm |
|
Y2KYZFR1 |
Mar 12, 2004 05:49 am |
|
Max M |
Mar 12, 2004 09:59 am |
|
John Roth |
Mar 12, 2004 12:05 pm |
|
Heather Coppersmith |
Mar 11, 2004 02:05 am |
|
Edward K. Ream |
Mar 10, 2004 11:02 pm |
|
David MacQuigg |
Mar 11, 2004 12:40 am |
|
Cameron Laird |
Mar 11, 2004 01:28 am |
|
David MacQuigg |
Mar 11, 2004 02:44 am |
|
Pierre Rouleau |
Mar 11, 2004 03:13 am |
|
Christopher Koppler |
Mar 11, 2004 09:00 am |
Extending Python Syntax with @ |
Isaac To |
Mar 11, 2004 01:54 am |
|
Pierre Rouleau |
Mar 11, 2004 02:59 am |
|
Christopher Koppler |
Mar 11, 2004 08:50 am |
|
Nick Vargish |
Mar 11, 2004 02:28 pm |
|
Peter Hickman |
Mar 11, 2004 02:50 pm |
|
Cameron Laird |
Mar 11, 2004 03:24 pm |
|
Peter Hickman |
Mar 12, 2004 09:50 am |
|
John Roth |
Mar 12, 2004 12:07 pm |
|
Peter Hickman |
Mar 12, 2004 12:19 pm |
|
David MacQuigg |
Mar 11, 2004 08:05 pm |
|
Roger Binns |
Mar 11, 2004 01:08 am |
|
DH |
Mar 11, 2004 01:37 am |
|
Roger Binns |
Mar 11, 2004 04:06 am |
|
Steve Lamb |
Mar 11, 2004 01:43 am |
|
Gustavo Niemeyer |
Mar 11, 2004 03:12 am |
|
Paul McGuire |
Mar 11, 2004 03:17 am |
|
Peter Maas |
Mar 11, 2004 12:15 pm |
|
David MacQuigg |
Mar 11, 2004 04:35 pm |
|
Peter Hansen |
Mar 11, 2004 05:01 pm |
|
David MacQuigg |
Mar 11, 2004 05:57 pm |
|
Ixokai |
Mar 14, 2004 05:17 am |
|
Peter Maas |
Mar 11, 2004 08:42 pm |
|
David MacQuigg |
Mar 11, 2004 11:44 pm |
|
Raymond Hettinger |
Mar 11, 2004 10:15 pm |
|
Paul Rubin |
Mar 11, 2004 11:24 pm |
|
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) |
Mar 12, 2004 03:12 am |
|
Bas |
Mar 12, 2004 08:07 pm |
|
Peter Hansen |
Mar 12, 2004 10:17 pm |
|
Donn Cave |
Mar 12, 2004 10:57 pm |
|
Cameron Laird |
Mar 11, 2004 12:55 pm |
|
Kyler Laird |
Mar 11, 2004 02:09 pm |
|
Richie Hindle |
Mar 11, 2004 02:41 pm |
|
David MacQuigg |
Mar 11, 2004 02:49 pm |
|
Kyler Laird |
Mar 11, 2004 06:09 pm |
|
David M. Cooke |
Mar 11, 2004 09:26 pm |
|
Kyler Laird |
Mar 12, 2004 12:01 am |
|
Myles |
Mar 12, 2004 12:05 am |
|
John Roth |
Mar 11, 2004 02:37 pm |
|
David MacQuigg |
Mar 11, 2004 03:57 pm |
|
John Roth |
Mar 11, 2004 04:17 pm |
|
David MacQuigg |
Mar 11, 2004 05:41 pm |
|
John Roth |
Mar 11, 2004 06:03 pm |
|
David MacQuigg |
Mar 11, 2004 09:24 am |
|
Cameron Laird |
Mar 11, 2004 05:13 am |
|
David MacQuigg |
Mar 11, 2004 08:42 am |
|
Cameron Laird |
Mar 11, 2004 03:35 pm |
|
Cameron Laird |
Mar 12, 2004 01:19 am |
|
wmwd...@sneakemail.com ) (Greg Ewing (using news.cis.dfn.de) |
Mar 12, 2004 03:11 am |