home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / sci / math / symbolic / 3041 < prev    next >
Encoding:
Internet Message Format  |  1992-11-19  |  3.8 KB

  1. Path: sparky!uunet!gumby!wupost!crcnis1.unl.edu!crcnis1.unl.edu!manager
  2. From: me@ienext.unl.edu (My Account)
  3. Newsgroups: sci.math.symbolic
  4. Subject: Re: The Real Meaning of Efficiency?  (Re: Serious Programming, etc.)
  5. Date: 19 Nov 1992 17:13:34 GMT
  6. Organization: University of Nebraska--Lincoln    
  7. Lines: 61
  8. Distribution: world
  9. Message-ID: <1eghvuINNi6i@crcnis1.unl.edu>
  10. References: <18NOV199217533011@reg.triumf.ca>
  11. Reply-To: me@ienext.unl.edu
  12. NNTP-Posting-Host: ienext.unl.edu
  13.  
  14. In article <18NOV199217533011@reg.triumf.ca> orwell@reg.triumf.ca (BALDEN,  
  15. RON) writes:
  16. > Regarding the issue of the relative "efficiency" of programming  
  17. languages
  18. > available in different mathematical/symbolic computation systems I would 
  19. > note that years ago I started off playing with SMP (and eventually did  
  20. some
  21. > real work with it) on a VAX-780 which typically had 20 users; now
  22. > I can run Mathematica on a DECstation 3100 or 5000 all by myself.
  23. > The ratio of the hardware power available to me now to that then is
  24. > something like 50-100; thus differences in the *runtime* "efficiency" of
  25. > programming languages of factors of 4 -- or even more -- in what are
  26. > *supposed to be Very-High Level (VHL) programming languages* (following
  27. > in the lineage of APL, the first widely-used VHL language) --
  28. > leave me quite cold.  What is important to me is the
  29. > total time spent formulating and solving a problem.  
  30. (More sensible remarks deleted)
  31.  
  32. I agree with you completely. I find it easier to quickly generate correct  
  33. programs in Mathematica than in MAPLE. The fact that these programs then  
  34. do not execute as quickly as in MAPLE is *usually* of little significance.  
  35. This is because the programs I write are generally one-shot affairs---I  
  36. run them once and then they are history. In most other cases when the  
  37. program *is* used repeatedly it executes quickly enough that I don't  
  38. really care whether it can be made to run even faster. In any case, the  
  39. time I spend programming in typically much greater than the time the  
  40. computer spends executing my code. 
  41.  
  42. This thinking is just the obvious extension of standard programming  
  43. notions. If you want to speed up the execution of a program what do you  
  44. do? You profile the program to find out where it is spending most of its  
  45. time and then you spend *your* time on improving the execution speed of  
  46. *those* parts. Well, if I "profile" the time I spend on a CAS problem I  
  47. generally find that the overwhelming majority of time is spent  
  48. programming, not executing. 
  49.  
  50. Of course, if you are writing a program or package which will be run many  
  51. many times then the balance may shift to where the speed of execution is  
  52. more important than the speed of development. And as Ron pointed out, this  
  53. is precisely why Mathematica itself has so many lines of C code.
  54.  
  55. And below, my $.02 worth on a related topic:
  56.  
  57. IMHO we should steer away from discussion that occasionally verges on "My  
  58. CAS is better than yours (Nyah, Nyah, Nyah!)". Certainly both Mathematica  
  59. and MAPLE are serious programming systems. Equally certainly, each one is  
  60. better at certain tasks than the other. Therefore it is *impossible* to  
  61. make a blanket statement that one is better than the other (unless you are  
  62. simply firing off flame-bait or releasing pent-up programming  
  63. frustration). Let us, instead, educate each other on the respective  
  64. benefits to be obtained from each system so that we may all choose the  
  65. system which is best for our own needs.
  66.  
  67. To that end, let me note that the pattern matching abilities of  
  68. Mathematica have been invaluable in my development of Operations Research  
  69. related notebooks. 
  70. --
  71. --------------------------------------------------------------------------
  72.  Dan Scott   me@ienext.unl.edu     NeXT mail welcome
  73. --------------------------------------------------------------------------
  74.