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