Python and Flaming Thunder

Lie Lie.1296 at gmail.com
Wed May 14 00:51:05 EDT 2008


On May 13, 11:36 pm, Dave Parker <davepar... at flamingthunder.com>
wrote:
> > ... there's something that feels very unnatural about writing English as code.
>
> I think it is ironic that you think Flaming Thunder is unnatural
> because it is more English-like, when being English-like was one of
> Python's goals: "Python was designed to be a highly readable language.
> It aims toward an uncluttered visual layout, using English keywords
> frequently where other languages use punctuation."http://en.wikipedia.org/wiki/Python_(programming_language)#Syntax_and...

Python was designed to be _highly readable language_. It aims toward
_uncluttered visual layout_, using _English keywords ... where other
languages uses punctuation_.

Where in that statement, that says Python aims to be English-like? It
only says Python uses English keywords instead of punctuations such as
curly braces, &&, ||, etc which is remotely far away from trying to be
English-like. What I see is that, FT in its current form, aims to be a
readable language, which doesn't concern itself for cluttering the
code's visual layout.

   Verbosity ≠ Readability

I even remembered someone saying that probably one of Python's goal is
to make you from press only the necessary keystrokes. If I don't
misremember it, it was in Thinking in Python.

> > Just using your "Set ... to" idiom, rather than a
> > regular = assignment, makes things much more wordy, without improving
> > readability.
>
> I think it does improve readability, especially for people who are not
> very fluent mathematically.

But it hurts readability for people who prefers simplicity over
everything and that means you've just violated KISS design principle
(Keep It Simple, Stupid) which is also a persistent feature in UNIX
philosophy (Small is beautiful, Rule of Simplicity), and Python's Zen
(Simple is better than Complex).

> Also, in Python how do you assign a symbolic equation to a variable?
> Like this?
>
> QuadraticEquation = a*x^2 + b*x + c = 0
>

Last time I checked, it was a syntax error there.

> Set statements avoid the confusion of multiple equal signs when
> manipulating symbolic equations:
>
> Set QuadraticEquation to a*x^2 + b*x + c = 0.
>

(snip)



More information about the Python-list mailing list