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: markomalley

Got my B.S. degree learning FORTRAN-77, Assembler, COBOL, C, and Unix.


21 posted on 07/06/2015 6:19:23 AM PDT by P.O.E. (Pray for America)
[ Post Reply | Private Reply | To 1 | View Replies]

To: markomalley

Oh, and debugging hex dumps.


22 posted on 07/06/2015 6:20:10 AM PDT by P.O.E. (Pray for America)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Rebel_Ace

I learned assembler first, then fortran.

I used fortran to simulate Marilyn Vos Savant’s problem of the “3 doors, two goats and a prize”. What confounded people is that people don’t understand odds and statistics. The program I wrote randomly chose assignment of the goats and the prize, randomly decided for the contestant which of the doors should be chosen, randomly decided which of the two goat doors would be revealed by the host, and randomly decided whether the contestant stayed or switched to the other remaining door after the host did the reveal of one goat.
It looks 50-50 at first....but when it ran for 600 million iterations, the stats did not lie: switching doors would give a 66.6% chance of winning.

Loved fortran.


23 posted on 07/06/2015 6:20:38 AM PDT by ImaGraftedBranch (If you haven't figured it out, there is a great falling away...happening before your eyes.)
[ Post Reply | Private Reply | To 19 | View Replies]

To: ImaGraftedBranch

As far as I can tell, a handful of colleges still teach assembler...But I’ve never met a young programmer who had been taught FORTRAN.


24 posted on 07/06/2015 6:25:57 AM PDT by Wyrd bið ful aræd
[ Post Reply | Private Reply | To 23 | View Replies]

To: markomalley

Programming is a lot easier today when you have an infinite amount of RAM and disk space.
We have a 2000 line Javascript app that is running twice for some reason, doubling the amounts every time you leave a field. I told them to multiply everything by .5 at the end of the block and that will fix the problem.


25 posted on 07/06/2015 6:26:39 AM PDT by AppyPappy
[ Post Reply | Private Reply | To 1 | View Replies]

To: central_va

All fortran should be removed at 8 days of age.


26 posted on 07/06/2015 6:26:57 AM PDT by MrB (The difference between a Humanist and a Satanist - the latter admits whom he's working for)
[ Post Reply | Private Reply | To 5 | View Replies]

To: markomalley
Brings back memories. My first go-round with Fortran was writing code on Fortran-77 run on a CDC Cyber 6400 back in the day.

I used Fortran 4 on a 6400 for several years, but my first machine was a CDC 3800. We also had Fortran II on an SDS 930.

At that time, until Pascal came along, much of the computer science at the university I attended centered on how to abuse Fortran to do non-numerical programming; and my first job out of college was writing a compiler in Fortran (the only language available at the company).

Decades later, I was the chief Java evangelist at the company where I worked; but lately I've thought of dusting off Fortran to do some purely mathematical financial planning simulations.

27 posted on 07/06/2015 6:31:35 AM PDT by snarkpup (We need to replace our politicians before they replace us.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: The_Victor
The good ole days of programming. When a line of code was still called a “card.”

At Bell Labs back then we had a saying that the undergrad definition of a "large" program is one where the deck won't fit in your hand; the graduate student's definition of a large program is when the deck won't fit in one box; and the Bell Labs definition of a large program is when the listings won't fit in one room.

28 posted on 07/06/2015 6:35:30 AM PDT by snarkpup (We need to replace our politicians before they replace us.)
[ Post Reply | Private Reply | To 10 | View Replies]

To: markomalley
FORTRAM IV was my first computer language, back in 1970...

Engineering simulations, PCAP circuit analysis, all that great stuff...

Calling up the operator to load a tape, loading in my card deck, then calling back late that night to find out where the hell my printout got to...

Ah, yes, those were the days... :-)

29 posted on 07/06/2015 7:06:36 AM 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 1 | View Replies]

To: dayglored
"FORTRAM" wtf.

FORTRAN.

More coffee...

30 posted on 07/06/2015 7:07:17 AM 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 29 | View Replies]

To: markomalley

I took courses in Fortran but never really used it. I did a lot of programming in Basic, though, back in the day.


31 posted on 07/06/2015 7:11:30 AM PDT by samtheman
[ Post Reply | Private Reply | To 1 | View Replies]

To: markomalley
... Fortran-77 run on a CDC Cyber 6400 back in the day...

Ah, you are another dinosaur! I wrote FORTRAN for IBM 360s, CDC 6700s, UNIVAC 1108s, SEL 810 & 840s, Sigma 7 & 9s, and several others.

I'm much happier to write in C/C++. I don't Java or C# with the kiddies.

32 posted on 07/06/2015 7:25:36 AM PDT by GingisK
[ Post Reply | Private Reply | To 1 | View Replies]

To: eCSMaster
We learned to write programs that were highly efficient, in terms of storage and execution speed.

It always amazes me how much crap modern operating system do rather than running user processes.

33 posted on 07/06/2015 7:27:26 AM PDT by GingisK
[ Post Reply | Private Reply | To 8 | View Replies]

To: GingisK
It always amazes me how much crap modern operating system do rather than running user processes.

Microsoft in particular is only concerned with appearance, so they plaster new code over old code to refresh the look of their products. The result is bloatware that consumes huge amount of memory and lots of CPU cycles. They hide behind the increases in processor speed and memory size.

34 posted on 07/06/2015 7:43:02 AM PDT by Senator_Blutarski
[ Post Reply | Private Reply | To 33 | View Replies]

To: markomalley

Real programmers used SAS (a combination of Fortran and REXX). It has a double pass pre-compiler so you can create meta-code for creating and selecting a sub-set of variables to provide to the compiler to use.

I wrote a COBOL source analyzer to categorize and report on the data elements used in a given program with the option to load them into a data dictionary. It reported on obvious bugs, such as multiply-defined attributes for the same data element name.


35 posted on 07/06/2015 7:43:52 AM PDT by RideForever (Recent purchaser of Deranged Go)
[ Post Reply | Private Reply | To 1 | View Replies]

To: RideForever
Real programmers used SAS

Nonsense. C# or yer a dolt.

36 posted on 07/06/2015 7:45:04 AM PDT by Lazamataz (A-holery is irrevocable)
[ Post Reply | Private Reply | To 35 | View Replies]

To: markomalley
Learned FORTRAN II in college on IBM 1620. First job was with General Electric's Heavy Military Electronics Systems (Syracuse, NY) as a FORTRAN IV programmer on (I think) IBM 7094 & then Honeywell 635.


37 posted on 07/06/2015 7:45:18 AM PDT by pookie18 (16 months until the general election...)
[ Post Reply | Private Reply | To 1 | View Replies]

To: SecondAmendment
Memory stomps via common blocks, hours of debugging joy for Fortran and C/C++ developers alike!

DOWN WITH MALLOC(). UP WITH DISPOSE() AND GARBAGE HANDLING!

.NET FOREVER BABY!

38 posted on 07/06/2015 7:47:15 AM PDT by Lazamataz (A-holery is irrevocable)
[ Post Reply | Private Reply | To 3 | View Replies]

To: GingisK
I don't Java or C# with the kiddies.

I will smack you one if you call me a kiddy again. ;)

39 posted on 07/06/2015 7:48:56 AM PDT by Lazamataz (A-holery is irrevocable)
[ Post Reply | Private Reply | To 32 | View Replies]

To: markomalley

Blast from the past. Even in Silicon Valley “Fortran” is not a word you hear much. Not since the 80s were over..


40 posted on 07/06/2015 7:49:21 AM PDT by uncitizen (PC is lying, any way you look at it)
[ Post Reply | Private Reply | To 1 | 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