[Python-ideas] Documenting Python warts on Stack Overflow
Oleg Broytman
phd at phdru.name
Mon Dec 31 01:00:12 CET 2012
Hello and happy New Year!
On Sun, Dec 30, 2012 at 11:20:34PM +0100, Victor Stinner <victor.stinner at gmail.com> wrote:
> If I understood correctly, you would like to list some specific issues
> like print() not flushing immediatly stdout if you ask to not write a
> newline (print "a", in Python 2 or print("a", end=" ") in Python 3).
> If I understood correctly, and if you want to improve Python, you
> should help the documentation project. Or if you can build a website
> listing such issues *and listing solutions* like calling
> sys.stdout.flush() or using print(flush=True) (Python 3.3+) for the
> print issue.
>
> A list of such issue without solution doesn't help anyone.
I cannot say for Anatoly but for me warts are:
-- things that don't exist where they should (but the core team object
or they are hard to implement or something);
-- things that exist where they shouldn't; they are hard to fix because
removing them would break backward compatibility;
-- things that are implemented in strange, inconsistent ways.
A few examples:
-- things that don't exist in the language where they should:
anonymous code blocks (multiline lambdas);
case (switch) statements;
do/until loops;
-- things that exist in the language where they shouldn't:
else clause in 'for' loops (documentation doesn't help);
-- things that don't exist in the stdlib where they should:
asynchronous network libs (ftp/http/etc);
GUI toolkit wrappers (GTK and/or Qt);
SQL DB API drivers;
SSL (key/certificate generation and parsing);
restricted execution (remember rexec and Bastion?);
-- things that exist in the stdlib where they shouldn't:
tkinter (Tk is the rarest GUI toolkit in use), turtle;
smtpd.py (it's a program, not a library);
-- things that are implemented in strange, inconsistent ways:
limited expression syntax in decorators (only attr access and calls);
heapq (not object-oriented).
Oleg.
--
Oleg Broytman http://phdru.name/ phd at phdru.name
Programmers don't die, they just GOSUB without RETURN.
More information about the Python-ideas
mailing list