HDTenEightyP/NetNews huggingface dataset:
From: tregilli@s21.msi.umn.edu (Ian Lee Tregillis [Astro])
Subject: Random-number generators
Organization: University of Minnesota
Date: Tue, 15 Dec 1992 13:36:32 GMT

Hello all,
	Thanks to everyone who responded to my 
request so quickly.  The volume of responses has
been amazing.  I now have exactly what I need 
(about five times over!)  Your trouble does not
go unappreciated.

Gratefully,
Ian "Magnetic Moment" Tregillis
Newsgroups: comp.lang.fortran
From: dnl@convex.is.macsch.com (David Lombard)
Subject: Re: function name as an argument
Organization: MacNeal-Schwendler Corp.
Date: Sat, 12 Dec 92 01:04:50 GMT

In article <1992Dec10.155427.2271@e2big.mko.dec.com> lionel@quark.enet.dec.com (Steve Lionel) writes:
>                                     Indeed, the standard says:
>
>	If a character function is referenced in a program unit,
>	the function length specified in the program unit must be
>	an integer constant expression.
>
>			ANSI X3.9-1978, section 15.2, p15-2, lines 5-7
>
>Because VAX FORTRAN supports the usage above, we always pass character
>functions by descriptor, which includes the length.  But a standard-conforming
>program can't do this thus a compiler which chooses not to support this
>extension can get away without passing the length of character function
>arguments.  (When the function is actually called, the length of the function
>result does have to be passed, but that's another story.)
>

If you're going to quote the standard, make sure you're right.

See section 8.4.2 CHARACTER Type-Statement, line 46-:

	If a dummy argument has a len of (*) declared, the dummy
	argument assumes the length of the associated actual
	argument for each reference of the subroutine or function.

Thus, in a function or subroutine,

	CHARACTER FRED*(*)

is correct (IMHO the _proper_ declaration!).

Regards,
DNL

                 MY_COMMENTS = MY_OPINIONS = NOBODY_ELSES;

David N. Lombard    The first thing we do,         The MacNeal-Schwendler Corp
dnl@macsch.com      Let's kill all the lawyers.    815 Colorado Blvd
(213) 259-4911      II Henry VI, IV.ii             Los Angeles, CA  90041
Newsgroups: comp.lang.fortran
From: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Subject: Re: Need help with named common blocks
Reply-To: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Organization: MRL - UIUC
Distribution: comp
Date: Tue, 15 Dec 1992 00:14:15 GMT

In article <1992Dec13.211623.1@slacvx.slac.stanford.edu>, fairfield@slacvx.slac.stanford.edu
writes:
|>In article <jumper.724304615@fritz.catt.ncsu.edu>, jumper@fritz.catt.ncsu.edu (Michael Lanham)
|>writes:
|>[...]
|>> I have several program src files.  In the file with the BLOCK DATA segment,
|>> the COMMON block is named and shaped as follows:
|>> 
|>>       IMPLICIT INTEGER (A-Z)
|>>       COMMON/SHARE1/TABLE(1770),NOPU(54),FLHS(54),UNUSE0(122),
|>>      -           XLATE(127),KWT1(50),KWT2(50),STACK1(50),STACK2(50),
|>>      -           SYMBOL(8),VALUE(8),UNUSE5(16),CHAR(80),VALUXY(12),
|>>      -           LISTX(61),INTERX(70),SYNTAB(2,26),CHARX(26),TAG(50),
|>>      -           (50)
|>
|> [...]
|>... something like CHAR(80) is most likely declared later to be
|>of type CHARACTER*1 (or BYTE or INTEGER*1 or LOGICAL*1)...  

I think that the standard does not allow mixing character and non-character
variables in the same common block. Correct me if I am wrong.
--
Furio Ercolessi
Materials Research Laboratory           |   Intl School for Advanced Studies
Univ. of Illinois at Urbana-Champaign   |   Trieste, Italy
furio@uiuc.edu                          |   furio@sissa.it
Newsgroups: comp.lang.fortran
From: fairfield@slacvx.slac.stanford.edu
Subject: Re: Uglifier (was Re: Real Programmers)
Organization: Stanford Linear Accelerator Center
Date: Wed, 16 Dec 1992 07:29:33 GMT

In article <BzC6n8.J2G@news.cso.uiuc.edu>, ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi) writes:
[...]
> Hmmm ...
> did any one ever made a source code uglifier, a filter removing
> all comments, renaming all variables as A1,A2,... (*),  removing all
> extra spaces, replacing character constants with Holleriths, etc?
> It could be a useful tool after all!  Sometimes you do not want to
> give away your sources, you would like to give only the binaries
> but that's impractical ... this would be a brilliant intermediate 
> solution, give uglified code!  :-)

    The Fortran output produced by Mortran (at least the earlier versions)
comes pretty close. :-(
-- 
 Dr. Kenneth H. Fairfield    |  Internet: Fairfield@Slac.Stanford.Edu
 SLAC, P.O.Box 4349, MS 98   |  DECnet:   45537::FAIRFIELD (45537=SLACVX)
 Stanford, CA   94309        |  BITNET    Fairfield@Slacvx
 ----------------------------------------------------------------------------
 These opinions are mine, not SLAC's, Stanford's, nor the DOE's...
Newsgroups: comp.lang.fortran
From: bandy@netnews.jhuapl.edu (Mike Bandy)
Subject: Re: elapsed time
Organization: JHU/Applied Physics Laboratory
Distribution: usa
Date: Mon, 14 Dec 1992 18:15:47 GMT

sangwook@leland.Stanford.EDU (Sang Wook Sihn) writes:

>Hi.
>Does anyone know what the time functions are in fortran?
>I want to know the elasped time when I run the program.
>Thanks in advance.

You'll have to look at the system services offered by the operating
system under which your program runs.  Fortran, unlike C, does
not a standard portfolio of common system services.

>Sangwook

-- 

	Mike Bandy
	bandy@aplcomm.jhuapl.edu
	Johns Hopkins University / Applied Physics Lab
From: xiong@spade.rutgers.edu (Xiong)
Newsgroups: comp.lang.fortran
Subject: Dynamic Memory Allocation in FORTRAN, Question
Date: 20 Dec 92 07:22:20 GMT
Organization: Rutgers Univ., New Brunswick, N.J.

Hi, I am wondering if it is possible to allocate memory dynomically in
FORTRAN as in C? I am loooking for something equivalent to:

	int * a;
	a = (int *) malloc (numx * sizeof (int));

in C.

Thanks a lot for your help. If this question has been asked before (I
did not find it in the FAQ), plese e-mail me the answer at 
xiong@spade.rutgers.edu.

Junjie
Newsgroups: comp.lang.fortran
From: ejh@khonshu.colorado.edu (Edward J. Hartnett)
Subject: Re: swapping bytes on a two byte integer
Organization: CIRES, University of Colorado
Date: 16 Dec 92 10:26:51

In article <1992Dec15.172455.12204@e2big.mko.dec.com> lionel@quark.enet.dec.com (Steve Lionel) writes:

   In article <BzB6rI.LI7@acsu.buffalo.edu>, acscmaw@ubvmsb.cc.buffalo.edu 
   (MARK WIECZOREK) writes:
   |>
   |>I have a very simple problem. I have a binary data file composed of two byte
   |>integers. After reading the data I would like to change the order of the 
   |>bytes and write the result to a file. I've looked through the vax fortran
   |>manuals and couldn't find a way to do this. Any help would be greatly
   |>appreciated. 
   |>

   The simplest way is to use ISHFTC(value,8,16).  If you have a lot of these to
   do and want something faster, you can define the variable as a record structure
   with two byte elements and swap the bytes yourself.

   The next major release of Fortran for OpenVMS VAX will have a feature that will
   do the byte-swapping for you on input or output, if selected.
   --

Well, this might generate some flames, but C is perfect for doing this
sort of thing. If you can hook up a C function to your fortran
program, or write a simple C program to do the byte shifting, that
might be the easiest way to go.

Please! I love FORTRAN! REALLY!
--
	Don't blame me, I voted against Amendment 2!

Edward Hartnett				ejh@khonshu.colorado.edu
From: mac@cis.ksu.edu (Myron A. Calhoun)
Newsgroups: comp.lang.fortran
Subject: Re: WANTED URGENTLY!!PLEASE!!
Date: 20 Dec 92 15:26:26 GMT
Organization: Kansas State University
NNTP-Posting-Host: depot.cis.ksu.edu

someone writes:
>My sister is doing a Fortran77 project on the game Othello. Our command
>of the Fortran language is not powerful enough to write a good program.
>Since this project will take up 50% of her final examinations, she is
>very worried right now. Can anyone send a sample of the algorithm to
>rescue her? Please send to either ....

I'm bothered by this request, but maybe I just don't understand.

It appears that the project is imposed from above; I can imagine
several situations:

a) "For your final project in this freshman-level FORTRAN class,
    implement this algorithm for the game of Othello in FORTRAN."
    
    If this were the situation, I don't understand why the URGENT
    request for an algorithm for the game of Othello.
    

b) "For your final project in this senior-level ALGORITHM DESIGN class,
    implement the game of Othello."
    
    If this is the situation, perhaps the intent of the imposer is to
    see if the "sister" can do "original" algorithm-design work, in
    which case it doesn't seem ethical for ANYONE to help her, beyond,
    perhaps, answering simple questions on FORTRAN syntax or semantics
    or the rules of the game of Othello.


c) "For your Ph.D. degree, develop an algorithm to play the game of
    Othello, for which no algorithm has ever been developed before."
    
    If this is the situation, again, it doesn't seem ethical for ANYONE
    to provide algorithms, etc.  Besides, if such an algorithm already
    exists, this shouldn't be Ph.D.-level work anyway.


d)  If the project is self-chosen, perhaps other possibilities (such as
    self-choosing a different project) might be appropriate.

As I said at the first, maybe I just don't understand.
--Myron.
-- 
# We preserve our freedoms using four boxes:  soap, ballot, jury, and cartridge.
# Myron A. Calhoun, PhD EE; Assoc. Professor  (913) 539-4448 home
# INTERNET: mac@cis.ksu.edu (129.130.10.5)          532-6350 work, 532-7353 fax
#     UUCP: ...rutgers!depot!mac     Packet-BBS: W0PBV @ K0VAY.#NEKS.KS.USA.NAOM
Newsgroups: comp.lang.fortran
From: pm@cc.univie.ac.at (Peter Marksteiner)
Subject: Re: Uglifier (was Re: Real Programmers)
Organization: Vienna University Computer Center
X-Newsreader: TIN [version 1.1 PL6]
Date: Thu, 17 Dec 1992 10:29:11 GMT

Here's my favourite ugly program (uglified by hand, not by an automatic
uglifier).

      IMPLICITDOUBLE PRECISION(A-H,O-Z)
173210 WRITE(6,76123)
      READ(5,*,END=17213)X
      OOO0=OOO0O(X)
      WRITE(6,*)OOO0
      GOTO 17321
17213 STOP
761230FORMAT(10H ENTER X: )
      END
      FUNCTION OOO0O(Z)
      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
      INTEGER O0OOO
      EQUIVALENCE(O,DO10I),(O0OOO,NDIF),(INDIF,O0OOO)
      DATAOCO,C2,C3,C4,C5,C6,C7,C8,C9/-2.056338417D-7,-1.1651675918591D-
     63,-9.6219715278770D-3,-4.20026350340952D-2,0.1665386113822915D0,-4
     7.21977345555443D-2,7.2189432466630D-3,6.1160950D-9,1.1330272320D-6
     //O0,OO0,CNDIF,O0O,OOO,OO,O00/-0.6558780715202538D0,1.280502823882D
     5-4,1.D0,-2.01348547807D-5,-2.152416741149D-4,0.5772156649015329D0,
     1-1.2504934821D-6/
      NDIF=NINT(Z)
C
C  ... CALCULATE STARTING VALUES
C
      DO 10 I=Z-NDIF
         C1 = 1.D0
C        OOO0O(I)=SQRT(PI)*(I+1)/X(N)
C        CALL REPLSR(OOO0O,O0OOO,NDIF,O,O0O0,OOO0O,C1)
   10 CONTINUE        
      IF(DABS(O).LT.1.E-15.AND.Z.GT.0.5) THEN
          C=137.542
          OOO0O=C
     END IF
C
C
      DO 17 1I=2,NDIF-1
C        CALL REPLSR(O000O,O0OOO,NDIF,0,O0O0,OOO0O,C1)
 17   CONTINUE
  171 OOO0O=OOO0O*I
      RETURN
      END                                                             IF
C     SUBROUTINE REPLSR(OOO0O,O0OOO,NDIF,O,O0O0,OOO0O,C1,C7,=O000O,OOOO)
      OOO0O=O*(C1+O*(OO+O*(O0+O*(C4+O*(C5+O*(C6+O*(C3+O*(C7+O*(C2+O*(OOO
     1+O*(OO0+O*(O0O+O*(O00+O*(C9+O*(OCO+O*C8)))))))))))))))
C    IF(O0OOO-1.LT.C7/X) THEN
         OOO0O=1./OOO0O
         DO 2 I=1,NDIF
            OOO0O=OOO0O*O
            DO 10 I=
C             X(I)=COS(OOO0O**2)*T(I)*AMINUS(K)
     1O                                                               +1
2        CONTINUE
         O0OOO=-I
     END IF
        DO 3 I=1,NDIF
      O=O-1.
    3 OOO0O=OOO0O/O
      RETURN
      END

This program is completely ANSI X3.9-1978 standard conforming. Besides,
it does perform a meaningful mathematical operation. (I leave it to the
reader to find out what). Occasional comments, indentations etc. do not 
mean that it was not written by a real programmer, confusing comments and
misleading layout were included on purpose.


               Peter Marksteiner
               Vienna University Computer Center


    "The four branches of arithmetic: ambition, distraction, uglification
    and derision."  -- Alice in Wonderland
From: sotoc@frith.egr.msu.edu (Ciro Soto)
Newsgroups: comp.lang.fortran
Subject: REQ: Latest f2c
Date: 15 Dec 92 23:25:20 GMT
Organization: College of Engineering, Michigan State University

I would like to know where to get the latest version
of the translator f2c (fortran to C).
Please send reply to me.

Thanks,

Ciro

-------------------------------------------------------------------------
Ciro A. Soto                               Home: (517) 353.68.70
Dept. of Mechanical Eng.                   Off.: (517) 355.51.29
A231 Eng. Building                         Lab.: (517) 336.10.83
Michigan State University                  Fax : (517) 353.17.50
East Lansing, MI-48824-1226              e-mail:sotoc@frith.egr.msu.edu
USA
-----------------------------------------------------------------------
Newsgroups: comp.lang.fortran
From: sangwook@leland.Stanford.EDU (Sang Wook Sihn)
Subject: elapsed time
Organization: DSG, Stanford University, CA 94305, USA
Distribution: usa
Date: Sat, 12 Dec 92 21:30:16 GMT

Hi.
Does anyone know what the time functions are in fortran?
I want to know the elasped time when I run the program.
Thanks in advance.

Sangwook


Xref: sparky comp.lang.fortran:4682 comp.lang.c++:17875 comp.lang.c:18269
From: D.Love@daresbury.ac.uk (Dave Love)
Newsgroups: comp.lang.fortran
Subject: Re: Real Programmers
Date: 16 Dec 92 15:20:12 GMT
	<DODD.92Dec15142737@mycenae.cchem.berkeley.edu> <gay.724466320@sfu.ca>
	<1992Dec16.025109.24541@coe.montana.edu>
	<DODD.92Dec16060307@mycenae.cchem.berkeley.edu>
Organization: SERC Daresbury Laboratory, Warrington, UK

>>>>> On 16 Dec 92 14:03:07 GMT, dodd@mycenae.cchem.berkeley.edu (Lawrence R. Dodd) said:

 > so are we agreed that the final version would be the following?

 > 85367 FORMAT(100(3H:-))/22HFOR THE HUMOR-IMPARED.)
 >       WRITE(6,85367)

No.
24HFOR THE HUMOUR-IMPAIRED.
Newsgroups: comp.lang.fortran
From: alumni107@camins.camosun.bc.ca
Subject: Variable-sized square matrices
Organization: Camosun College
Date: Fri, 11 Dec 1992 08:09:19 GMT

I am working with a set of functions that operate on variable-sized
square matrices. Currently, I pass a one-dimensional array to these
functions filled/accessed in the order that a 2D array would be
filled. Is this portable and safe ? 

Alternately, I could modify all the functions to accept square 
matrices of a fixed size, with an additional parameter to specify the 
current size. 

Which would you say is the most acceptable ? I have seen examples of 
professional code using both methods.

Jeff Johnson; .sig agnostic
alumni107@camins.camosun.bc.ca
Newsgroups: comp.lang.fortran
From: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Subject: Uglifier (was Re: Real Programmers)
Reply-To: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Organization: MRL - UIUC
Date: Wed, 16 Dec 1992 05:16:19 GMT
Keywords: n

In article <1992Dec16.025109.24541@coe.montana.edu>, uesu03@giac1.oscs.montana.edu (Lou Glassy)
writes:
|>[...] Last year, an instructor
|>handed out a small numeric code that followed all of the qualities
|>listed by {Doctor FORTRAN| James|Laurence|Ian}.  No unnecessary spaces
|>or commas, all caps, 98.7% of variables were 2 or 3 characters in
|>length, and a whopping 5 comments in about 1500 lines of source.
|>Blecch!

Hmmm ...
did any one ever made a source code uglifier, a filter removing
all comments, renaming all variables as A1,A2,... (*),  removing all
extra spaces, replacing character constants with Holleriths, etc?
It could be a useful tool after all!  Sometimes you do not want to
give away your sources, you would like to give only the binaries
but that's impractical ... this would be a brilliant intermediate 
solution, give uglified code!  :-)

Also, sounds like a good exercise for some CS course.


[(*) HP 9830 BASIC anyone?]
--
Furio Ercolessi
Materials Research Laboratory           |   Intl School for Advanced Studies
Univ. of Illinois at Urbana-Champaign   |   Trieste, Italy
furio@uiuc.edu                          |   furio@sissa.it
From: burley@apple-gunkies.gnu.ai.mit.edu (Craig Burley)
Newsgroups: comp.lang.fortran
Subject: Re: function name as an argument
Date: 15 Dec 92 03:17:25
Organization: Free Software Foundation 545 Tech Square Cambridge, MA 02139
	<ADK.92Dec12114449@ds2.sun13.SCRI.FSU.EDU>
	<1992Dec14.150347.17156@e2big.mko.dec.com>
	<1992Dec15.015958.26192@draco.macsch.com>
NNTP-Posting-Host: apple-gunkies.gnu.ai.mit.edu
In-reply-to: dnl@convex.is.macsch.com's message of Tue, 15 Dec 92 01:59:58 GMT

In article <1992Dec15.015958.26192@draco.macsch.com> dnl@convex.is.macsch.com (David Lombard) writes:

   In article <1992Dec14.150347.17156@e2big.mko.dec.com> lionel@quark.enet.dec.com (Steve Lionel) writes:

   >Absolutely true.  But even if you compiled all the routines together, what if
   >you added another caller of SUB which passed FUNC declared as a different
   >length?  Unless you additionally require procedure inlining, there is no way
   >that SUB can know which routine called it and which length to statically
   >allocate.  This is why the standard requires the length of a character
   >function to be declared as an integer constant expression in the program
   >unit which calls the function.  And this is why an implementation (such as
   >VAX FORTRAN), which does allow the (*) in the referencing unit, passes the
   >length along with the routine address, so that it may do run-time allocation
   >for the function result.
   >
   NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO!
   [useless repetitions of above line deleted]

   PLEASE, read sections 8.4.2 and 15.9.3.1 of the standard.  They explain why
   all implementations of the language must maintain and pass around the
   length of each character variable.  All implementations must allow the (*)
   in subprograms.  This is not some mystical example of the great god VMS.
   If an implementation does not support (*), then it is simply non-conforming.

This is a case of _your_ not reading the subject heading.  The discussion
is about passing character _functions_, not _variables_.  It _is_
standard-conforming for an implementation to not support CHARACTER*(*) CFUNC
if the program unit does CFUNC(...) anywhere.

   A word to the wise, the standard is not a document one can casually read.

Neither, apparently, is a USENET posting.  :-)

   The information is `scattered' throughout the document.  One must `swim'
   in the standard to understand it.  This is not meant as an impeachment of
   the standard, just a statement of fact.

Or, one could read the subject heading if one is unwilling to read through
earlier portions of the thread.  :-)

Admittedly, this kind of confusion is one of the reasons we all love
Fortran so much.  :-)
--

James Craig Burley, Software Craftsperson    burley@gnu.ai.mit.edu
Member of the League for Programming Freedom (LPF) lpf@uunet.uu.net
Newsgroups: comp.lang.fortran
From: lionel@quark.enet.dec.com (Steve Lionel)
Subject: Re: Need help with named common blocks
Reply-To: lionel@quark.enet.dec.com (Steve Lionel)
Organization: Digital Equipment Corporation, Nashua NH
Distribution: comp
Date: Mon, 14 Dec 1992 14:52:41 GMT


In article <jumper.724304615@fritz.catt.ncsu.edu>, 
jumper@fritz.catt.ncsu.edu (Michael Lanham) writes:
|>
|>I have several program src files.  In the file with the BLOCK DATA segment,
|>the COMMON block is named and shaped as follows:
|>
|>      IMPLICIT INTEGER (A-Z)
|>      COMMON/SHARE1/TABLE(1770),NOPU(54),FLHS(54),UNUSE0(122),
|>     -           XLATE(127),KWT1(50),KWT2(50),STACK1(50),STACK2(50),
|>     -           SYMBOL(8),VALUE(8),UNUSE5(16),CHAR(80),VALUXY(12),
|>     -           LISTX(61),INTERX(70),SYNTAB(2,26),CHARX(26),TAG(50),
|>     -           (50)
|>
|>
|>
|>In most of the other modules the common block share1 is entered the same way.
|>Now I found an additional SHARE1 that is different.
|>
|>      COMMON/SHARE1/NSVT(1000),OSVT(1000),
|>     -             OPND(3),LINE(133),UNUSE3(574),
|>     -             OUTTAB(50,4),SUPP(100,2),SYMBL(2),UNUSE2(18)
|>
|>Is an accurate way of thinking of SHARE1 is the first declaration plus the
|>second concatenated to the end of the second?  I need to know this so I can
|>correctly build my union in C to accurately reflect the SHARE1 structure.
|>

Yep.

	Any common block name _cb_ or an omitted _cb_ for blank common
	may occur more than once in one or more COMMON statements in
	a program unit.  The list _nlist_ following each successive
	appearance of the same common block name is treated as a 
	continuation of the list for that common block name.

		ANSI X3.9-1978, s8.3.1, p8-4, lines 1-5

Steve Lionel                    lionel@quark.enet.dec.com
SDT Languages Group
Digital Equipment Corporation
110 Spit Brook Road
Nashua, NH 03062
Newsgroups: comp.lang.fortran
From: agrafiot@wl.com (Dimitris Agrafiotis)
Subject: file redirection under unix
Organization: Warner Lambert / Parke-Davis
Distribution: usa
Date: Tue, 15 Dec 1992 19:28:47 GMT


A trivial question: how does one redirect fortran output on a unix system?
(the vms equivalent would be DEFINE FOR012 file.dat). If the answer is
soft links, how do we take care of multiple versions of the program 
running in the same default directory?
-- 
Dimitris K. Agrafiotis
Computer Assisted Drug Design
Parke-Davis Pharmaceutical Research
(agrafiot@wl.com)
From: eng10317@nusunix1.nus.sg (TAN PONG FEI)
Newsgroups: comp.lang.fortran
Subject: games project
Date: 17 Dec 92 09:04:28 GMT
Organization: National University of Singapore
X-Newsreader: TIN [version 1.1 PL6]

hello everyone!!!
      Can anyone offer me some help???? I  need help on programming on
some games which i find some difficulty with. They are games like the
othello and the mastermind. I really hope someone can help me with this
project that have been entrusted to me. Just send me either one of the
games i have mention above and i will really appreciated it. If you do
know the programme, can you mail me as soon as possible???? Thanx.
Before i logout i would like to thank you first.Bye!!!
From: jsvrc@rc.rit.edu (Doctor FORTRAN)
Newsgroups: comp.lang.fortran
Subject: Re: Real Programmers
Date: 14 Dec 92 23:52:45 GMT
Organization: RIT Research Corp
Originator: jsvrc@rcmain.rc.rit.edu

In article <DODD.92Dec12062844@mycenae.cchem.berkeley.edu> dodd@mycenae.cchem.berkeley.edu (Lawrence R. Dodd) writes:

>One could put an appendix on the end with new references pointing out the
>newly discovered virtues of FORTRAN.

Here's the list you've all been waiting for: From the home office in Scottsdale,
Arizona, the newly discovered virtues of FORTRAN:

10. Implicit typing eliminates wasteful declaration of variables.

 9. Multi-million dollar interplanetary probes can be sent parsecs off course
	because of missing comma in "DO" statement.

 8. Is sexier than C.

 7. Be the first on your block to wear the "I've got a FORTRAN-90 Compiler"
	T-shirt.

 6. Take snotty young quiche-eating brats to task for their turning up their
	noses at what is obviously a real programming language (when
	programmers were programmers, and not sissies).

 5. Best language to use on an IBM-1620 CADET (Can't add, doesn't even try).

 4. Rigid field format goes hand-in-hand with model 29 keypunch program drum.

 3. Built-in job security with Arithmetic IFs, ASSIGNs, and Computed GOTOs.

 2. Code is self-documenting.

And (drumroll, please, Paul), the Number One newly discovered virtue of
FORTRAN, from the home office in Scottsdale, Arizona,

 1. You can argue over whether it's really "FORTRAN" or "Fortran".

=============================================================================

  101 Format (100 (' :-)'), /, ' For the Humor-impared.')
      Write (Kout, 101)