Article View: comp.lang.misc
Article #4754Software reuse and WEB.
From: Karl Berry.
Date: Mon, 22 Jun 1987 22:14
Date: Mon, 22 Jun 1987 22:14
35 lines
2353 bytes
2353 bytes
The recent note on reuse of software made me think of the recent columns
in Communications of ACM on WEB. (The column was Jon Bentley's
Programming Pearls. WEB is a language invented by Don Knuth.)
In my own programming, I try to write using abstract data types
and all that. Although my interface designs always seem reasonable at
the time, and always work fine for that program, when I try to use it in
a new program, I seem to have always left something out (because it
wasn't needed in the first program) or have the wrong functionality, or
something.
The article posted here (sorry, I forget the author) said, among other
things, that maybe abstract data types are too low a level to aim for in
reuse, and that we should try to reuse even higher level chunks of code.
Maybe we should be trying to reuse lower level chunks of code. TeX and
Metafont (Knuth's program, written in WEB) aren't written in the
abstract data type style (as David Gries suggested, primarily because
Gries thought such typles make it easy to build up libraries) in one of those
Programming Pearls columns) but that didn't hinder Knuth from re-using
large amounts code from TeX (the current version of which was written in
1982) to Metafont (in 1985). My own experiences with WEB code, on a
smaller scale, are similar: it's easier to copy not abstract data types,
but just pieces of code.
I know people do have libraries of abstract data types that get used by
lots of people. The Eiffel implementors (Bertrand Meyer, et. al.) claim
they have one. The Ada people claim they have one. The C people claim
they have one. And on and on. But maybe we should look at both higher
AND lower levels than abstract data types for reusing code.
Or maybe we should just always write from scratch. Duncan Hines and
homemade don't compare in the kitchen.
Karl. kbb@cs.brown.edu {decvax,ihnp4,allegra,...}!brunix!kbb
Technical Details
Message-ID:
<16556@brunix.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!seismo!husc6!linus!raybed2!rayssd!brunix!nancy!kbbShow Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!husc6!linus!raybed2!rayssd!brunix!nancy!kbb From: kbb@nancy (Karl Berry.) Newsgroups: comp.lang.misc Subject: Software reuse and WEB. Message-ID: <16556@brunix.UUCP> Date: Mon, 22-Jun-87 18:14:47 EDT Article-I.D.: brunix.16556 Posted: Mon Jun 22 18:14:47 1987 Date-Received: Thu, 25-Jun-87 04:44:14 EDT Sender: root@brunix.UUCP Lines: 35