🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #6208

Re: What is B&D? (Re: Bondage and Discipline Languages)

#6208
From: David Gudeman
Date: Fri, 20 Jan 1989 20:48
58 lines
3109 bytes
In article  <8282@aw.sei.cmu.edu> firth@sei.cmu.edu (Robert Firth) writes:
]In article <8784@megaron.arizona.edu> gudeman@arizona.edu (David Gudeman) writes:
]
]>...the designers of Pascal, Modula-2, and Ada thought that sort of
]>thing was dangerous, and wanted to make it inconvenient to do.  The
]>inconvenience was supposed to discourage such practices, and the extra
]>syntax was supposed to make sure it didn't happen by accident.
]
]The designer of Pascal and Modula-2 can speak for himself.
]
]As the person who designed the unchecked programming features of
]Ada, however, please let me state that the above speculation does
]not accurately represent my thinking or my intention.

Wow, I didn't know we had a celebrity in the discussion! :-) You don't
suppose Wirth is reading too do you?  In defense of my remarks, I want
to point out that I never intended them as a rigorous explanation of
the intentions of the designers.  My remarks were obviously too general
and simplistic for that (though in re-reading, I see that it is not
obvious that I knew that).

]1. There must be a means to convert a value of one type into a value
]   of another type without change of representation...

As you indicate later, this is only necessary if you are doing
low-level programming.  It is not obvious that all languages should
support this sort of thing...

] ...However, it does give the designer some problems...

]   . the code might not be portable.  non-portable code should be easy
]     to find

]   . the code will need more careful validation, since one cannot rely
]     on the type checking of the compiler.  such code should alert the
]     program tester or maintainer to its presence

]   . many programming methodologies prescribe some form of automatic
]     (or at least cheap) mechanism for detecting and controlling the
]     use of non portable or otherwise special code.

I don't understand what you mean here.

]   The best solution to this problem is therefore to require any package
]   that does these things to import something explicitly:...

This is the first statement where I disagree, and I believe this may
be a crucial point seperating totalitarian from anarchical language
designers.  I don't believe the solution is to _require_ anything.
How do you know when you design the language whether these points will
matter in any given situation?  Why does this have to be built into
the language?  Why not trust the programmer to modularize and document
the code correctly?

]...There was no intention to make it costly to use unchecked conversion;
]indeed, the cost is no more than that of doing I/O: ...

I said ``inconvenient'', not ``costly''.
Technical Details
Message-ID: <8810@megaron.arizona.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ncis.llnl.gov!helios.ee.lbl.gov!pasteur!agate!bionet!ig!arizona!gudeman

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ncis.llnl.gov!helios.ee.lbl.gov!pasteur!agate!bionet!ig!arizona!gudeman
From: gudeman@arizona.edu (David Gudeman)
Newsgroups: comp.lang.misc
Subject: Re: What is B&D? (Re: Bondage and Discipline Languages)
Message-ID: <8810@megaron.arizona.edu>
Date: 20 Jan 89 20:48:12 GMT
Organization: U of Arizona CS Dept, Tucson
Lines: 58