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