Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Fortran: 7 Reasons Why It’s Not Dead
Information Week ^ | 7/6/15 | Curtis Franklin Jr.

Posted on 07/06/2015 3:51:37 AM PDT by markomalley

Fortran: Where general-purpose programming began.

The list of high-tech tools in continuous use since the early 1950s isn't very long: the Fender Telecaster, the B-52, and Fortran.

Fortran (which started life as FORTRAN, or FORmula TRANslator) was first created by IBM programmer John Backus in 1950. By the time John F. Kennedy was inaugurated, FORTRAN III had been released and FORTRAN had the features with which it would become the predominant programming language for scientific and engineering applications. To a nontrivial extent, it still is.

Whereas COBOL was created to be a general purpose language that worked well for creating applications for business and government purposes in which reports and human-readable output were key, FORTRAN was all about manipulating numbers and numeric data structures.

Its numeric capabilities meant that Fortran was the language of choice for the first generation of high-performance computers and remained the primary development tool for supercomputers: Platform-specific versions of the language power applications on supercomputers from Burroughs, Cray, IBM, and other vendors.

Of course, if the strength of Fortran was in the power of its mathematical processing, its weakness was actually getting data into and out of the program. Many Fortran programmers have horror stories to tell, most centering upon the "FORMAT" statement that serves as the basis of input and output.

While many scientific applications have begun to move to C++, Java, and other modern languages because of the wide availability of both function libraries and programming talent, Fortran remains an active part of the engineering and scientific software development world.

So how can you get your hands on Fortran? It's actually pretty easy. This isn't an exhaustive list of all the Fortran compilers in the world, but rather a survey of some of the packages easily available to those who want to learn the language or use it in their own projects (plus a couple that you're likely to run into if you land that Fortran programming job you're hoping for).

If you're looking for a programming language in use on everything from $25 computers that fit in the palm of your hand to the largest computers on earth you only have a couple of choices. If you want that programming language to be the same one your grandparents might have used when they were beginning his or her career, then there's only one option. Welcome to Fortran, the once and future language of scientific computing.

GNU Fortran

GNU Fortran is the primary open source version of the Fortran compiler and is widely used both in and out of academia. Because GNU Fortran depends on volunteers, progress on any individual feature or host architecture can be slow, but progress is made and GNU Fortran is available on many, many platforms, from "big iron" to single-board computers like the Raspberry Pi.

If you're just getting started in Fortran and are looking for a single compiler that you can learn and apply broadly, GNU Fortran is hard to beat.

Oracle Solaris Studio

Oracle Servers spring from the family tree that was once Sun Microsystems -- a major platform for scientific and engineering applications. It makes sense, then, that the Oracle Solaris Studio would include a Fortran compiler. The Solaris Studio Fortran compiler still sees heavy use, even though the studio also includes C++ and C compilers.

The Solaris Studio runs on, and compiles code for, both Solaris and Linux, and so must be considered one of the heavy hitting Fortran compilers in the market today.

IBM's Fortran Family

IBM is where Fortran began. The IBM Fortran family now includes four members, with separate compilers for z/OS and z/VM, AIX, Blue Gene, and Linux. If you're a programmer "of a certain age" you probably learned Fortran on an IBM platform. If you haven't yet attained that certain age you may well encounter IBM Fortran in a scientific or engineering career. The good news is that IBM Fortran is standards-based, so even if you learn Fortran on a compiler named for a wandering animal of the African plains, your knowledge should easily transfer.

HP Fortran

HP has a long history of applications in the scientific and engineering fields, so it's no surprise that HP Fortran is still an active family of compilers on a wide variety of platforms. The HP Fortran Home shows compilers for every current HP platform, from Windows up to Tru64 Unix Alpha, and one serious legacy system -- remember the VAX? The breadth of HP's offerings mean that you can take the skills from one platform to another as you move up and down the hardware power scale, and the legacy VAX compiler should allow you to move into shops that are keeping Applications of Historic Significance alive with very little additional training.

Intel Fortran

It's in Intel's best interest to make sure that applications running on their processors do so quickly. That's why the Intel Fortran compilers are optimized for high-performance computing environments running under Linux, Windows, and OS X operating systems. The Intel Fortran compiler is especially good at highly parallel applications. That's a good thing, because trying to figure out parallel operations on compilers that don't include superb parallel optimization can make your head hurt.

Fortran For Raspberry Pi

So you've set up your Raspberry Pi and now you want to see just how close to a supercomputer you can come with a system in an Altoids tin. A Fortran compiler isn't included with the Raspbian Linux distribution that comes on the Raspberry Pi systems, but it's easily downloaded and applied by any one able to get the system up and running in the first place. Fortran is a great match for the Raspberry Pi, especially in applications where you're trying to create a low-cost high-performance computer. There are tons of libraries and routines available in the scientific world, so the Raspberry Pi with Fortran can be a great place to start a young citizen scientist on a road to discovery.

Fortran For Android

Want to take Fortran with you no matter where you go? Then Fortran on Android is the way to go. This is a small compiler that is relatively complete in the basics, though it obviously lacks features regarding high-end I/O and huge data structures available in some of the more mainstream compilers. This IDE also includes C, C++, and more, so it's possible to write applications that make use of libraries and functions from many different sources. You probably won't write the world's highest-performing application with this package, but you'll be able to spend your time on the train home writing code rather than trying to level up in yet another fruit-smashing game.

More (And Less) Fortran

There are, obviously, many more Fortran packages out in the world. Most platforms have their own Fortran compiler, though iOS is a notable exception. The good news for those who love the language is that development continues: The J3 Fortran Standards Committee is working on the next standard, tentatively titled Fortran 15.

If you're already conversant in Fortran, then the continued availability and ongoing development of the language is welcome news. If you're a Java coder looking for a new tool to solve problems, then Fortran could make an interesting addition to your toolset. And if you're just looking for a neat way to express solutions to numerically intensive problems, then Fortran has got you covered.

Where do you fit into the Fortran world? Was it the first language you learned? Are you just curious about the way the "old-timers" did things? Let me know your Fortran story.


TOPICS: Computers/Internet
KEYWORDS: fortran; g42
Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-69 next last
To: norwaypinesavage

I had an IBM-PC so early it still came with the (never used) cassette port for mass storage. 16K soldered to the motherboard, DIP sockets for adding 3 rows of 16k chips to get you all the way to a whopping 64K!

And yes, I realize this is nothing in the way of early computers.

I used the PC’s interpreted BASIC to do a graduate level engineering numerical methods class. It kept me from having to drive down to the computer center, where I could have used FORTRAN on the CDC Cyber. The PC was slow, but I’d get things set up and running, and then let it run overnight to converge to a solution. It beat getting in a car!


41 posted on 07/06/2015 7:54:37 AM PDT by FreedomPoster (Islam delenda est)
[ Post Reply | Private Reply | To 9 | View Replies]

To: Be Free

Technically, I think they were PR1ME, not PRIME.

;-P


42 posted on 07/06/2015 7:56:31 AM PDT by FreedomPoster (Islam delenda est)
[ Post Reply | Private Reply | To 16 | View Replies]

To: Lazamataz
> .NET FOREVER BABY!

Oy vey!

You mean Java forever baby, since .NET does allow for manually managed memory headaches as well:

https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.allochglobal.aspx

43 posted on 07/06/2015 8:37:13 AM PDT by SecondAmendment (Restoring our Republic at 9.8357x10^8 FPS)
[ Post Reply | Private Reply | To 38 | View Replies]

To: SecondAmendment

Allows for.

No one should need to do that.


44 posted on 07/06/2015 8:38:53 AM PDT by Lazamataz (A-holery is irrevocable)
[ Post Reply | Private Reply | To 43 | View Replies]

To: markomalley

I learned FORTRAN in university in 1990 when I was still in engineering school. I hated the textbook and the instructor was useless, so I bought the Watcom FORTRAN reference manual and taught myself, showing up in class only long enough to get the weekly assignments.

I was in the mechanical engineering department. I wish I had had the option of learning C instead, like the electrical engineers did. I would have had use for it later in life. Never had a need for FORTRAN again.


45 posted on 07/06/2015 8:50:22 AM PDT by RansomOttawa (tm)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Lazamataz
> No one should need to do that.

I am with you there !

46 posted on 07/06/2015 9:07:44 AM PDT by SecondAmendment (Restoring our Republic at 9.8357x10^8 FPS)
[ Post Reply | Private Reply | To 44 | View Replies]

To: pookie18

Ah, a kindred soul. I, too, learned FORTRAN II on an IBM 1620 in college. After graduation I programmed FORTRAN IV on an IBM DCS (direct coupled system) which was a 7094 running as a slave to a 7044 which handled the card readers, punches, line printers and tape drives. All mass storage was on 800 bpi magnetic tapes. No, friends, disc drives were no where to be found.

The 7094 had 36k words (36 bits/word) and the code was in BCD. Not much power for a several million dollar set of cabinets that filled a room and ate A/C.


47 posted on 07/06/2015 10:50:35 AM PDT by MisterArtery
[ Post Reply | Private Reply | To 37 | View Replies]

To: eCSMaster
"My first after-graduation job was FORTRAN II on a CDC 6600.

Mine was FORTRAN 4 (77?) on an HP9000, happily I moved on to C about a year later. C was (is) a great programming language. I like Java too but I always remember that "strong typing is for weak minds", lol, C let me get down and dirty with data stacks that would cause a Java compilers to self dis-struck.

48 posted on 07/06/2015 11:03:40 AM PDT by jpsb (Believe nothing until it has been officially denied)
[ Post Reply | Private Reply | To 8 | View Replies]

To: MisterArtery

Cool!


49 posted on 07/06/2015 11:34:25 AM PDT by pookie18 (16 months until the general election...)
[ Post Reply | Private Reply | To 47 | View Replies]

To: dayglored
FORTRAM IV was my first computer language, back in 1970...
in about 1960 I had two computer courses in engineering school - an elective and a required course.

The elective? FORTRAN.

The required course? Analog computation.


50 posted on 07/06/2015 11:56:04 AM PDT by conservatism_IS_compassion ('Liberalism' is a conspiracy against the public by wire-service journalism.)
[ Post Reply | Private Reply | To 29 | View Replies]

To: norwaypinesavage

Now we’re getting nostalgic.

Fortan 77 was my 2nd language.


51 posted on 07/06/2015 3:29:12 PM PDT by Professional Engineer (You all can go to hell, I'm going to Texas.)
[ Post Reply | Private Reply | To 9 | View Replies]

To: conservatism_IS_compassion
> The required course? Analog computation.

Ah, that's very cool. Granted, they're not used widely these days, but they still have applications.

I never got to take an analog computation course, having entered college in 1970.

But in 1979 I was designing a variable-speed/variable-voltage 3-phase inverter for induction motors in the 5-20HP range. The heart of the control system was an integrator/differentiator stage with second-derivative feedback. It had to operate very smoothly with high precision to ensure system stability. The microprocessors of that time weren't fast enough at precision math to make the control scheme work. So after the initial calculations, the uP drove a D/A converter to feed a three-op-amp analog computer that implemented the integrator/differentiator stage. The output of the I/D stage was A/D converted back to continue the digital control algorithm. Worked quite well, and had the additional advantage that we could hang a scope probe on the I/D op-amp pins to see what was going on during debug.

52 posted on 07/06/2015 6:15:32 PM PDT by dayglored (Meditate for twenty minutes every day, unless you are too busy, in which case meditate for an hour.)
[ Post Reply | Private Reply | To 50 | View Replies]

To: Senator_Blutarski
They hide behind the increases in processor speed and memory size.

Have you ever used one of these modern PCs to run software without Microsoft bloatware? Using an old DOS sort, which is pretty crude, I sorted a file containing two million movie titles/descriptions in under six seconds. I thought the process blew up until I saw the output file.

53 posted on 07/06/2015 7:15:03 PM PDT by GingisK
[ Post Reply | Private Reply | To 34 | View Replies]

To: Lazamataz

I’ve got to take the kiddies shooting soon, before July expires.


54 posted on 07/06/2015 7:15:54 PM PDT by GingisK
[ Post Reply | Private Reply | To 39 | View Replies]

To: markomalley

In 1978, we were using Fortran, which was not fun, but by far the greater hassle was fighting 16-bit address space on the DG Nova 1200.


55 posted on 07/06/2015 7:39:57 PM PDT by NutCrackerBoy
[ Post Reply | Private Reply | To 1 | View Replies]

To: GingisK

July does not expire. It perspires.


56 posted on 07/07/2015 6:26:47 AM PDT by Lazamataz (I am so screwed.)
[ Post Reply | Private Reply | To 54 | View Replies]

To: RansomOttawa

The language you learn is irrelevant. The point is that you learned a language. I’ve coded systems in almost 2 dozen languages over 30 years. I’m not an expert in any of them but I can write programs in all of them.

I still have to dabble in COBOL and C because we have legacy code in them but I also write in Groovy/Grails because we are writing a new system in it.

No wonder I drink so much.


57 posted on 07/07/2015 6:32:30 AM PDT by AppyPappy
[ Post Reply | Private Reply | To 45 | View Replies]

To: dayglored
The required course? Analog computation.
cool. Granted, they're not used widely these days, but they still have applications.
Yep. There was a nice little (80 potentiometers, IIRC) analog computer in the ground station, and the operator was always glad to see me because there weren’t too many of us who would come up with uses for it.

Ah, to think what I coulda done with that if I’d had any inkling of Chaos Theory back then!

Nothing practical, of course . . . but all it would have taken was a little curiosity and you coulda’ written a paper on nonlinear system behavior that would have been cited quite a bit.


58 posted on 07/07/2015 7:19:31 AM PDT by conservatism_IS_compassion ('Liberalism' is a conspiracy against the public by wire-service journalism.)
[ Post Reply | Private Reply | To 52 | View Replies]

To: AppyPappy
... and C ...

C is, and always will be, king of embedded programming. It is by far my favorite language. Like yourself, I have used quite a number of computer languages. I have even written in assembler for many processors, starting with the IBM 1130 and 360 series. Minicomputers were a blast, with the PDP-11 being the pick of the litter. The 68000 micro was like a super-set of the PDP-11.

Ah, the old days.

59 posted on 07/07/2015 12:35:26 PM PDT by GingisK
[ Post Reply | Private Reply | To 57 | View Replies]

To: Professional Engineer
Fortan 77 was my 2nd language.

FORTRAN was the first language I learned, but assembler was the first for which I was employed.

60 posted on 07/07/2015 12:36:37 PM PDT by GingisK
[ Post Reply | Private Reply | To 51 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-4041-6061-69 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson