Subject: Re: Is there a useful distinction between "programming" and "scripting" languages? From: Erik Naggum <firstname.lastname@example.org> Date: 19 Sep 2002 02:32:54 +0000 Newsgroups: comp.lang.lisp Message-ID: <email@example.com> * Erann Gat | The argument about whether HTML is or isn't a "programming" language | reminded me of something I've been wondering about for a while: is there a | useful distinction to be made between "programming" and "scripting" | languages? My personal opinon is that there is not, but I'd like to know | what others think. * Michael Sullivan | I think there's a distinction, but (a) it's not hard and fast, and (b) | scripting is a subset of programming -- they are not completely different | things. This thread puzzles me greatly, so I have to ask a pretty stupid question because I realize that I may have an invalid assumption as to what people mean by something I have taken for granted for years. If I say that there is a distinction between A and B, I intend to communicate that the set of A things and the set of B things are not identical, as they would be if there were no distinction between A and B, but this does not preclude one from being a subset of the other. Quite the contrary. A subset relation is distinctive. I read several responses to this question to mean that others would say that there is a distinction between A and B only if no A is a B and no B is an A and that a subset relation is /not/ a distinction. I take the many responses that people have posted about this to mean that a distinction exists between A and B if they are at the same hierarchical level in some model or other and that subset relations are a different kind of animal altogether. Since I have no other word for this subset relation than distinction, I wonder how this works. For instance, one might say that there is a distinction between a computer and a personal computer in that a computer is not restricted to one-person use, but a personal computer is. Some people here would, I presume, answer "no, there is no distinction, personal computers are a subset of computers", which does not communicate "there is no distinction" = "they are the same", but "there is no distinction" = "subsets are a different kind of not-sameness than distinctions". In this model of usage, there would be a distinction between a server and a personal computer, because both are refinements of the concept "computer" at some notion of the "same level", but there would not be a /distinction/ between a computer as the superclass and the server as the subclass. Since we have discussed hierarchical classifications and ontologies lately, as well, I wonder if there is not something deeper going on in here that has some influence on how people approach classification. It may be useful to know that I had first approached classification in libraries before I found books about computers in the libary whose math section I had devoured, and that I was taught the basic ten classes in Dewey before I was ten myself. The reason I brought up Dewey's just recently was that the 5th Norwegian edition had been completed and announced with some fanfare in circles I had not worked with for several years; yet it occurs me that much of my thinking about concepts and ontologies has indeed been shaped by Dewey's in ways I have not been fully aware. For instance, a simple concept like an automobile could have one classification and the particular kind of automobile known as sports utility vehicles another, subordinate to automobiles, but people who object to distinction would presumably never classify anything as automobiles but would have to classify non-SUVs in a new, separate class and would be unhappy to find that there was a category for SUVs but that both other kinds of automobiles and automobiles in general had a class that appeared both to subsume SUVs and not. The same problem comes up with comp.lang.lisp and Common Lisp and Scheme. Some people have strongly objected to requests not to discuss Scheme matters in the "general Lisp newsgroup" even though Scheme has its own specialized newsgroup, because, presumably, it should be allowed since the general category subsumes the more specific. It occurs to me that the objections have been over fundamental differences in concept-formation and hierarchical organization of knowledge rather than over "is Scheme a Lisp?". As I started to wonder about this, I also realized that some of my failure to understand objections to classifications that have appeared absolutely natural to me may not be obvious without a similar background, and that the reason for what I see as ignorance and wheel-reinvention in the Semantic Web community may come from different schools of thought. I do not, however, believe that I have been "brainwashed" by Dewey's classification but rather that I found it so amazingly natural that I internalized it effortlessly, but I have also not been obsessing about it and "thinking in Dewey numbers" when I read books or articles. It has therefore not been conscious when I have organized my own 1350-volume library roughly along Dewey lines by having sections of my apartment dedicated to their own areas. This has likewise not been conscious when I have objected to discussing some topic X in a newsgroup for super-X when X had its own newsgroup. From another point of view, that two things have similarities and might be the same for some purposes, does not mean that they are not distinct for other purposes, nor vice versa. Therefore, "A and B are distinct" does not mean that A and B are not the same in /some/ respects, any more than "A and B are the same" does not mean that they are not distinct in /some/ respects, for the obvious reason that no two things are identical. Likewise, I would tend to discuss some specialized class of things in their more general setting without having a strong urge to point out that the more general meaning is intended or that I did not mean the specialized class only, but I do object to statements that attempt to make attributes stick to the broader class when the observations have only been about a narrower class or about individuals whose classification is all but certain, mostly because such statements are noxious pollutants in the information flow; they are the seeds of many false yet unchecked conclusions. This applies to statements about Scheme that are imputed to Lisp in general, to statements about the self- destructive black ghetto culture imputed to blacks in general, to statements about the most dangerous president of the United States ever imputed to the American public, to statements about Nigerian §419 advance fee scams and African businesses in general, and other similar rather obvious instances. Subsets and supersets appear to pose a philosophical problem of some sort. I have obviously not solved the problem, since I am only beginning to become aware of it, but I wonder if most people are equally unaware of how they deal with classification. The discussion on the use of Dewey in particular showed that there are implicit assumptions at work at some level and that I have just been "lucky" to have been exposed to the Dewey model and perhaps other models that are very similar to it. This model obviously works sufficiently well that I have not (hitherto) noticed any fault in it. I can only imagine that most other people have the same observations for their models. Worse, I have not found any serious discussion of this topic in the philosophy I have read other than the exposition of systems of concept-formation that I already accepted. I may even have "chosen" those philosophy texts because they fit some early, pre-conceptual model that made sense. Others I have talked to over the years have also reported that they picked their philosophies and even (non-inherited) religions based on reading lots of material and slowly focusing on things that made more sense than others. I have long known that what makes sense to people is a part of their personality but fairly recently (a couple years) became aware that how a person forms expectations and deals with frustrations thereof is also a personality trait. I do not exclude the possibility that concept-formation and classification are also personality traits or similarly deeply ingrained and unquestioned, as (1) it appears to be hard to parameterize (no philosophers I know of have described and used more than one model, but I would appreciate evidence of counter-instances), (2) many deeply rooted disagreements and misunderstandings appear to be explainable in terms of differences in classification models or systems, (3) most discussions about ontology breaks down with people choosing a small set of diverging ways. To wrap this up, it appears that a simple question such as asking if there are distinctions or a distinction between scripting languages and programming languages implicitly requests the responder to reveal parts of his scheme for classification or theories of concept-formation, but since this is such a deepl ingrained issue, disagreements and confusions result when the nature of distinction and sameness are not made explicit. The question might therefore more productively be posed to learn how people have classified languages in either category, and the to see whether any of the four possible categories (A) non-scripting, non-programming languages, (B) scripting, non-programming languages, (C) non-scripting programming languages, (D) scripting programming languages, are empty and under which conditions each language would be put in each category. For instance, I would put HTML in category A, but I wonder what those who consider it a programming would do with the scripting aspect. I apologize for the fuzzyiness of the preceding, I realize that I may be groping in the dark for the proverbial black cat in the coal cellar that may or may not be there. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.