On Sun, 26 Feb 2006 12:48:47 -0800, Crutcher wrote: > 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. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list