Lisp development with macros faster than Python development?..

Mike Meyer mwm at mired.org
Fri Jul 8 01:11:10 EDT 2005


"Antoon Pardon" <apardon at forel.vub.ac.be> wrote in message 
news:slrndcpoan.5vp.apardon at rcpc42.vub.ac.be...
> I'll clarify. A lot of the time I hear arguments against
> features that boils down to.

It seems that you've lost some of the intent during the boiling.

> 1) I don't need it.

Is that what you get out of the oft-used "What's your use case"?
That's an attempt to find out what problem the proposer thinks the
feature would help solve, so said solution can be evaluated in
comparison to possible existing solutions.

> 2) Having the feature will make my job more difficult.

Well, if the job is "writing programs" or "debugging programs", then
that's a *good* reason for not adding the feature. Those jobs are hard
enough as it is. Any feature that makes them noticably harder needs to
provide some serious advantages in order to be justified.

> 3) I don't understand the merrits of the feature or I
>   have difficulty understanding what it does when I
>   encounter it.

I don't think I've seen the first one used as an argument against a
feature. I may well have missed them, as I don't follow all such
discussion completely. The second one is a variation on #2, above.

Adding features just because they are "cool" is not the right way to
grow a language. New features need to enhance the language in a
clearly positive manner, while having as little negative impact as
possible. Point 1 and the first part of 3 are cases of people who
don't see a real enhancement to the language. Point 2 and the second
part of 3 are cases where people see a serious negative impact from a
feature.

When people *quit* pointing out those kinds of problems with
proposals, then I'll be worried. Python will be on it's way to
becoming Perl 6 or Common LISP, rather than the powerful, elegant
language I've come to love.

Bringing up such objections also gives the proposer a chance to
correct the problem, which is to everyones advantage. Witness the
recent (short) discussion of adding dynamically scoped variables. As
originally proposed, they can produce very obscure and hard-to-find
bugs. The fix for this made them no worse than global variables.

> IMO these are arguments if followed sufficiently will lead to
> a language that is only usefull for mediocre programmers.

Unless you're arguing that Python is already a language that is only
usefull for mediocre programmers, then this is sort of moot. Those are
arguments being advanced against *adding* features, not for removing
them (at least, I don't think I saw any of them in the ongoing
discusion re map/filter/reduce/lambda). Or are you arguing that Python
will somehow become less useful as new features are proposed and
rejected?

        <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list