Commonly-used names in the Python standard library

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Feb 21 04:12:16 EST 2014


On Fri, 21 Feb 2014 09:21:56 +0200, Marko Rauhamaa wrote:

> I don't hear Lispers or C programmers complaining. 

Lisp is not a popular language. Despite being more powerful, more 
efficient, and a lot older, I expect that there are far fewer people who 
know Lisp (let alone use it regularly) than Python. I wouldn't go so far 
as to say that the Lisp/Scheme family of languages is moribund, but they 
are certainly niche.

And by the way, that niche includes some of the best and brightest 
developers. (Some of whom are too clever by half, but that's another 
story.) Merely mediocre programmers don't learn Lisp. So if you take the 
smartest 0.1% of programmers, and give them a language that lets them 
chainsaw their leg off, they won't complain, they're just keep their leg 
out of the way. But if you take the average 50% programmers, and give 
them a language that lets them chainsaw their leg off, there will be a 
lot of one-legged programmers.

I'm really glad that Lisp exists, but I don't want Python to aspire to be 
Lisp. In the same way, I am very fond of Forth. Forth too lets you re-
define *everything* about the language, including creating new flow-
control commands. I love that language. But there is a very good reason 
why there are a thousand Python coders for every one Forth coder, and it 
isn't the stack or the reverse Polish notation.

As for C, there are a lot of mediocre C programmers writing mediocre C 
programs filled with buffer overflows, null-pointer bugs and all sorts of 
other problems. And they don't complain about those either. Because the 
smart ones know how not to chainsaw their leg off (but even they still 
make mistakes, which is why there are periodic security vulnerabilities 
even in code written by people of the calibre of Linus Torvalds and the 
Linux kernel devs), or have moved to another language and write the bare 
minimum of code in C only when they really need to.


> Yes, you can shoot
> yourself in the foot with macro trickery, but macros can greatly enhance
> code readability

Or greatly destroy it, which is precisely the reason why Python doesn't 
have a macro system. When Guido van Rossum reads Python code, he wants it 
to look like Python code, not some arbitrary custom-built language.


-- 
Steven



More information about the Python-list mailing list