Is Python a Zen language?

C

Crutcher

You are a very silly person. You have tripped so many of my internet
bullshit triggers that I think perhaps you are trolling. All languages
alter the way you think. They structure the nature of questions you can
ask, and problems you can solve.

Do you understand 'Zen', by which I mean, have you devoted at least 5
years of study (real, 5+ hrs/week studdy) to it? (btw, I have not). If
your answer is no, then you are just using this to be cool.

And if you can say 'no value judgment is intended by my
classification', you have absolutely no right to talk about the nature
of language, let alone go about labeling things 'Zen languages'.
Honestly, classification is an act of valuation, it requires an
introspective assesment of your personal language system. This stuff is
_old_, not new, not novell.

Go read a book.
Like this one: http://www.aber.ac.uk/media/Documents/S4B/the_book.html
 
T

The Eternal Squire

Kay said:
There is something that worries me about Lisp. If you are interested in
the history of Lisp and some non-technical aspects of its culture I can
recommend the writings of Richard Gabriel, who was one of the leaders
of the CL standardisation commitee and founder of the Lisp company
Lucid in the mid 80s that gone down a few years later. As it turned out
that time Lisp was not capable to survive in what we call today a
"heterogenous environment". It was strongly too self-centered. So I
would actually invert you categories and say that a good tool achieves
to have a non-dual nature instead of a strong I. With Lisp you might be
a god but according to the Zen philosophy a god is a subordinated
character that preserves the illusion of self-identity. A fine thing
about a tool in this context is that you have to define its identity by
a relationship to something that it is not.

I have at times the impression that many people who talk about Zen
philosophy confuse it with some home brewn mixture of platonism with
its transgressive move towards the true reality, a stoic hedonism of
contemplation and the taoistic being-in-doing. Zen on the other side is
more radical: if you erase yourself there is no-one "who" is in the
flow but chances are that you and the computer over there are the same
thing.

Kay

Too right. If programming language was Zen there would be no
keyboards, just a telepathic interface.

But I have to admit I enjoy a solidly platonic relationship with
Python. I prefer to
write things in the most beautiful way rather than in the most
efficient. Its cost me a couple jobs, but the integrity of the product
always remains intact.

The Eternal Squire
 
J

John Coleman

Crutcher said:
You are a very silly person. You have tripped so many of my internet
bullshit triggers that I think perhaps you are trolling. All languages
alter the way you think. They structure the nature of questions you can
ask, and problems you can solve.

Do you understand 'Zen', by which I mean, have you devoted at least 5
years of study (real, 5+ hrs/week studdy) to it? (btw, I have not). If
your answer is no, then you are just using this to be cool.

And if you can say 'no value judgment is intended by my
classification', you have absolutely no right to talk about the nature
of language, let alone go about labeling things 'Zen languages'.
Honestly, classification is an act of valuation, it requires an
introspective assesment of your personal language system. This stuff is
_old_, not new, not novell.

Go read a book.
Like this one: http://www.aber.ac.uk/media/Documents/S4B/the_book.html

If appearing silly is the price of satisfying your curiousity then so
be it. I would, however, like to point out that there is a well
established usage of the word "Zen" in computer science. A trip to
almost any bookstore will unearth many books with titles like "Zen and
the Art of Cascading Style Sheets", etc. A similar usage appears with
the word "Tao", e.g., "The Tao of Objects". These usages seem to point
to a deep, intuitive understanding that eludes many beginners and is
difficult to put into words. My point is simply that, for some
languages L, "Zen and the art of L" or "The Tao of L" are plausible
titles ("Zen and the Art of Lisp Programming" would be plausible) but
for some languages they wouldn't ("The Tao of Fortran" ?) Do you
disagree? If you do, how would *you* articulate the difference in
culture between something like Scheme and something like Fortran?

I have no doubt that this usage of terms from Eastern Mysticism must be
annoying to someone such as yourself who has actually studied it, but
the genie can't be put back into the bottle. It is no longer really
plausible to be a purist regarding words like "Zen" or "Tao" - it just
makes you appear pedantic.

Hopefully I have tripped less of your "internet bullshit triggers" this
time. If not, you should really adjust your settings.

-John Coleman
 
?

=?iso-8859-1?B?QW5kcuk=?=

Wouldn't that be "novel"? Or, perhaps I should rather ask:
Do you understand 'novell', by which I mean, have you devoted at least
5 years of study (real, 5+ hrs/week study) to it? (btw, I have not...
but I have used Novell software products for longer than that ;-)
If appearing silly is the price of satisfying your curiousity then so
be it. I would, however, like to point out that there is a well
established usage of the word "Zen" in computer science.
[snip; excellent answer from John deleted.]
-John Coleman

If I may add: word and their usage is constantly evolving, sometimes
through mistakes, other times through borrowing from other languages or
disciplines. (my favourite is the transcription mistake of the word
"collineare" where the hand-written "ne" was transcribed as "m",
leading to the English word "collimate" ... but I digress.)
Some "purist", like the Academie Francaise (or, apparently "Crutcher")
seem to believe that "one" can restrict the meaning of words, or the
evolution of language. The rest of us are happy to let language
evolution take place to facilitate communication. Kudos to John for his
examples of usage of "zen" and "tao" in computer related disciplines.

Personally, I would say that Python is a zen language, not so much in
the sense that it transforms the way of thinking, but rather as it
doesn't get in the way of thinking.

André
 
B

bonono

André said:
Some "purist", like the Academie Francaise (or, apparently "Crutcher")
seem to believe that "one" can restrict the meaning of words, or the
evolution of language. The rest of us are happy to let language
evolution take place to facilitate communication.

So instead of Zen of Python, we can also call it Spam of Python ?
 
K

Kay Schluehr

André said:
If appearing silly is the price of satisfying your curiousity then so
be it. I would, however, like to point out that there is a well
established usage of the word "Zen" in computer science.
[snip; excellent answer from John deleted.]
-John Coleman

If I may add: word and their usage is constantly evolving, sometimes
through mistakes, other times through borrowing from other languages or
disciplines.

Of course we can refer to "Zen as the term is used in popular culture"
but its like deriving knowledge about taoism listening to Yoda or
watching "Kung Fu".

Kay
 
C

Crutcher

My point is simply that, for some languages L,
"Zen and the art of L" or "The Tao of L" are plausible
titles ("Zen and the Art of Lisp Programming" would be plausible) but
for some languages they wouldn't ("The Tao of Fortran" ?)
Do you disagree?

No, I don't disagree that people do this. The history of "Zen and the
Art of X" dates from "Zen and the Art of Motorcycle Repair", which is
actually about Zen and Motorcycles. Really. It is also a cool title,
and people have used it, and used it, and used it. I suspect that the
rash of "The Tao of X" is based upon "The Tao of Pooh" (which is
actually about Tao and Pooh, the bear), but I'm not as comfortable
making the claim that these titles are all descendent.
I have no doubt that this usage of terms from Eastern Mysticism must be
annoying to someone such as yourself who has actually studied it, but
the genie can't be put back into the bottle. It is no longer really
plausible to be a purist regarding words like "Zen" or "Tao" - it just
makes you appear pedantic.

First, my exposure to estern mysticism is limited (probably less than
100 hours). I think I made that clear in my post. Second, when you ask
"Is X a Zen Language", you are asking for a pedantic discussion.

If you seek clarity in language classification, you should not start
the discussion by hijacking terms which are not understood. Adding
mystery to a difficult discussion does not answer any questions, it
just makes the discussion seem cooler.

My central thesis: you are using a poor understanding of language to
classify languages into things you understand (tool languages) and
things which _you_ find 'deep' (and difficult to learn), which you call
'Zen languages'. This is ridiculous, e.g. deserving of ridicule. I am
being mean because you are engaging in mental masturbation in public,
and I'm worried that you might convince someone.
 
A

Alex Martelli

Crutcher said:
No, I don't disagree that people do this. The history of "Zen and the
Art of X" dates from "Zen and the Art of Motorcycle Repair", which is

That's Maintenance, not Repair. Subtle but important distinction.


Alex
 
S

Steve Holden

Alex said:
That's Maintenance, not Repair. Subtle but important distinction.
Since the purpose of much maintenance is to avoid the necessity for repair.

regards
Steve
 
S

Steven D'Aprano

My central thesis: you are using a poor understanding of language to
classify languages into things you understand (tool languages) and
things which _you_ find 'deep' (and difficult to learn), which you call
'Zen languages'. This is ridiculous, e.g. deserving of ridicule. I am
being mean because you are engaging in mental masturbation in public,
and I'm worried that you might convince someone.

I've already given my opinion on the classification of languages into two
dichotomies, namely, that it is wrong to classify languages as tool-like
or Zen-like [emphasis on the "or"]. They can be both.

But your objection to the Original Poster's question is as ridiculous as
you claim his question is. There is no ridiculousness to the concept that
a programming language might be designed with crank-the-handle
practicality in mind, and that another might be designed with academic
purity and elegance in mind. Perl is a tool, you generally use it when you
want a quick and dirty solution to some problem, not when you want a deep
theoretical understanding of the problem. We can argue about whether
programming in Lisp is fast, but the language is certainly designed for
theoretical elegance.

Cobol is an even more so workman-like tool language. It is Turing
Complete, so anything you can do in Lisp you can do in Cobol, but nobody
would want to.

Where the OP got it wrong was his assumption that a language can be one or
the other but not both: practicality and purity are not opposites.

Most people are capable of recognising the OP's two extremes. On the one
hand, there are languages that are easy to use but not deep: they make
easy things easy to do, if not mechanical, but hard things are impossible.
On the other hand, there are languages that require great study and
theoretical planning even to do the basics.

But since easy and deep are orthogonal concepts, not opposites, you also
have languages that are easy to learn as well as deep. They tend to make
easy things simple, and hard things, if not as simple, at least easier.

There are even be languages that are difficult to learn, difficult to
use in practice, and yet not very deep or elegant. For example, Intercal
and the other Turing complete joke languages.
 
A

Andrea Griffini

I think that the classification has some meaning, even if of course any
language has different shades of both sides. I'd say that with python
is difficult to choose one of the two categories because it's good both
as a pratical language and as a mind-opener language.

IMO another language that would be hard to classify is COBOL ... but
for other reasons :)

Andrea
 
C

Cameron Laird

.
.
.
Lucid in the mid 80s that gone down a few years later. As it turned out
that time Lisp was not capable to survive in what we call today a
"heterogenous environment". It was strongly too self-centered. So I
.
.
.
Smalltalk, too. And, in a different way, Pascal.

One of Guido's explicit goals from the beginning of
Python was that it would play nicely with the outside
world.
 
P

Paul Rubin

Crutcher said:
No, I don't disagree that people do this. The history of "Zen and the
Art of X" dates from "Zen and the Art of Motorcycle Repair", which is
actually about Zen and Motorcycles.

Actually "Zen in the Art of Archery" by Eugen Herrigel, which was
about an actual classical Zen approach to archery. The motorcycle
book title was sort of a homage but the contents are totally
different.
 
N

none

Cameron said:
.
.
.


.
.
.
Smalltalk, too. And, in a different way, Pascal.

I had the same thought. Smalltalk is a wonderful environment but it
doesn't really play well with others. Smalltalk really wants to be
*the* environment where the language is just a scripting tool within
this larger environment of object manipulation, and it's really cool at
that, but as a language for 'business apps' ina heterogenous
environment out it's own image, it's akward sometimes
 
M

Mc Osten

IMO another language that would be hard to classify is COBOL ... but
for other reasons :)

According to Dijkstra:

"The use of COBOL cripples the mind; its teaching should, therefore, be
regarded as a criminal offence."

That makes Cobol a Zen language (since it not only changes, but also
cripples the mind).

And BASIC too:
"It is practically impossible to teach good programming to students that
have had a prior exposure to BASIC: as potential programmers they are
mentally mutilated beyond hope of regeneration."
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top