Subject: Re: Microsoft Common Lisp?
From: Erik Naggum <erik@naggum.no>
Date: 1997/02/04
Newsgroups: comp.lang.lisp,comp.lang.scheme,comp.lang.misc
Message-ID: <3064007841878975@naggum.no>


[comp.arch removed]

* Cyber Surfer
| Some of the problems of langage politics is a blind insistance on
| adhering to standards.

adhering, yes; blind, no.

language standards are specifications to which implementors (vendors) are
held responsible.  without such specifications, implementors would seek to
implement anything they wanted that seemed useful, and thus making the
_language_ less reliable and less useful.  I'm a language guy, and so to me
the stability of a language is directly related to how much I dare express
in that language.  if I were an "app" guy, I would probably be interested
more in how much I _could_ express in a language to "get some work done".
put another way, I ask what an expression in a language means, and if I
worry about what an expression _does_, it is only because what it means is
not sufficiently well-defined for me to trust it.  I believe the Sapir-Worf
hypothesis that languages determine what we can think about, and I worry
that if language loses meaning and instead is redefined in terms of actions
or operations, we lose sight of the main value of languages: abstraction.

however, Microsoft (and others) does not seem to think that specifications
are at all useful until long after the fact.  many programmers think
specifications are a drag, and try to avoid them.  by requiring that a
vendor adhere to the specifications for what they say they are selling, we
do nothing more than is already required in any other industry.  it is when
we accept that a vendor can produce anything it wants and push changes on
its customers with impunity that we do make serious departures from
established practice in good engineering.  I don't think this merits a
label like "blind adherence".

unfortunately, standards are themselves political vehicles, and whether a
standard is good or bad depends on many factors.  however, when a standard
is no good, you don't see very many people adhere to it, although you may
still find parts of the corporate culture buying very expensive hype, in
blatant disrespect for technical expertise.  this is symptomatic of the way
standards are treated -- decisions are made by non-technical people who are
more interested in pecuniary matters than either technical or human.

I found http://www.javasoft.com/people/jag/StandardsPhases/index.html to be
a succinct summary of the many thoughts I have also made during the 5 years
I worked with ISO standardization (1991-1996).  I grew to hate the
political nonsense and the growing desire for ISO to push uniqueness the
way commercial entities do to attract customers.  instead of serving the
technical communities, ISO has changed its focus to serve the marketing
departments, with the attendant lack of interest in technical problems.
ideally, Working Groups should be working groups, and the political stuff
should not take place until after the drafts and recommendations reached
Sub-Committee (or Technical Committee, where the WG or Special WG is
directly under the TC) level.  however, to an increasing degree, vendors
send political representatives to WG meetings who don't contribute with
technical expertise, but rather block progress for non-technical reasons.
or they make political "demands" instead of presenting their case in such a
way as to encourage others to follow.  ideally, a working group should only
vote for technical reasons, not for political reasons.

#\Erik
-- 
1,3,7-trimethylxanthine -- a basic ingredient in quality software.