home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / misc / 2830 < prev    next >
Encoding:
Internet Message Format  |  1992-08-31  |  4.1 KB

  1. Path: sparky!uunet!mcsun!uknet!mucs!m1!bevan
  2. From: bevan@cs.man.ac.uk (Stephen J Bevan)
  3. Newsgroups: comp.lang.misc
  4. Subject: Re: Scientists as Programmers (was Re: Small Language Wanted)
  5. Message-ID: <BEVAN.92Aug31101447@tiger.cs.man.ac.uk>
  6. Date: 31 Aug 92 09:14:47 GMT
  7. References: <BtpAIn.EE5@mentor.cc.purdue.edu> <17mcr4INN4qq@network.ucsd.edu>
  8.     <BttB9z.IAy@mentor.cc.purdue.edu>
  9. Sender: news@cs.man.ac.uk
  10. Organization: Department of Computer Science, University of Manchester
  11. Lines: 72
  12. In-reply-to: hrubin@pop.stat.purdue.edu's message of 30 Aug 92 19:53:59 GMT
  13.  
  14. In article <BttB9z.IAy@mentor.cc.purdue.edu> hrubin@pop.stat.purdue.edu (Herman Rubin) writes:
  15.    >1) There are scientists who don't know the value of organized software
  16.    >    engineering.  I mean basic things like type-checking subroutine
  17.    >    arguments, modularization, modern data types, and other things like
  18.    >    that.  They write the infamous spaghetti Fortran.
  19.  
  20.    This statement is too broad.  Modularization is not a problem for the
  21.    scientist, but it can be a major time-waster if the current software is
  22.    used.  Subroutine calls are, at this time, and for the foreseeable future,
  23.    quite expensive.
  24.  
  25. Maybe so, but just because it is written as a subroutine, it doesn't
  26. mean it has to be implemented as one.  Again many people have pointed
  27. this out and yet you still bring it up.  Have you tried any languages
  28. that let you _tell_ the compiler what you want inlined e.g. Ada, C++,
  29. Modula III ... etc?  Did they fail to do what you wanted?
  30.  
  31.  
  32.    Also, mathematicians especially use lots of operators.
  33.  
  34. They also use lots of Greek letters (at least in the sort of maths I
  35. read).  It is reasonably easy to replace them with something else, and
  36. IMHO you can do the same thing with the operators.  Of course I expect
  37. that most mathematicians lament the loss of Greek characters when
  38. writing programs, so I don't expect them to give up operators.
  39.  
  40.  
  41.    Despite what the CS gurus say, allowing the introduction of
  42.    additional functions is not the same thing.
  43.  
  44. Semantically it is, and that is what really counts.
  45. Some languages do allow you to define infix operators (Haskell and ML),
  46. but there are very few that allow you to define distfix syntax.
  47. Of those that do they are either quite old or designed for completely
  48. different purposes than numerical work.  Also a problem with distix is
  49. that it is very easy to get ambiguities and unless you are going to
  50. introduce some user defined precedence (which I'm not even sure would
  51. solve the problem), the only solution is to put parentheses around
  52. phrases.  Once you do this, you might as well be using a prefix or
  53. posfix only language.
  54.  
  55.  
  56.    Also, mathematicians and scientists are accustomed to using
  57.    whatever syntax they like, as long as it does not lead to confusion.
  58.  
  59. Confusion for who?  I get very confused when I read books that use
  60. |A| to mean three different things depending on the context (which
  61. isn't always immediately obvious).  With all due respect to
  62. mathematicians and scientists, just because they are accustomed to
  63. creating syntax on the fly, it doesn't meant that they are any good at
  64. it (where "good" is totally subjective, but I'll take it to mean that
  65. other people find it readable and better (another subjective term)
  66. than anything else).  For example, I'm sure Frege thought he had a
  67. great notation for his logical formulae, but IMHO (and with plenty of
  68. hindsight :-) it was needlessly complicated. 
  69.  
  70. This extends to CS people as well, there seems to be something inside
  71. most of them that drives them to invent a "new" language even though
  72. it rarely has anything new in it.  It usually consists of a different
  73. permutation of symbols to describe the same semantics that underlies
  74. thousands of other languages. (There are a some languages that warrant
  75. the title "new", but they are very few and far between)
  76.  
  77.  
  78.    But the CS people insist that only the standard operators are to be
  79.    allowed to use infix notation, and all others must be prefix,
  80.    except in reverse Polish systems, in which all must be postfix.
  81.  
  82. Actually this CS person prefers _all_ prefix or _all_ postfix, but
  83. then I'm a minimalist :-) 
  84.  
  85. bevan
  86.