Is Python a Zen language?

Kent Johnson kent at kentsjohnson.com
Sat Feb 25 11:06:58 EST 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



More information about the Python-list mailing list