Python from Wise Guy's Viewpoint

Peter Hansen peter at engcorp.com
Sun Oct 19 09:21:18 EDT 2003


Warning!  Troll alert!  I missed the three newsgroup cross-post 
the first time, so I thought this might be a semi-serious question.

-Peter

mike420 at ziplip.com wrote:
> 
> 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