home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!destroyer!cs.ubc.ca!unixg.ubc.ca!reg.triumf.ca!orwell
- From: orwell@reg.triumf.ca (BALDEN, RON)
- Newsgroups: sci.math.symbolic
- Subject: The Real Meaning of Efficiency? (Re: Serious Programming, etc.)
- Date: 18 Nov 1992 17:53 PST
- Organization: TRIUMF: Tri-University Meson Facility
- Lines: 62
- Distribution: world
- Message-ID: <18NOV199217533011@reg.triumf.ca>
- NNTP-Posting-Host: reg.triumf.ca
- News-Software: VAX/VMS VNEWS 1.41
-
- Regarding the issue of the relative "efficiency" of programming languages
- available in different mathematical/symbolic computation systems I would
- note that years ago I started off playing with SMP (and eventually did some
- real work with it) on a VAX-780 which typically had 20 users; now
- I can run Mathematica on a DECstation 3100 or 5000 all by myself.
- The ratio of the hardware power available to me now to that then is
- something like 50-100; thus differences in the *runtime* "efficiency" of
- programming languages of factors of 4 -- or even more -- in what are
- *supposed to be Very-High Level (VHL) programming languages* (following
- in the lineage of APL, the first widely-used VHL language) --
- leave me quite cold. What is important to me is the
- total time spent formulating and solving a problem.
-
- [I note that the same relative timing ratio may be significant
- or not depending on context -- a difference between 2 and 20 seconds
- for a single operation is important to me when working away on
- the interactive simplification of a large expression, because
- psychologically you're twiddling your thumbs waiting for the result,
- but the difference between 1 hour and 10 hours is not important --
- they're both batch jobs where I can go and think about something
- else.]
-
- These "efficiency" arguments have all appeared before in the history
- of computing when the first FORTRAN compiler appeared to challenge
- assembly language; "those who do not know history are condemned to
- repeat it". (See the comments of John Backus, the "father
- of FORTRAN" in his Turing Award Lecture: "Can Programming Be
- Liberated from the von Neumann Style? A Functional Style and
- Its Algebra of Programs?" I believe Backus also discusses
- these issues in the "History of Programming Languages" conference
- proceedings edited by Richard Wexelblat (1978)).
-
- To me, it seems that Maple is certainly a VHL programming system in
- terms of the facilities available, but that it does not quite have a
- VHL programming language as linguistic glue to weld together its different
- facilities -- that its lineage is basically from what Backus calls
- "Von Neumann" (ALGOL/FORTRAN/Pascal) languages. (In a somewhat
- similar vein, the IMSL scientific subroutine library offers individual
- VHL numerical problem-solving facilities, but you still have to use
- "low-level" FORTRAN to weld together various IMSL routines in a
- stand-alone program.) In contrast SMP/Mathematica's (spiritual,
- at least) programming lineage comes more from APL.
-
- Finally, it seems to me disingenuous to attack the Mathematica
- user-level programming language on the grounds of "if it is so good,
- why don't the developers of Mathematica use it to bootstrap their own
- system?" (To me, a bit like asking, "if the set-theoretic query
- languages of relational database management systems are so good, why
- aren't they written in SETL?") The whole point of VHL languages is to
- insulate the *user* from details which reflect the details of the
- computer hardware architecture. But given that you're actually going
- to run the system on a `Von Neumann' architecture, the *developers* of
- the system can hardly afford to be ignorant of these details.
- If the developers at WRI sweat away and write in C to get
- factors of 4 difference in runtime, then good for them -- their
- effort is amortized over the whole Mathematica user community.
- But after all, we're paying them for their sweat. What I care
- about is my effort in using their system, not their effort
- in creating it.
-
- Ron Balden
-
-