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