Python from Wise Guy's Viewpoint

mike420 at ziplip.com mike420 at ziplip.com
Sun Oct 19 07:18:31 EDT 2003


THE GOOD:

1. pickle

2. simplicity and uniformity

3. big library (bigger would be even better)

THE BAD:

1. f(x,y,z) sucks. f x y z  would be much easier to type (see Haskell)
   90% of the code is function applictions. Why not make it convenient?

2. Statements vs Expressions business is very dumb. Try writing 
   a = if x : 
           y
       else: z

3. no multimethods (why? Guido did not know Lisp, so he did not know 
   about them) You now have to suffer from visitor patterns, etc. like
    lowly Java monkeys.

4. splintering of the language: you have the inefficient main language,
   and you have a different dialect being developed that needs type    
   declarations. Why not allow type declarations in the main language
   instead as an option (Lisp does it)

5. Why do you need "def" ? In Haskell, you'd write
   square x = x * x

6. Requiring "return" is also dumb (see #5)

7. Syntax and semantics of "lambda" should be identical to 
   function definitions (for simplicity and uniformity)

8. Can you undefine a function, value, class or unimport a module?
   (If the answer is no to any of these questions, Python is simply
    not interactive enough)

9. Syntax for arrays is also bad [a (b c d) e f] would be better
   than [a, b(c,d), e, f]
	
420

P.S. If someone can forward this to python-dev, you can probably save some
people a lot of soul-searching




More information about the Python-list mailing list