Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site dartvax.UUCP Path: utzoo!linus!decvax!dartvax!alexc From: alexc@dartvax.UUCP (Alex Colvin) Newsgroups: net.lang Subject: C for physicists Message-ID: <1929@dartvax.UUCP> Date: Mon, 25-Jun-84 18:14:59 EDT Article-I.D.: dartvax.1929 Posted: Mon Jun 25 18:14:59 1984 Date-Received: Wed, 27-Jun-84 03:15:20 EDT Organization: Dartmouth College Lines: 35 There's been a lot of loose talk here about the demerits of Fortran and the merits of C. Thosae who've already grown tired of this subject are encouraged to type whatever it is that gets them to the next article. As far as I can see, the original point here is that UN*X has a terrible implementation of Fortran. I don't think anyone refuted this. All they came up with was the counter that C is what you should be using on UN*X. I'd have to agree. UN*X doesn't seem to support any other language as well. Those who need Fortran, who have large Fortran applications, probably shouldn't be using UN*X. The C proponents have pointed out a number of failings in Fortran. The control structures of C are a little more sophisticated than those of Fortran. I don't know whether F77 allows you to pass functions around, implementing yr own control structures. It doesn't usually allow or encourage recursion. Etc. etc. On the other hand, the C fans I know seem pretty blind to their favorite lingo's failings. C, for example, doesn't really implement arrays. Just pointer arithmetic. I admit that the latter is useful, but think about trying to add array bounds checking to a C program. It's not unusual to have this feature available for Fortran. Then there is the C expression syntax. 15 levels of operator precedence. Some associate left, others right. 9 kinds of prefix operator. 33 infix. Two enfix, and the ?:. In APL at least, with its half a hundred operators, they decided that no one could be expected to remember the precedence, so there's a simple rule (broken only for functionals!). Consider also (4)*3. Now (int)*ptr. How about (A)*B? ... Just tired of C A. Colvin