[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