[IronPython] more pythonic than python ( continuation)

Ken Manheimer ken.manheimer at gmail.com
Wed Jun 21 03:06:15 CEST 2006

On 6/20/06, fernando moreira <fclm1000 at msn.com> wrote:

> But what i would expect from a really pythonic interpreter is "He he he...
> Another newbie that does not know strings are imutable. I am a very friendly
> interpreter of a very intuitive language; ).  So, behind the scenes i will
> send the present string to trash after i create another one with the same
> variable´s name. Thus the newbies will keep smiling and saying that python
> rocks !"

i think you need to distiguish between design choices and taste choices.

when you make choices based on taste, you decide each case on what you
would prefer, and sort things out later.

when you make design choices, you balance the consequences or your
choices against the other choices that need to be made.

the art in language design is making choices that reconcile well with
one another, and hopefully best satisfy the *needs* of the programmers
most often.  the most remarkable success of python, as a language, may
be the degree to which it caters gracefully to a broad range of needs,
even satisfying many tastes in the process.  don't make the mistake of
believing, though, that it was driven by those tastes.

how do you distinguish a whim from a need?  guido often asks, "what is
it that you actually *need* to do?"  are you actually struggling with
a limitation that's preventing you from doing what your need, or is
your answer, "it would just be nice", or "it's more pythonic".  if
it's just "nice" or "pythonic", he won't listen.  if you can cite
something practical that needs doing and can't be done without pain as
things stand, then good language developers will listen, and help find
a good solution if possible.  they mostly pay attention to practice
and consequences, not taste, and that's why python works well.

(my experience is much more in design and development of applications
than of languages, but this principle applies at least as well there.
i've spent too much time developing a feature that was unnecessary,
only to discover that i lost much more in the distortion of my
application design than i gained in the extraneous feature, not to
mention the waste of time spent on the feature development.  i can
only imagine how frustrating this could be in language development.)

ken.manheimer at gmail.com

  Python is an experiment in how much freedom programmers need.
  Too much freedom and nobody can read another's code; too little
  and expressiveness is endangered. -- Guido van Rossum, 13 Aug 1996

More information about the Ironpython-users mailing list