Subject: Re: Is there a useful distinction between "programming" and "scripting" languages?
From: Erik Naggum <erik@naggum.no>
Date: 19 Sep 2002 02:32:54 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3241391574003007@naggum.no>

* 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.