[Prev][Next][Index][Thread]

Re: the point of (any) semantics, was Re: semantics for F_{sub,rec} ??




I thought I'd add a few things to the "provocative rant" category.

(0) I'm a reformed type theorist, and I believed all the gospel, just
like everybody else on this list.  Since that time, I've moved into
the industrial application of programming language technology, in a
sense that can only be summarized as "as real as it gets".

And yet, I've found that languages like Perl are critical tools, and
for good reasons that people on this list would appreciate.  It isn't
all dross over in the land of programming language research and
semantics.

[Bluntly put, it took Larry Wall (a SYSTEMS ADMINSTRATOR) to convince
the world of the value of CommonLisp.  Think about it.  Think hard
about it.  'cos it is true, and a really disappointing statement about
the entire programming-language community.]

I've even found uses for ML -- real uses for ML, where I can make
money, and we're talking enterprise transaction-processing money, not
NSF grant money.

(1) Examples of problems arising in languages like ML, or in cute
theoretical ideas like "Generic Java" are uninteresting and
unconvincing to the Great Unwashed.

(2) When arguing that some example is a proof of the value of a
particular brand of semantics, it is IMPORTANT to validate that the
example could not be done more easily in some OTHER brand of
semantics.

Here are some corollaries:

  (a) go find a problem in C, or Java, or SQL.  Don't bother
  systems-builders with examples from ML -- they'll tell you they knew
  your languages were bogus all along, and they'll go back to
  programming in C.

  (b) CRITICAL: Don't expect non-theorists to understand or appreciate
  that your semantics helped a _theorist_ solve a problem.  What he,
  like the National Science Board, cares about, is that you solve
  problems that have impact _outside_ your field.  Otherwise, you're
  just another brand of artist.

  (c) Don't try to justify enormous towers of theory, on the basis of
  work done using simple tools and simple ideas.  People can tell.

--chet--

References: