Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!lanl!jlg From: jlg@lanl.gov (Jim Giles) Newsgroups: comp.society.futures Subject: Re: (pssst...fortran?) Message-ID: <62905@lanl.gov> Date: 13 Sep 90 21:54:45 GMT References: <1990Sep10.193130.20463@rodan.acs.syr.edu> <62688@lanl.gov> <1990Sep12.231240.2922@rodan.acs.syr.edu> Organization: Los Alamos Natl Lab, Los Alamos, N.M. Lines: 85 In article <1990Sep12.231240.2922@rodan.acs.syr.edu>, isr@rodan.acs.syr.edu (Michael S. Schechter - ISR group account) writes: > In article <62688@lanl.gov> jlg@lanl.gov (Jim Giles) writes: > >From article <1990Sep10.193130.20463@rodan.acs.syr.edu>, by isr@rodan.acs.syr.edu (Michael S. Schechter - ISR group account): > >To be sure, ther are _superficial_ similarities between Pascal and > >C. But, there are superficial similarities between _any_two_ procedural > >languages you care to mention. > The programming that will be done will be _superficial_. No lists, [...] Lists are quite common in Fortran. As they are in _all_ other popular procedural languages. Each language presents different problems when implementing lists. C is not obviously superior in this respect (or perhaps only to novices). > [...] No > pointers, C pointers are semantically _equivalent_ to one dimensional Fortran array indexing with bounds checking turned off. Aside from C allowing a slightly more compact notation, there is no difference. Since most Fortrans allow bounds checking to be turned off, Fortran is not inferior to C in this respect. Having said that, I should point out that C pointers are _MUCH_ worse than Pascal pointers. The only operations that pointers should allow are assignment and dereferencing. If you want array indexing, use arrays. Casts of pointer types should be completely impossible. > [...] no searching, [...] Huh? Most searching algorithms I ever heard of were originally written for Algol/Fortran applications (or predated programming altogether). All such algorithms work in all popular procedural languages. > [...] no nothing except real-time control. [...] Most real-time control is still done in assembly. Fortran is mostly for numerical/scientific work - for which it is _still_ probably the best available language. > [...] > >Why do you want him to switch from a useful language to a lower level > >and harder to use one? > > Because it will break my heart to see displays like > M A I N M E N U > ----------------- > 1) Blah > 2) Blah > 3) Blah > Enter your choice: > on the Macintosh. And while I haven't yet seen what the > FORTRANS for it are like, with the way that everything is done > with handles and structures, I can see programming the user interface > being a nightmare if FORTRAN is used. Many of the best user interfaces I know of were in Fortran, assembly, PL/1, or even Cobol. Most of the really _bad_ user interfaces I know of are written in C for UNIX. User interfaces can be written (or mis- written) in just about any language. Their quality depends on the design of the interface, not the language used to implement it. Of course, the language chosen _could_ make a difference in the efficiency, maintainability, and cost of developement for the software - all of which C is relatively dismal at. Stick to Modula 2 or Pascal for this kind of stuff. (By the way, I don't understand your example. The Macintosh _does_ work mostly with menus - even for things which would be better as commands types from the keyboard. The Macintosh tends to be novice friendly and inhibits experts. I personally don't like it much.) > [...] > >of the problems with Fortran are errors of omission - that is, Fortran > >lacks features which sooner or later (one hopes) will be added. On the > >other hand, C suffers mostly from errors of commission - that is, C has > The features aren't there NOW. That's why I want him to use something > else, whether it's C or Pascal, isn't THAT important Yes, if you need features that Fortran doesn't have, by all means switch to Pascal (or Modula, or Ada, or Lisp, or ...). If you don't need such features and Fortran is familiar to you, stick with it. Either way, I see no (non-political) reason to even consider C. The fact is (as I said about errors of omission vs. errors of commission), Fortran has a future, C only has a past. And this _IS_ comp.society.futures after all. J. Giles