From: Ari.Huttunen@hut.fi (Ari Juhani Huttunen)
Subject: Re: Scientists as Programmers (was Re: Small Language Wanted)
Organization: Helsinki University of Technology, Finland
Date: Sun, 30 Aug 1992 16:21:30 GMT

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 
...............................................................................
Xref: sparky comp.edu:1391 comp.lang.fortran:3261