[net.lang] Standardization

g-inners@gumby.UUCP (02/08/85)

Indeed, there is no accepted standard for Pascal.  The original is
incomplete, and the extensions are largely incompatible.  Why does
this happen?  Is it bad?  How can it be avoided (if bad)? These are far
more interesting topics than the current low-content argument about 
whether Original C is different from Current C (this is true for any 
language I can recall), or whether an ISO Standard is a standard
(clearly in some sense it is).

The root of incompatability would appear to be an incomplete or flawed
orginal design.  The missing OTHERWISE in Pascal's CASE, or the
a =- 2/ a = -2 ambiguity in C are examples.  Implementors attempt
to correct these problems.  Since many implementations occur simultaneously
and without communication, these corrections differ.  Once this occurs,
incompatability is impossible to root out.  If I am to produce an
upward-compatable parallel processing variant of Pascal, which version
do I base it on?  If it is the original, I've joined the problem (yet
another extension of the original...).  If it is based on another
extension,  it will not be upward compatable with any of the others.

Basing the choice on the most popular version may be a good idea, but
'most popular' need not be 'the best'.  Extensions may also be incomplete
or flawed.  My ideas may be incomplete or flawed.  ISO Standards (or ANSI,
for that matter) may be incomplete or flawed.

I'm going to advance the thesis that sticking to Standards or attempting
to be compatible may be a BAD thing in some cases.  There are clear
advantages to being able to port either one's actual programs or at
least one's knowlege about programming in a language.  However, Computer
Science in general, and language design in particular, is nowhere near
advanced enough for a good standard to be advanced.  There is so much
room for advancement and improvement that locking into a standard would
be counter-productive.

I'm not claiming that standards should be actively ignored.  It would
be good if those things on which there is wide agreement could be
standardised.  However, is the right way to handle conformant arrays
well enough understood for a standard to be adopted?  Certainly this
is not the case for concurrent programming!

On the other hand, differences are often silly (is it OTHERWISE, OTHERS,
or ELSE in a CASE statement?).  Perhaps new compilers should attempt
to standardise on 'all of the above'.  It would certainly be more productive
than arguing about it.
				-- Mike Inners

"If wide portability was the determining factor, we would all be using
    FORTRAN on OS/360!  :-)."

jlg@lanl.ARPA (02/08/85)

> I'm going to advance the thesis that sticking to Standards or attempting
> to be compatible may be a BAD thing in some cases.  There are clear
> advantages to being able to port either one's actual programs or at
> least one's knowlege about programming in a language.  However, Computer
> Science in general, and language design in particular, is nowhere near
> advanced enough for a good standard to be advanced.  There is so much
> room for advancement and improvement that locking into a standard would
> be counter-productive.

I never said anything about 'locking into' a standard.  But, in the absence
of well thought out reasons to the contrary, a standard should be your
starting point.  I'm a great supporter of standards.  It irritates me
when one fails to take hold.  Perhaps this is because I spend a lot of
time figuring out how to port code or how to write code that's easy for
others to port.  Attempting to be compatible with a standard is generally
a good idea in any case because standards committees have usually spent
enormous effort in resolving difficulties that most (even the best)
implementors may not recognize until too late.  At any rate, the favor you
do for your users by allowing them to import and export code has a value
which is difficult to estimate (but can be very large indeed).

> "If wide portability was the determining factor, we would all be using
> FORTRAN on OS/360! :-)."

Fortunately, this is just a joke.  I don't think there is enough money
on the planet to get me to work with an IBM sortware product again.  IBM
now follows the ANSI X3.9-1978 standard for Fortran anyway.

J. Giles

rf@wu1.UUCP (02/12/85)

I agree with Mike Inners (gumby!g-inners) that at times standardization is
bad.  However, he writes:

  On the other hand, differences are often silly (is it OTHERWISE, OTHERS,
  or ELSE in a CASE statement?).  Perhaps new compilers should attempt
  to standardise on 'all of the above'.  It would certainly be more productive
  than arguing about it.

Standardizing on "'all of the above'" was tried once.  The result was a
language called PL/I; incredibly complicated and incredibly difficult to
compile.  I should rather that all parties agree on one simple solution.
However, that sounds like angels in heaven, not men on earth!

				Randolph Fritz
UUCPnet:			{ihnp4,decvax}!philabs!wu1!rf

robertd@tektronix.UUCP (Bob Dietrich) (02/13/85)

> Indeed, there is no accepted standard for Pascal.  The original is
> incomplete, and the extensions are largely incompatible.  Why does
> this happen?  Is it bad?  How can it be avoided (if bad)? These are far
> more interesting topics than the current low-content argument about 
> whether Original C is different from Current C (this is true for any 
> language I can recall), or whether an ISO Standard is a standard
> (clearly in some sense it is).
> ... 
> 				-- Mike Inners
 
My first reaction is to object violently to you opening statement, but I get
the impression you are talking about "standard" and "incomplete" in highly
subjective terms. Whether you personally accept it or not, standards exist for
Pascal for both the ANSI/IEEE and ISO versions.

Turning to "standard" and "incomplete", you seem to saying that the feature
set of Pascal processors is not identical from processor to processor. Further-
more, you seem to be saying that Jensen & Wirth Pascal is not complete because
it doesn't have an 'otherwise' clause in the case statement, etc. Correct me if
I'm wrong.

As far as your definition of "standard" goes, I agree this is the case. For
better or worse, this is how one Pascal product (or for that matter, a FORTRAN
product, LISP product, database product, etc.) is differentiated from other
Pascal products. Customers look at features first, and this is also how
new features become a standard part of the language. When FORTRAN 77 was
standardized, most of the feature differences between it and FORTRAN 66 were
extensions in several FORTRAN 66 compilers. The only languages I know of that
do not have this problem (or feature) have only one implementation, a single
implementor, or the language is Ada. People seem to either take the position
that DoD's "no subset" rule for Ada will be ignored, or else kill the language.

I have found that "incomplete" is measured by the person speaking and by
the acceptance of new programming ideas over time. I have had many people
(myself included) say "Language X would be PERFECT  ... if only it had features
a, b and c." Someone else says "Language X would be FANTASTIC ... if only it
only had b, e, and f." The problem is, the union of everyone's "minimal"
extensions is alphabet soup and a gargantuan user's manual. Who is right?

Like anything that must be constructed, the implementation of programming
languages usually is finished about the time the ideas that spawned the
language are obsolete. Furthermore, the ideas behind the implementation are
not widely accepted until the implementation is widely used or publicized
("Prove it!"). Thus, it's very easy to judge yesterday's language with
today's ideas, and come up with the verdict "incomplete".

One other point is that the whole idea of standardization (formally or
informally) is to freeze a set of ideas into something that people can use
for some period of time without it changing. This results in something like
FORTRAN having millions of lines of code available, seeming immortal, and
at the same time regarded as antiquated.

                                              Bob Dietrich
                                              Tektronix, Inc.
                                              (503) 629-1727
{ucb or dec}vax!tektronix!robertd             uucp address
robertd@tektronix                             csnet address
robertd.tektronix@rand-relay                  arpa address

g-patter@gumby.UUCP (02/15/85)

> ..... Whether you personally accept it or not, standards exist for
> Pascal for both the ANSI/IEEE and ISO versions.

Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,
unless you're referring to gas stations.  It's similar to saying "multiple
universes" -- there is only ONE ("Uni").  If you have more than one "standard"
then you have none.  To say, "This is ISO standard, that's ANSI" means that
neither one of them is really STANDARD.  Sure, I can write my own compiler
and declare it to be O. W. N. Standard, but it will STILL be rejected by
some other "standard" compiler.

	-Steve Patterson, UWMadison

hopp@nbs-amrf.UUCP (Ted Hopp) (02/16/85)

> > ..... Whether you personally accept it or not, standards exist for
> > Pascal for both the ANSI/IEEE and ISO versions.

> Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,
> unless you're referring to gas stations.  It's similar to saying "multiple
> universes" -- there is only ONE ("Uni").  If you have more than one "standard"
> then you have none.  To say, "This is ISO standard, that's ANSI" means that
> neither one of them is really STANDARD.  Sure, I can write my own compiler
> and declare it to be O. W. N. Standard, but it will STILL be rejected by
> some other "standard" compiler.

> 	-Steve Patterson, UWMadison

Steve Patterson expresses a widely held misconception of the nature of
standards.  The purpose of establishing a standard is to provide a common
reference point for some purpose.  In the case of languages, of course,
it is so compiler writers can say "My compiler implements ANSI Pascal"
or "... ISO Pascal" and people KNOW what is being offered.  It can also
be turned around, so I could say "I require ANSI Standard Pascal" and
someone would know what I would buy.  The fact that there are more than
one standard for Pascal means that I have a choice of standards from which
to pick.  (Whether a choice is a good thing depends on the subject of the
standard.)  The fact that there are standards means that there is at
least one thing I can point at to indicate what I want (or have).

Standards are used to (1) foster competition, (2) provide guidance to
vendors, (3) reduce marketplace risk, (4) protect consumers; they are
(almost) never used to (5) advance technology.  None of these functions
of standards require that there be a SINGLE standard for something.  At
times, a single standard exists because there is only driving force
behind standardization; Ada is an example.  The Ada specification
started out as just that, a specification by DoD of the language they
would buy; it was not proposed originally as a "standard language" in
any sense other than that.  That it became an ANSI standard was because
of the huge market impact any DoD decision like that has.

In this country, nearly all standards are voluntary.  The few that
aren't are mandatory by explicit legislation by Congress or state
legislatures.  This is not true in other countries.  In many European
countries, for instance, if there is a national standard for X, you can
only call something X if it complies with the standard.  (Of course,
"complies" may have a strange definition, but it is defined.)
Standards have a legal standing in the international community quite
different than in this country.  ISO is where different countries hash
out how their individual national interests will be reconciled.

What makes a standard?  Giving it a name (like "O. W. N. standard")
doesn't quite do it.  Standards are established in this country by
organizations created by parties interested in the subject.  These
organizations are most effective when they associate under the umbrella
of the American National Standards Institute.  (Not a governmental
organization, by the way.) A definition becomes a standard because
there is (formal) agreement among interested parties to accept it as a
standard.  Formal are always developed through intense negotiations among
interested parties in these organizations.

There are also "de facto" standards, such as BSD 4.2.  These are
riskier to use unless you are Berkeley.  They are called standards
because the producers of the product have credibility in the
community of interested parties.  Obviously, Berkeley maintains
its credibility by treating its products as if they were formally
standardized as described above.  If it shipped a different product
every time they developed a new idea and still called it the same
thing, people would rapidly get disgusted and either walk away or
start formal standardization procedures.  (Power to the people!
(Many times, vendors standardize their products formally just
to get people to accept them.)

The formal standards setup may sound elitist, but it really is better
(in my opinion) than having legislated standards.  If you have
developed the quintessential standard for X, you still have to (1)
establish your credibility to the other interested parties and (2) sell
them your idea.  This is called "free market enterprise" and I like
it.  We are all better off if Sony has to convince its competitors that
Beta format is a good standard for video tape, rather than if Sony just
has to lobby an "independent" official standards organization.
Evidently Congress thinks so to, since that's the law.  (There are
anti-trust laws to prevent exclusionary practices by standards
organizations; one standards-setting organization [ASME, I think] got
into trouble a year or so ago because they hadn't instituted safeguards
to prevent abuse by its officers in interpreting existing standards
regarding steam boiler safety valves or some such.)
-- 

Ted Hopp	{seismo,umcp-cs}!nbs-amrf!hopp

owen@gumby.UUCP (02/19/85)

> > ..... Whether you personally accept it or not, standards exist for
> > Pascal for both the ANSI/IEEE and ISO versions.
> 
> Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,
> unless you're referring to gas stations.  It's similar to saying "multiple
> universes" -- there is only ONE ("Uni").  If you have more than one "standard"
> then you have none.  To say, "This is ISO standard, that's ANSI" means that
> neither one of them is really STANDARD.  Sure, I can write my own compiler
> and declare it to be O. W. N. Standard, but it will STILL be rejected by
> some other "standard" compiler.
> 
> 	-Steve Patterson, UWMadison
> 

My American Heritage defines 'standard' as 'an acknowledged measure of
comparison for quantitative or qualitative value' and that, to the best
of my knowledge, is how both ANSI and ISO standards for Pascal function.

I've gotta believe that both ANSI and ISO can be considered standards,
depending on which set you choose to use.

						kmo

ndiamond@watdaisy.UUCP (Norman Diamond) (02/20/85)

Power to the people?  50% of the people who actually buy computers also buy
IBM's philosophy:  if IBM does it then it's standard; else it's random.
-- 

   Norman Diamond

UUCP:  {decvax|utzoo|ihnp4|allegra|clyde}!watmath!watdaisy!ndiamond
CSNET: ndiamond%watdaisy@waterloo.csnet
ARPA:  ndiamond%watdaisy%waterloo.csnet@csnet-relay.arpa

"Opinions are those of the keyboard, and do not reflect on me or higher-ups."

boris@sftri.UUCP (B.Altman) (02/20/85)

> > > ..... Whether you personally accept it or not, standards exist for
> > > Pascal for both the ANSI/IEEE and ISO versions.
> 
> > Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,
> > unless you're referring to gas stations.  It's similar to saying "multiple
> > universes" -- there is only ONE ("Uni").  If you have more than one "standard"
> > then you have none.  To say, "This is ISO standard, that's ANSI" means that
> > neither one of them is really STANDARD.  Sure, I can write my own compiler
> > and declare it to be O. W. N. Standard, but it will STILL be rejected by
> > some other "standard" compiler.
> 
> > 	-Steve Patterson, UWMadison
> 
> Steve Patterson expresses a widely held misconception of the nature of
> standards...

I think this is a matter of definition. In my opinion, the standard does
imply uniqueness, but then I am originally from Europe. Hence, I would vote
for the definition that says if there is a standard for X then only subjects
that comply with the standard can be called X. If you want more than one "standard"
pick another word, a weaker word like "flavor".
				Boris Altman
				AT&T Bell Labs Summit NJ
				{ucbvax, ihnp4, allegra}!attunix!boris

ndiamond@watdaisy.UUCP (Norman Diamond) (02/21/85)

> > Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,

Seems to me that both metres and litres are standards, though a litre is not
quite exactly 1000 cc.

Also seems to me that the U.S.A. still has "standard" feet and miles, and
TWO standard "pints", all defined in terms of the international standards.
-- 

   Norman Diamond

UUCP:  {decvax|utzoo|ihnp4|allegra|clyde}!watmath!watdaisy!ndiamond
CSNET: ndiamond%watdaisy@waterloo.csnet
ARPA:  ndiamond%watdaisy%waterloo.csnet@csnet-relay.arpa

"Opinions are those of the keyboard, and do not reflect on me or higher-ups."

tainter@gumby.UUCP (02/21/85)

> > > ..... Whether you personally accept it or not, standards exist for
> > 	-Steve Patterson, UWMadison
> My American Heritage defines 'standard' as 'an acknowledged measure of
> comparison for quantitative or qualitative value' and that, to the best
> 						kmo

But what does a dictionary definition of a word have to do with the
real world (particularly since every dictionary is at least 1 year out of date)
or the computer world at large.  Language (in the natural context) is a 
dynamic process not a static object.  Now, before you jump all over me,
I don't mean that you can't give a word any meaning you like (apologies to
Lewis Carrol), simply that the meaning of any word is the currently, and widely,
accepted meaning of that word (or phrase, or idiom, or ad nauseum).

				-- Johnathan A. Tainter,
				I am not a Number! I am a ...
				Now, what is it I am anyway??
				Hold on a moment while I look it up.

haapanen@watdcsu.UUCP (Tom Haapanen [DCS]) (02/25/85)

In article <6994@watdaisy.UUCP> ndiamond@watdaisy.UUCP (Norman Diamond) writes:

>>> Sorry.  I am of the opinion that the plural of "standard" is an oxymoron,

> Seems to me that both metres and litres are standards, though a litre is not
> quite exactly 1000 cc.

A litre is not exactly 1000 cc?  OK, let's get this straight.  The
litre (or liter) is not a SI unit, but in the (old) metric system it
is defined to be equal to one cubic decimetre.  Now, since a decimetre
equals ten centimetres, then a cubic decimetre equals 1000 cubic
centimetres.  Hence,
	1 litre == 1 dm^3 == 1000 cm^3 == 1000 cc

In addition, a kilogram (was originally defined as) the weight of one
litre of pure water at 4 degrees celsius.  I hope this helps to clarify
the issue.


				   \tom haapanen
				   watmath!watdcsu!haapanen
Don't cry, don't do anything
No lies, back in the government
No tears, party time is here again
President Gas is up for president		 (c) Psychedelic Furs, 1982

dgary@ecsvax.UUCP (D Gary Grady) (02/25/85)

<>
> Seems to me that both metres and litres are standards, though a litre is not
> quite exactly 1000 cc.

It used to be that a liter was defined to be the volume occupied by a
kilogram of water at a certain termperature (3.9 C?).  That made a liter
slightly different from 1000cc.  This was changed in the late 1960s so
that a liter IS now exactly 1000cc, to the best of my knowledge.  And,
by the way, an inch is EXACTLY 2.54cm now, and even the speed of light
is a defined constant conversion factor between meters and seconds!

However, the main point you're making I quite agree with.  It is
nonsense to suggest that there cannot be more than one standard.  If the
number proliferates one could reasonably argue that no true standard
exists, but to object to the existence of just two standards is, I
think, pointless.
-- 
D Gary Grady
Duke U Comp Center, Durham, NC  27706
(919) 684-3695
USENET:  {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary

ndiamond@watdaisy.UUCP (Norman Diamond) (02/25/85)

> A litre is not exactly 1000 cc?  OK, let's get this straight.  The
> litre (or liter) is not a SI unit, but in the (old) metric system it
> is defined to be equal to one cubic decimetre.
> 				   \tom haapanen

I learned in grade 8, regarding the old metric system, that the "equivalence"
between millilitre and cubic centimetre was valid to around six 9's (i.e.,
an error of around 1.0e-6, give or take an order of magnitude or so).  That's
not exactly.

The reason is that the metre is 1/10,000,000 of an old estimate of the distance
from the North Pole to the Equator (I do not know along which longitude).  When
the litre was later defined, it was defined according to what a decimetre would
have been if the metre had been a little more accurate in the first place.  The
metre itself was left unchanged, however.  (And you thought that such nonsense
took place only with gets() and fgets() !) 

-- 

   Norman Diamond

UUCP:  {decvax|utzoo|ihnp4|allegra}!watmath!watdaisy!ndiamond
CSNET: ndiamond%watdaisy@waterloo.csnet
ARPA:  ndiamond%watdaisy%waterloo.csnet@csnet-relay.arpa

"Opinions are those of the keyboard, and do not reflect on me or higher-ups."

g-patter@gumby.UUCP (02/28/85)

Seems like snowballing with my claim that "the plural of standards is an
oxymoron."  I thought my meaning was fairly clear, but seeing as it isn't,
I shall elucidate.....

    In one sense, standard is quite reasonably pluralized.  So is "water."
    I'm still of the opinion that if you have more than one standard, you
    have none....within a given domain.  To slightly extend the metric
    messages (:-) that have recently cropped up, does the existence of a 
    standard meter preclude the standard for anything else, anywhere else?
    You've got the right idea, but not far enough.  Conflicting standards
    within a domain DO negate each other's worth WITHIN that domain.  Oh, sure,
    you can have an ISO standard Pascal, an ANSI standard Pascal, etc....but
    this still leaves you without a <non-qualified> STANDARD PASCAL.  Within
    their respective domains, both of the above ARE standard.  But how about
    in the enclosing domain of "Pascal users, generally?"  The original
    context was that there is no unified standard.  I'm quite willing for
    you to disagree, as long as you're objecting to what I meant, not what
    I said (or didn't say)(:-).  I'll be happy to continue this rationally,
    but the metric analogies are getting to be a bit much, and don't really
    belong here anyway.

    Constructive responses to me or this group, flames to /dev/null.

    I hope I've shed a little glimmer on what was originally a bit obscure 
    (since compounded by citing out-of-context).

	-Steve Patterson, UWMadison

landauer@drivax.UUCP (Doug Landauer) (03/01/85)

Norman Diamond says:
> ... the metre is 1/10,000,000 of an old estimate of the distance
> from the North Pole to the Equator (I do not know along which longitude).

It was the longitude through the birthplace of chauvinism:  Paris, of course!

------- Doug Landauer:  ...[ ihnp4 | mot | ucscc | amdahl ] !drivax!landauer

Remember the motto of the French Revolution:  Cruelte, Brutalite, Extremite!

PS:  Bonus question -- where did *you* first hear that particular perversion
of that motto?  (I ask because I've forgotten.)

ndiamond@watdaisy.UUCP (Norman Diamond) (03/04/85)

> Conflicting standards within a domain DO negate each other's worth WITHIN
> that domain.  Oh, sure, you can have an ISO standard Pascal, an ANSI standard
> Pascal, etc....but this still leaves you without a <non-qualified> STANDARD
> PASCAL.  Within their respective domains, both of the above ARE standard.
> But how about in the enclosing domain of "Pascal users, generally?"  The
> original context was that there is no unified standard.

The standards for Pascal are much closer together than the standards for Unix.
Let's see, Unix and C have only been evolving for around 16 years, and C is
close to being standardized.  Pascal has been around for about, oh 16 years,
and is a little bit closer to being standardized.  Interesting though, current
and historical implementations of Pascal have fewer variations than for C.

Another analogy:  In North America, the residential standard for electricity
is around 120 volts, 60 cycles.  In Europe, it is around 220 or 240 volts,
50 cycles.  OK, in the enclosing domain, there's no standard.  Electricity
should not be used until this situation is remedied.
-- 

   Norman Diamond

UUCP:  {decvax|utzoo|ihnp4|allegra}!watmath!watdaisy!ndiamond
CSNET: ndiamond%watdaisy@waterloo.csnet
ARPA:  ndiamond%watdaisy%waterloo.csnet@csnet-relay.arpa

"Opinions are those of the keyboard, and do not reflect on me or higher-ups."

robertd@tektronix.UUCP (Bob Dietrich) (03/05/85)

> > > > ..... Whether you personally accept it or not, standards exist for
> > > > Pascal for both the ANSI/IEEE and ISO versions.
> 
> I think this is a matter of definition. In my opinion, the standard does
> imply uniqueness, but then I am originally from Europe. Hence, I would vote
> for the definition that says if there is a standard for X then only subjects
> that comply with the standard can be called X. If you want more than one "standard"
> pick another word, a weaker word like "flavor".
> 				Boris Altman
> 				AT&T Bell Labs Summit NJ
> 				{ucbvax, ihnp4, allegra}!attunix!boris

In some ways, my original comment has been taken out of context. The first
quote above mainly related to Mike Inners' statement: "Indeed, there is no
accepted standard for Pascal."  I went on to discuss what I thought he was
saying regarding "standard" and "incomplete", and in some ways agreed.

I think the main point is that we are not discussing "standard" in a general
way (at least I wasn't). The topic was Pascal, and my comments attempted to
address talking about "standard" in a general way versus a standard for a
programming language that has been produced by an accredited standards
organization. In the later case, it is not debatable whether there is a
standard or not. The only confusion that can arise is whether someone is
talking about a national standard (produced by an organization like ANSI) or
an international standard (ISO, of which ANSI is a member). Usually even this
is not a problem, because the ANSI and ISO standards are identical.

                                              Bob Dietrich
                                              Tektronix, Inc.
                                              (503) 629-1727
{ucb or dec}vax!tektronix!robertd             uucp address
robertd@tektronix                             csnet address
robertd.tektronix@rand-relay                  arpa address

barmar@mit-eddie.UUCP (Barry Margolin) (03/05/85)

In article <7025@watdaisy.UUCP> ndiamond@watdaisy.UUCP (Norman Diamond) writes:
>Another analogy:  In North America, the residential standard for electricity
>is around 120 volts, 60 cycles.  In Europe, it is around 220 or 240 volts,
>50 cycles.  OK, in the enclosing domain, there's no standard.

This is actually a very useful analogy.  To extend it, I can go to Radio
Shack and pick up a device that will allow me to plug my American
appliances into a European outlet; it is called a converter.  This is
applicable to computer languages: if there are two very similar
standards then it is not very much work to implement a converter.  Of
course, if there are too many standards then it becomes difficult to
find the right converter.

The problem of multiple standards is not new.  There are multiple
standards for color television encoding (NTSC in America, others in
Europe), multiple standard natural languages (English, French, German,
Chinese, etc), two standard American videocassette formats (VHS and
Beta).  And in computers there are a number of de facto standard
operating systems (CP/M, MS-DOS, Unix, etc.), networking protocols
(TCP/IP, ISO), byte sizes (8-bit, 16-bit, 32-bit, 36-bit).

In all these cases, multiple standards are annoying, but they don't
completely destroy the worth of the standards.  Just as you can go to
the video store and have your choice of renting a tape in Beta or VHS
format, and you can go to the computer store and buy Zork for the IBM-PC
or the Commodore whatever, you will probably be able to specify whether
you have ANSI or ISO Pascal when you purchase a Pascal program.  And,
just as I can't swap tapes with my friends who have Beta VCRs, and I
can't talk to people who speak a different natural language, if I have
ISO Pascal then I may have difficulty swapping programs with someone who
has ANSI Pascal.
-- 
    Barry Margolin
    ARPA: barmar@MIT-Multics
    UUCP: ..!genrad!mit-eddie!barmar

lambert@boring.UUCP (03/09/85)

I'm sorry if this has been pointed out before, but I just came across the
following sentence in the Revised Report on Pascal by Wirth (in the back of
the Jensen-Wirth Book):

    "In order to provide a common basis [...] the language defined
    in this Revised Report is called *Standard PASCAL*."

(So the discussion is about standards for Standard PASCAL:-)

More seriously, it seems that the discussion on the topic can be summed up
as:

1. Standards are useful, but only if they are adhered to (by implementa-
tions and by programs).

2. N standards, N >= 2, is better than none, but less useful than a single
one.  (This follows from point 1, since the people adhering to standard B
are not adhering to standard A.)
-- 

     Lambert Meertens
     ...!{seismo,philabs,decvax}!lambert@mcvax.UUCP
     CWI (Centre for Mathematics and Computer Science), Amsterdam

jack@boring.UUCP (03/18/85)

In article <7025@watdaisy.UUCP> ndiamond@watdaisy.UUCP (Norman Diamond) writes:
>Let's see, Unix and C have only been evolving for around 16 years, and C is
>close to being standardised.  Pascal has been around for about, oh 16 years,
>and is a little bit closer to being standardised.  Interesting though, current
>and historical implementations of Pascal have fewer variations than for C.

I disagree. I get the impression that C is far more standardised
that pascal. Although the *environment* of different C dialects
is different, the *syntax* of the language is the same.

 This is clearly not the case with Pascal. Just think of 'otherwise',
'extern' versus 'external' versus 'fortran' versus whatever,
and the fact that Pascal I/O is built into the compiler (it looks
like procedure calls, but it isn't. You try to write a procedure that
accepts multiple parameters, or a parameter of 'any file' type).

 Although you will have a *lot* of trouble to simulate 'chdir' if
your target machine doesn't have directories, you can probably still
come up with something. If your Pascal compiler doesn't have
'otherwise' or something similar, you have to change even the 
structure of the program.

 I know of no such syntactical differences in C compilers, maybe with
the exception of multiple defined externs (which you shouldn't have used
anyway), and long identifiers. Both of these are much less serious
than the differences in Pascal-flavors.
-- 
	Jack Jansen, {decvax|philabs|seismo}!mcvax!jack
It's wrong to wish on space hardware.

alexis@reed.UUCP (Alexis Dimitriadis) (03/24/85)

In article <6360@boring.UUCP> jack@boring.UUCP (Jack Jansen) writes:

[...]
> Although you will have a *lot* of trouble to simulate 'chdir' if
>your target machine doesn't have directories, you can probably still
>come up with something. If your Pascal compiler doesn't have
>'otherwise' or something similar, you have to change even the 
>structure of the program.
>
> I know of no such syntactical differences in C compilers, maybe with
>the exception of multiple defined externs (which you shouldn't have used
>anyway), and long identifiers. Both of these are much less serious
>than the differences in Pascal-flavors.

  The list gets longer if you throw in things like structure assignment, 
passing/returning structures, etc, which are not supported by older (but
still in use) C compilers.  

  A more serious problem, in my opinion, is the fact that an integer
may or may not be the same size as a short and/or a long.  Sure, a program
developed on a VAX (sizeof int == sizeof long) will compile on a PDP,
(sizeof int < sizeof long) but that is small comfort.  Of course, both 
compilers adhere to the standard, but the semantics of short/int/long
are nevertheless different.  And it is VERY hard to keep longs and ints
straight if, on your machine, they are interchangeable.  

  At least with Pascal you can usually (lazy i/o and string input
to the contrary), expect a program that will compile without error to 
run correctly.

 By the way, the lack of a closely followed standard for Pascal has been
discussed in net.lang.pascal (and net.lang.c!).  It seemed absolutely 
clear that (almost) no implementations follow the letter of the standard.

			Alexis Dimitriadis
-- 
_______________________________________________
	  alexis @ reed
	...ihnp4!{harvard|tektronix}!reed
	...decvax!tektronix!reed
	...teneron!reed