[plug] Programming Languages

Bret Busby bret at clearsol.iinet.net.au
Tue Sep 19 16:43:52 WST 2000


Rob Dunne wrote:
> 
> I think that you should have a look at fortran
> 
> for general info on fortran on linux
>     http://studbolt.physast.uga.edu/templon/fortran.html
> 
> for comments on g77 -- an very nice fortran compiler
>        http://studbolt.physast.uga.edu/templon/g77-comments.html
> 
> a fortan90 subset compiler (no f77 backwards compatability)
>       http://www.imagine1.com/
> 
> see also  Clive G. Page, "Professional Programmer's Guide
>              to Fortran 77"
> at ftp.star.le.ac.uk in  /pub/fortran/prof77.ps.gz
> 

Wot about FORTRAN-90?

Is there not a full, free, ANSI FORTRAN-90 compiler available for Linux?

The "general info" page, refers to a F90 to F77 preprocessor, but, given
that F77 did not have the stacks, pointers, and recursion, etc, that F90
has, how are they implemented? How can a language that does not provide
for dynamic data types, such as pointer-based linked lists, etc,
implement the dynamic data structures?

As far as I am aware, Linux (well, at least UNIX, and, also, I believe,
the various versions of "DOS", relating to CISC chip based systems), is
written in "C", so, logically, a F90 to "C" preprocessor would appear
more appropriate.

Whilst FORTRAN has its great advantages, "C" appears to be the way to
go; it has a compiler for every relatively common operating system, and
most can implement the ANSI "C" standard; but, the poster of the
originating message, should avoid using extensions, or, variations, to
non-standard languages, whichever language he uses. From memory, gcc has
a switch (most "C" compilers do) - to force compliance with the ANSI "C"
standard.

I suggest "C". Then, you can have fun, confusing anyone else, and,
yourself, after a couple of days, as to what the code actually does
(unless you properly document it, and, that takes time), and so you can
have fun-filled evenings, weekends, and, other leisure time, trying to
decipher what the code is actually meant to be doing (especially, when
you are trying to debug it).

FORTRAN 90 does have wonderful features, like programmer defined levels
of precision (uh, lets see; I want this to be precise to 1024 digits,
so, after the calculations are completed, the answer should be precise
to two digits); but, then, in "C", you can create the data types, and,
write your own maths libaries (and other relevant libraries, like a
logical library (to include the boolean values, TRUE, FALSE, and MAYBE,
MAYBENOT, and UNSURE)), to ensure that you have a fun-filled programming
future. And, you can have lots of levels of nested brackets, and,
pointers (to pointers (to pointers (to....))), as arguments to
functions, which are being passed as arguments to functions, that are
being passed... , or, you can pass the pointers to the fuctions as the
arguments, instead of the functions, and, so, on it goes...

Whatever is said, unless my understanding is wrong (Put out those
flamethrowers!), "C" is the most powerful programming language, and, all
kinds of things, from operating systems, to whatever application that
can be imagined, are either written in, or, can be written in, "C". The
only other programming language that is needed, and, it is the full-on,
wash-yourself-all-over-with-turps-afterwards-and-don't-come-into-the-house-until-you-have, 
dirty languge, but is necessary, for the lowest level interface, is
assembler. Now, there, you could have fun...

One feature of "C", that has not been mentioned, and, that does not tend
to get taught, nowadays, where the tendency is to write a program to
crash on error, rather than to handle errors, is the use of zero and one
as logical values, so using the value returned by an integer function
(and, therefore, declaring as many functions as type integer, as
possible, and, never using the void function declaration), so that, if a
function does not work, a programmer can properly implement error
handling.

One thing, that no-one appears to have yet mentioned; if you were
comfortable programming in Pascal, then, "C" is the natural and logical
progression; like Pascal programming, except that you can get your hands
dirty, if you want.

By the way, the use of the quotes, in the "C", is as it was in the
beginning, when Kernighan and Ritchie defined "C", and, wrote the book,
that is the sacred writing, from which it all began...

By the way, Rob; do you know that you had set your Reply To address? Was
it intentional?

-- 

Bret Busby

......................................
"So once you do know what the question actually is, you'll know what the
answer means."
 - Deep Thought, Chapter 28 of The Hichhiker's Guide to the Galaxy
 - Douglas Adams, 1988 
......................................



More information about the plug mailing list