home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.edu:1414 comp.lang.fortran:3287 comp.lang.misc:2810 sci.math:10708
- Newsgroups: comp.edu,comp.lang.fortran,comp.lang.misc,sci.math
- Path: sparky!uunet!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!news.funet.fi!funic!news.cs.hut.fi!news!Ari.Huttunen
- From: Ari.Huttunen@hut.fi (Ari Juhani Huttunen)
- Subject: Re: Scientists as Programmers (was Re: Small Language Wanted)
- In-Reply-To: mbk@lyapunov.ucsd.edu's message of 29 Aug 1992 22:55:05 GMT
- Message-ID: <ARI.HUTTUNEN.92Aug30182130@hulk.hut.fi>
- Sender: usenet@cs.hut.fi (Uutis Ankka)
- Organization: Helsinki University of Technology, Finland
- References: <17opl4INN5gb@roundup.crhc.uiuc.edu> <17ov89INNdls@network.ucsd.edu>
- Date: Sun, 30 Aug 1992 16:21:30 GMT
- Lines: 109
-
- In article <17ov89INNdls@network.ucsd.edu> mbk@lyapunov.ucsd.edu (Matt Kennel) writes:
-
- ! I've downloaded and compiled Sather already, and I really like what I've
- ! seen so far. After seeing Sather, I can't understand how C++ could be so
- ! needlessly complicated. I'm just about ready to switch, but I worry about
- ! not having my code usable by anybody else.
-
- It's easy to see why C++ is so complicated (I am not saying that it is
- not usable) and Sather is not. C++ has evolved for quite some time and
- in short intervals someone has come up with a 'neat idea' of what he/she
- would want to see in the language. That 'neat idea' is incorporated in the
- language and it becomes just a tiny little bit more complicated. Sather has
- not been around long enough for this to happen. But it will happen eventually,
- I suppose.
-
- Please note very carefully that your (or mine) 'neat ideas' are no different.
- They may be _very_ useful and we want them _very_ much, but they no less
- clutter up the language. Here comes the job of the language designer. He/She
- must decide if that 'neat idea' is generally useful and fits into the language.
- As a result it is incorporated in the language or left out. The more that
- are left out, the less complex the language will be. The result may be
- a language that you (or I) don't want to use. But don't worry. There are
- many languages, and no single language will be 'best' for all applications
- or all users.
-
- ! The problem is this:
-
- ! There are scientists who *have* learned the value of good software
- ! engineering and believe what the comptuer scientists have said for years, and
- ! honestly try to stay up to date.
-
- ! Too many CSoids however dismiss the concerns of scientists as being
- ! narrow and "uninformed", assuming that they're all like the nerds in
- ! #1 above.
-
- I think you are being unfair. There are CS-people who apreciate the computing
- needs of scientists. I would claim that most do. The problem really seems to
- be that we don't understand each other properly. For a good example, see below.
-
- ! Or they claim that language X does what scientists need
- ! (or "no we don't need to bother because it's possible to implement that
- ! in a library" or "a quality of implementation issue" (a euphemism for
- ! "we don't really give a shit") ) and say that we're silly when we disagree.
-
- It sometimes is the case that a language feature is best implemented in
- a library. (Really!) This need not necessarily be any slower than implementing
- it in the core-language itself (depending on the language.) It also has the
- advantage that the core-language is less complex. You yourself have indicated
- that you like a less complex language. Right? And as I see it, one of the
- most important reasons why FORTRAN is so popular is "a quality of implementation
- issue". FORTRAN compilers are very good at what they do, or so I'm told.
-
- ! 1) There is only one basic "loop" construct, which means that you have to
- ! write i:=i+1 all the time just do do the most basic things. Of course
- ! it's only "surface syntax", but these things make a real difference
- ! in real life. In the jihad for simplicity, Oberon discarded the
- ! FOR i:=1 TO N DO loop, but it was put back into Oberon-2 and I think
- ! Sather's designers should do the same.
-
- Yes, I would myself like to see these loop-constructs in Sather:
-
- loop until <xxxx> loop while <xxxx> loop for <xxxx> to <yyyy> loop
- <xxxx> <yyyy> <yyyy> <zzzz>
- end end end end
-
- The first two are the standard loop-constructs already in Sather. The
- alternative form of the last loop would be 'for .. downto .. loop .. end',
- decrementing the counter by one instead of incrementing it.
-
- ! : Sather is available from Berkeley via anonymous ftp. However, I can't
- ! : seem to find the ftp site at the moment. The author's email address
- ! : is om@icsi.berkeley.edu. Be sure to mention Sather in the subject.
- ! :
- ! : Darrell
-
- WHERE HOSTNAME ANON FTP DIR CURRENT HOST ADDRESS
-
- USA: ftp.icsi.berkeley.edu /pub/sather 128.32.201.55
- EUROPE: ftp.gmd.de /pub/Sather 129.26.8.90
- AUS: lynx.csis.dit.csiro.au /world/sather 192.41.146.1
- JAPAN: sra.co.jp /pub/lang/sather 133.137.4.3
-
- -rw-rw-r-- 1 hws sather 4355259 Mar 30 01:53 sa-0.2g.tar.Z
-
- ! : How about :-
- ! :
- ! : (p,d,q) = singular_value_decomposition A
-
- ! This is perfectly sensible.
-
- There was discussion of implementing a very similar construct in Sather.
- I don't know what the current status of that is.
-
- ! I think it wouldn't be so bad to allow you to explicitly say these things:
-
- ! for all i T(i) = sum_over(j) C(i,j,j)
-
- That is perfectly reasonable, but only in a language that was designed
- for that. It is not at all wise to put it into Sather (or C++ or Simula
- for that matter) afterwards. There is also the technical matter that
- such a construct might be difficult to describe with a context free grammar.
-
- Also, I would like to see a newsgroup called comp.lang.sather. Sather
- related discussion is now spread over many different newsgroups. The email-
- list that exists does not work. It's almost dead.
- --
- ...............................................................................
- Ari Huttunen
- ...............................................................................
-