[Baypiggies] Frequently Argued Objections

Jeff Younker jeff at drinktomi.com
Fri Jun 20 04:18:32 CEST 2008

Here are my big gripes/shortcomings:

Method dispatch is an attribute access combined
with a call on that attribute.  It's much cleaner if the
two are combined into a single operation; something
like obj.__send__('name', pargs, vargs).  It seems like
a small thing, but it makes writing proxies, mocks,
record/playback, etc. much easier.   I think Ruby got
this one right.

You must use duck typing when sub-typing and
abstract base classes would be much more useful.
(I hear this is being fixed in 3.0)

The standard library has inconsistencies in case that
haven't been fixed yet.   (The great thing about Python
is that it would be easy to alias existing classes/methods
to names following PEP-8 while retaining the old ones
for compatibility.)

Ruby's blocks are awesome in many ways.

The explicit self is ugly.

Variable scoping can be tricky.  (Ruby's scope indicators are a
good solution to this.  They're concise and clear once you know

Properties are really ugly.  Other languages implement unified
attribute access/function call access in a much more elegant

Protocols are used when syntactic sugar would be more
understandable.  (I imagine that protocols make it hard for
a compiler to optimize Python code too.)

- Jeff Younker - jeff at drinktomi.com -

More information about the Baypiggies mailing list