Is Python a Zen language?

John Coleman jcoleman at franciscan.edu
Sat Feb 25 14:30:45 EST 2006


Bryan Olson wrote:
> John Coleman wrote:
> >    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.
>
> I think that's a horrible classification. Every language is both.
> "Transform your way of thinking" from what? There is no
> distinguished canonical view of what a programming language looks
> like, from which all others must be strange and wondrous
> transformations.
>
> Lisp and Forth are not tools for programming a computer? Of course
> they are. Algol and Java don't transform people's thinking about
> programming? Nonsense.
>
>
> --
> --Bryan

You seem to have completly overlooked both the hedge word "rough" in my
first sentence and the qualifications in my third paragraph. I probably
was not sufficiently clear that I was describing some fairly sunjective
impressions.  It is a simple observation that devotees of the Scheme
language view their language as more than *just* a tool for programming
computers. To quote from the introduction to the first edition of SICP:

"we want to establish the idea that a computer language is not just a
way of getting a computer to perform operations but rather that it is a
novel formal medium for expressing ideas about methodology"
(http://mitpress.mit.edu/sicp/full-text/book/book.html).
It is also a simple observation that experts in VBScript *don't* walk
around talking like that. Scheme and VBScript are of course both Turing
complete, but they seem to have radically different cultures. Do you
disagree? Or, if you agree that there is a difference but don't like
the words "Zen" vs. "tool" to describe it, how would you articulate the
difference?

Again, just curious.

-John Coleman




More information about the Python-list mailing list