home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!gumby!wupost!crcnis1.unl.edu!crcnis1.unl.edu!manager
- From: me@ienext.unl.edu (My Account)
- Newsgroups: sci.math.symbolic
- Subject: Re: The Real Meaning of Efficiency? (Re: Serious Programming, etc.)
- Date: 19 Nov 1992 17:13:34 GMT
- Organization: University of Nebraska--Lincoln
- Lines: 61
- Distribution: world
- Message-ID: <1eghvuINNi6i@crcnis1.unl.edu>
- References: <18NOV199217533011@reg.triumf.ca>
- Reply-To: me@ienext.unl.edu
- NNTP-Posting-Host: ienext.unl.edu
-
- In article <18NOV199217533011@reg.triumf.ca> orwell@reg.triumf.ca (BALDEN,
- RON) writes:
- > 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.
- >
- (More sensible remarks deleted)
-
- I agree with you completely. I find it easier to quickly generate correct
- programs in Mathematica than in MAPLE. The fact that these programs then
- do not execute as quickly as in MAPLE is *usually* of little significance.
- This is because the programs I write are generally one-shot affairs---I
- run them once and then they are history. In most other cases when the
- program *is* used repeatedly it executes quickly enough that I don't
- really care whether it can be made to run even faster. In any case, the
- time I spend programming in typically much greater than the time the
- computer spends executing my code.
-
- This thinking is just the obvious extension of standard programming
- notions. If you want to speed up the execution of a program what do you
- do? You profile the program to find out where it is spending most of its
- time and then you spend *your* time on improving the execution speed of
- *those* parts. Well, if I "profile" the time I spend on a CAS problem I
- generally find that the overwhelming majority of time is spent
- programming, not executing.
-
- Of course, if you are writing a program or package which will be run many
- many times then the balance may shift to where the speed of execution is
- more important than the speed of development. And as Ron pointed out, this
- is precisely why Mathematica itself has so many lines of C code.
-
- And below, my $.02 worth on a related topic:
-
- IMHO we should steer away from discussion that occasionally verges on "My
- CAS is better than yours (Nyah, Nyah, Nyah!)". Certainly both Mathematica
- and MAPLE are serious programming systems. Equally certainly, each one is
- better at certain tasks than the other. Therefore it is *impossible* to
- make a blanket statement that one is better than the other (unless you are
- simply firing off flame-bait or releasing pent-up programming
- frustration). Let us, instead, educate each other on the respective
- benefits to be obtained from each system so that we may all choose the
- system which is best for our own needs.
-
- To that end, let me note that the pattern matching abilities of
- Mathematica have been invaluable in my development of Operations Research
- related notebooks.
- --
- --------------------------------------------------------------------------
- Dan Scott me@ienext.unl.edu NeXT mail welcome
- --------------------------------------------------------------------------
-