home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / sci / math / symbolic / 3053 < prev    next >
Encoding:
Text File  |  1992-11-20  |  4.9 KB  |  99 lines

  1. Newsgroups: sci.math.symbolic
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!news.cso.uiuc.edu!mm-mac25.mse.uiuc.edu!gaylord
  3. From: Richard J. Gaylord <gaylord@ux1.cso.uiuc.edu>
  4. Subject: Re: The Real Meaning of Efficiency?  (Re: Serious Programming, etc.)
  5. References: <18NOV199217533011@reg.triumf.ca> <1992Nov19.203202.17362@wri.com> <1992Nov20.051351.18180@alchemy.chem.utoronto.ca>
  6. Message-ID: <By0q94.9p9@news.cso.uiuc.edu>
  7. X-Xxdate: Fri, 20 Nov 92 08:16:46 GMT
  8. Sender: usenet@news.cso.uiuc.edu (Net Noise owner)
  9. X-Useragent: Nuntius v1.1.1d12
  10. Organization: University of Illinois
  11. Date: Fri, 20 Nov 1992 14:15:02 GMT
  12. X-Xxmessage-Id: <A7324F6E2E019B19@mm-mac25.mse.uiuc.edu>
  13. Lines: 84
  14.  
  15. Subject: Re: The Real Meaning of Efficiency?  (Re: Serious Programming,
  16. etc.)
  17. From: Richard Fateman, fateman@peoplesparc.Berkeley.EDU
  18. Date: 19 Nov 1992 17:43:49 GMT
  19. In article <1egjolINNk2e@agate.berkeley.edu> Richard Fateman,
  20. fateman@peoplesparc.Berkeley.EDU writes:
  21.  
  22. >In my view one of the most powerful abstractions for programming
  23. >mathematical algorithms is recursion.  
  24.  
  25. If recursion and pattern matching were so good, perhaps
  26. >we wouldn't see so much claptrap in "fast Mathematica" programs
  27. >with # and &, which (I suspect) are merely ways to AVOID pattern matching
  28. >and the usual function call overhead.
  29.  
  30. >Stephen Wolfram's ambition (according to an interview in an article in
  31. >The Chronicle of Higher Education some months ago) appears to be
  32. >to have the Mathematica language replace all others as a first
  33. >programming language (i.e. instead of Pascal, Modula II, Scheme,
  34. >Ada, ... etc).  I am not enthusiastic about this prospect.
  35. >
  36. ===========================
  37.  
  38. i  hear comments like this quite often from computer science professors
  39. and it explains why the teaching of programming by cs departments to
  40. engineers and scientists and mathematicians is almost a total failure.
  41.  
  42. recursion is said to be a powerful tool but it is almost never used. why?
  43. one reason, of course,  is that the old FORTRAN didn't support recursion. 
  44. another reason is that recursive thinking is in fact difficult to master
  45. and many people are uncomfortable with it.
  46. yet another reason is that recursion is not always very efficient.
  47.  
  48. pascal, modula II, scheme or ada are terrible choices as first languages
  49. for engineers or scientists since these languages are in fact not used in
  50. the technical fields. it at least make a little sense to teach
  51. programming in FORTRAN  since this language is actually used inscientific
  52. computing  and it makes the most sense to teach programming in one of the
  53. cas languages because the vast majority of professionals will be doing
  54. their computing on desktops with cas's that support graphics, algebraic
  55. manipulation, etc.
  56.  
  57. the cs departments have managed with their control of the teaching of
  58. programming to scientists and engineers and mathematicians to turn those
  59. people off from programming at the very time that computing has become an
  60. indispensible tool in these fields. i know they say that its the eng.
  61. depts. that make them teach FORTRAN   (sounds like george bush blaming
  62. the congress) but its totally clear that most cs departments don't have
  63. the faintest idea what non-cs people want or need to know about
  64. programming. this can be seen from the recent move at many places from
  65. FORTRAN to C as the first language. if they thought FORTRAN was unpopular
  66. amongst engineering students wait till they see the student reaction to C.
  67.  
  68. it has been said that you shouldn't teach programming with mathematica
  69. because its a bizarre and inconsistent language and if you learn
  70. mathematica programming it will ruin your ability to learn how to program
  71. properly. 
  72.  
  73. this is COMPLETE nonsense. 
  74.  
  75. one can ignore all of the things one thinks are 'wierdly idiosyncratic'
  76. to mathematica [to some of us they are neat features not bugs] and just
  77. use parts of the language to explain the general principles of
  78. programming and algorithm development [eg., recursion, functional,
  79. procedural and rule-based programming]. 
  80. This is being done at the university of illinois in the intro cs course
  81. that is required of all engineering students and the students are
  82. responding to the course much more positively than they did in the past. 
  83.  
  84. the best thing that could happen to the teaching of programming to tech
  85. people would be to use mathematica to do it.
  86.  
  87. finally, the comment about the use ofthe 'claptrap' of anonymous
  88. functions to avoid pattern matching is total claptrap (which according to
  89. the dictionary means  pretentious nonsense). i write almost all of my
  90. programs using anonymous functions because i use a functional programming
  91. style which is very natural to me. others  prefer to program using 
  92. pattern matching (which is far more sophisticated in mathematica than in
  93. most other languages). the ability to choose the style most appropriate
  94. to the problem and to the way in which the programmer thinks is one of
  95. the most important features of mathematica.
  96.  
  97.  hopefully, this thread will have ended by the time i return from my
  98. thanksgiving hoiday.
  99.