Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Is Python a Zen language?

Reply
Thread Tools

Is Python a Zen language?

 
 
John Coleman
Guest
Posts: n/a
 
      02-25-2006
Greetings,
I have a rough classification of languages into 2 classes: Zen
languages and tool languages. A tool language is a language that is,
well, a *tool* for programming a computer. C is the prototypical tool
language. Most languages in the Algol family are tool languages. Visual
Basic and Java are also tool languages. On the other hand, a Zen
language is a language which is purported to transform your way of
thinking about programming. Lisp, Scheme, Forth, Smalltalk and (maybe)
C++ are Zen languages. Disciples acknowledge that it is difficult to
pick up these languages but claim that, if you persevere, you sooner or
later reach a state of computational satori in which it all makes
sense. Interestingly enough, these languages often have books which
approach scriptural status e.g. SICP for Scheme.

So (assuming my classification makes sense) which is Python? The
emphasis on simplicity and the beginner-friendly nature of it seems to
put it in the tool category. On the other hand, the emphasis on the ONE
TRUE WAY to accomplish most tasks and the tendency for participants in
this newsgroup to criticize one another's code as being "unpythonic"
seems to move it towards the Zen category. Of course, even tool
languages have their idioms which the novice needs to pick up, so maybe
this isn't decisive, but I detect an element of zeal in this newsgroup
that I don't detect in (say) Excel VBA programming newsgroups.

No value judgement is intended by my classification. There is no
denying that Zen languages are often very powerful tools (for those who
have reached satori) and that there is a Zen to really mastering, say,
C. Personally, I have never been able to master any Zen language but
can pick up tool languages fairly quickly, so I prefer tool languages.
This is probably because I am not a programmer (I'm a mathematician who
likes to program as a hobby and for numerical simulations) and so don't
have the time to invest in picking up a Zen language. Hard-core hackers
might presumably lean towards the Zen languages.

Just curious

-John Coleman

 
Reply With Quote
 
 
 
 
bonono@gmail.com
Guest
Posts: n/a
 
      02-25-2006
don't know but there is "Zen of Python".

 
Reply With Quote
 
 
 
 
Ron Stephens
Guest
Posts: n/a
 
      02-25-2006
Actually, Python has the distinction of being both a great tool
language *and* a great Zen language. That's what makes Python so cool
))

Ron Stephens
Python411
www.awaretek.com/python/index.html

 
Reply With Quote
 
Alex Martelli
Guest
Posts: n/a
 
      02-25-2006
Mu.
 
Reply With Quote
 
John Coleman
Guest
Posts: n/a
 
      02-25-2006

Ron Stephens wrote:
> Actually, Python has the distinction of being both a great tool
> language *and* a great Zen language. That's what makes Python so cool
> ))
>
> Ron Stephens
> Python411
> www.awaretek.com/python/index.html


This would explain why the question is so hard to answer. It is a
slam-dunk that Lisp is Zen and VBA is tool - but python really is a bit
hard to classify. This is somewhat similar to the way that python seems
to straddle the gap between imperative and functional languages. It has
something from each worlds (whether it has the *best* from each world
is a separate question)

-John Coleman

 
Reply With Quote
 
thattommyhallll@gmail.com
Guest
Posts: n/a
 
      02-25-2006
GEB perhaps?

 
Reply With Quote
 
Max Erickson
Guest
Posts: n/a
 
      02-25-2006
Given that python code is often described in terms of being 'pythonic' or
not, and that pythonic is a term that is apparently well agreed upon yet
seemingly impossible to define for someone who does not already understand
the word, python is probably a zen language.

max


 
Reply With Quote
 
Kent Johnson
Guest
Posts: n/a
 
      02-25-2006
John Coleman wrote:
> Greetings,
> I have a rough classification of languages into 2 classes: Zen
> languages and tool languages. A tool language is a language that is,
> well, a *tool* for programming a computer. C is the prototypical tool
> language. Most languages in the Algol family are tool languages. Visual
> Basic and Java are also tool languages. On the other hand, a Zen
> language is a language which is purported to transform your way of
> thinking about programming. Lisp, Scheme, Forth, Smalltalk and (maybe)
> C++ are Zen languages. Disciples acknowledge that it is difficult to
> pick up these languages but claim that, if you persevere, you sooner or
> later reach a state of computational satori in which it all makes
> sense. Interestingly enough, these languages often have books which
> approach scriptural status e.g. SICP for Scheme.
>
> So (assuming my classification makes sense) which is Python?


Expanding on what Alex said

Python is an excellent tool language, it is very pragmatic and powerful
and makes it (relatively) easy to just get stuff done.

Python has one of your 'zen' aspects - using Python has definitely
expanded the way I think about programming. Powerful built-in support
for lists and dicts, first-class functions and easy introspection enable
a style of programming that is difficult or impossible in Java and C++.

But Python is not difficult to pick up - it is notably easy - and I
don't think anyone claims it leads to computational satori - it's more
an attitude of "try it, you'll like it!". Using Python does seem to
spoil people - I for one hate to code in Java now. Maybe "bliss" is a
better word for it than "satori".

Kent
 
Reply With Quote
 
=?iso-8859-1?q?Luis_M._Gonz=E1lez?=
Guest
Posts: n/a
 
      02-25-2006
I don't know if python is Zend.
It's quite minimalistic and it "flows" very well, so I guess it is a...
"Feng-shui" language?

 
Reply With Quote
 
Terry Reedy
Guest
Posts: n/a
 
      02-25-2006

"John Coleman" <> wrote in message
news: oups.com...

an interesting statement and question.
....
> So (assuming my classification makes sense) which is Python? The
> emphasis on simplicity and the beginner-friendly nature of it seems to
> put it in the tool category. On the other hand, the emphasis on the ONE
> TRUE WAY to accomplish most tasks and the tendency for participants in
> this newsgroup to criticize one another's code as being "unpythonic"
> seems to move it towards the Zen category.

,,,

An 'emphasis on the ONE TRUE WAY' would not be pythonic
Sorry you got that misimpression.

For the Zen of Python, type 'import this' at an interactive prompt.
One of the lines is

'There should be one-- and preferably only one --obvious way to do it.'

This is intentionally more nuanced, and practical, than your paraphrase.

I agree with the 'both' answer.

Terry Jan Reedy



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
creative zen/zen micro Thomas Computer Information 0 12-24-2004 04:58 AM
RE: What's the meaning of Dutch in "The Zen of Python" Tim Peters Python 1 05-20-2004 03:11 AM
What's the meaning of Dutch in "The Zen of Python" Li Daobing Python 2 05-19-2004 01:33 PM
Re: Making the Zen of Python more useful Dave Python 4 04-03-2004 04:07 AM
Making the Zen of Python more useful Andrew Henshaw Python 10 04-02-2004 09:22 PM



Advertisments