Fortran: 7 Reasons Why It's Not Dead - InformationWeek

InformationWeek is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

IoT
IoT
Software // Enterprise Applications
News
7/5/2015
12:06 PM
100%
0%

Fortran: 7 Reasons Why Itís Not Dead

In the 1950s, IBM programmer John Backus invented a programming language called Fortran. It's still in use today, and here's what you need to know about it.
Previous
1 of 9
Next

Fortran: Where general-purpose programming began.

(Image: Bostomi via Wikipedia)

Fortran: Where general-purpose programming began.

(Image: Bostomi via Wikipedia)

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.

[Is COBOL dead? The answer is no.]

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.

Our tour starts on the next page. Let me know which packages I left out and how you're still using the Fortran skills you learned "back in the day." If you can do that while using a FORMAT statement, everyone here will be impressed. Really.

Curtis Franklin Jr. is Senior Editor at Dark Reading. In this role he focuses on product and technology coverage for the publication. In addition he works on audio and video programming for Dark Reading and contributes to activities at Interop ITX, Black Hat, INsecurity, and ... View Full Bio

We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Previous
1 of 9
Next
Comment  | 
Print  | 
More Insights
Comments
Threaded  |  Newest First  |  Oldest First
Li Tan
50%
50%
Li Tan,
User Rank: Ninja
7/6/2015 | 6:26:53 AM
A good recap
Thanks for the author - this is a very good recap for Fortran. Fortran is not dead since it's still being used today, especially in mainframe world. Similarly COBOL is still used nowadays in banking/financial IT area.
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 12:47:20 PM
Re: A good recap
@Li Tan, thanks for the compliment. I agree that it's going to be a while before Fortran finally rides off into the sunset -- I just find it amazing that one of the rare languages older than I am is still being used to both maintain existing applications and code new software in the 21st century!
arjenc044
50%
50%
arjenc044,
User Rank: Apprentice
12/3/2015 | 9:46:41 PM
Re: A good recap
why not to use fortran??

and its develop every year and why not to use this languages.!!

please help me .. i have a report this and i dont no why not use this language.....

its to very hard??

 

 
Whoopty
100%
0%
Whoopty,
User Rank: Ninja
7/6/2015 | 6:54:15 AM
Interesting
An interesting read. I had no idea a programming language could last so long.

Still, I can't help but feel that the mainstream news is about to get all confused again. "Fortran, is that like that hacker 4chan?"
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 12:49:56 PM
Re: Interesting
@Whoopty, I kinda like the idea of pranking some of my fellow journalists about the true meaning of Fortran. I find it encouraging that we're capable of coming up with solutions that still work six decades later -- and a bit sad that we haven't improved things so much that the old ways are no longer needed.
ANewNickname
100%
0%
ANewNickname,
User Rank: Strategist
7/6/2015 | 9:26:28 AM
FORTRAN: progamming comfort food
I learned FORTRAN overnight, literally. I had a job as a machine operator in a university computing center, and was offered $25 to write a simple program. "Do you know FORTRAN?" she asked. "Of course," I replied, and was hired. But I had heard of it, at least, and found a copy of McCracken in the Computing Center Library (I still have it), so by morning I had earned $25 and a reputation as a crack FORTRAN programmer. The good old days...
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 12:51:50 PM
Re: FORTRAN: progamming comfort food
@ANewNickname, I knew that I had a course coming up for which I'd need Fortran, so I talked my father-in-law (a PhD civil engineer) into teaching me the language. He did a fine job and I breezed through the course. The information came in handy when it was time to apply for co-op positions and my first interview was at a civil engineering firm in town!
ErrolG871
50%
50%
ErrolG871,
User Rank: Apprentice
7/6/2015 | 9:38:48 AM
Fortran 5
I used so called Fortran 5 on our Data General Mini running RDOS in the 1980's. It was unique in that it was multitasking. I wrote software to control a Wild BC1  analytical stereoplotter, with real-time subroutines running in the background. It was only available to run on Data General computers.

Errol Greer
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 12:54:27 PM
Re: Fortran 5
@Errol, that brings back some memories! Now, I don't think I ever did any real-time applications on a Data General platform: Were you counting clock cycles or using a timer routine to synchronize everything? Figuring out which routines were stealing cycles from other applications was always a fun task when I was working with multi-tasking real-time applications.
douglasjp3
50%
50%
douglasjp3,
User Rank: Apprentice
7/6/2015 | 9:49:55 AM
Miss 80-column cards and short varible names
I learned FORTRAN IV with 6 hrs. of instruction in a statistics class at LSU.  Our mid-term assignment was to read a tape with sample student data and print the mean height and weight of the student population.  Our final project was to print a table of binominal probabilities.  I programmed in 1977 using TSO terminal and used punched cards on IBM 370 until 1980.  Worked briefly on IBM 1800 and converted to FORTRAN 77 on a DEC 11/34 until 1996.  Now, I am a DBA and work with MS SQL Servers.

Joe D. 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:01:25 PM
Re: Miss 80-column cards and short varible names
@Joe, I remember writing Fortran using punched cards. It made me very happy when I got my very own DEC LSI-11/02 machine. It had a great Fortran compiler (that would fit on one single-sided, single-density 8" floppy disk) and I could do my work without having to go down to the computer science building!
thekmann
50%
50%
thekmann,
User Rank: Apprentice
7/10/2015 | 3:51:15 PM
Re: Miss 80-column cards and short varible names
Used it on 80-column cards and do not miss it at all
I learned FORTRAN 77 and FORTRAN IV(WATFIV, the successor to WATFOR which was short for Waterloo University Fortran) in a progarmming at Brooklyn College and later in one at Baruch College, both part of City University of New York. I  remember that I also found the FORMAT statement cumbersome and that PL/1 and COBOL were much better at handling I/O.  I remember long turn around times near midterms and finals and both card readers and keypunch machines mangling cards and keypunch machines running out of ribbon ink so that you had to read the hole punches.  I have other not so fond memories of dropping card decks and trying to put them back in order and also waiting a long while to find out that one punctuation mark was out of place. 

I also used PL/1(an IBM programming language that reminded me of a cross between COBOL and FORTRAN) on cards with the same frustrating experiences. Both colleges used the central CUNY IBM 360/370 mainframe and required cards with IBM JCL(Job Control Language), which I eventually mastered, before and after the code. 

Switching later to a terminal I rented at home (a Zenith with a 300 baud modem) and to the terminals at the school, I felt liberated from cards; even with long wait times and slow response times they were much easier to deal with. I aslo used COBOL with JCL for two Business Applications courses on a terminal. Later I bought my own PC to use for the same purpose. After school,  I only used mainframes for submitting SAS statistics jobs, interfacing with an agency ADABAS database for use with kisok and IVRs, and to retreive info to download to PC networked database systems.

Using PCs now, even to access mainframe data through terminal emulation or a web interface, I am much happier. Though I have occaisonally used minicomputers(DEC, BASIC 4,  IBM System 36 and AS/400) which came with their own JCL and challenges, none were quite like using FORTRAN on punch cards. Now, I am a Salesforce progarmmer since we switched from AccessVBA and Visual Basic .NET a few years ago.

Rudy K.
BJAY550
100%
0%
BJAY550,
User Rank: Apprentice
7/6/2015 | 9:50:23 AM
Fortran Still Lives
I am 71 and still working full time as a developer, primarely in Visual Basic.

I first encountered FORTRAN on an IBM1620 in 1964 at Minnesta's St. Cloud State College (now St. Cloud University).  It was the "high level" language available.  As I recall, this was a FORTRAN variant developed at the University of Toronto and was called "UTO Fortran".  This may be significant as I recall many references over the years to that University contributing to FORTRAN  We also wrote in assembler.

It has often been said that FORTRAN was primarily used by the scientific community, but I spent much of my career programming for the commercial world where COBOL dominated, and I often would write specific applications in FORTRAN over the years if the language gave me the capabilities needed.  I don't think I was unusual, in that FORTRAN was included in college courses for many years, and many COBOL programmers also knew FORTRAN and could choose between the languages.

I would be surprised, however, unlike COBOL, if much "new code" is developed in FORTRAN.  The list of compilers referenced in this article I strongly suspect exist to support legacy applications originally developed in FORTRAN, not for new development.  It would be interesting to know if any new applications are being developed in FORTRAN VS other more powerful and modern languages so widely available?  If so, why FORTRAN?

Bud Jay
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:04:38 PM
Re: Fortran Still Lives
@Bud, Fortran was a great general-purpose language until you had to move data in our out. I still have nightmares involving FORMAT statements. As far as development today, if you find a shop that has a CRAY machine (or an IBM Blue Gene, or something similar) you'll find Fortran programmers. I don't believe that anything has ever come along that's better than Cray Vectorizing Fortran for writing software for Seymour's beautiful, bizarre systems. 
jtaff922
50%
50%
jtaff922,
User Rank: Apprentice
7/6/2015 | 11:53:24 AM
Fortran used with Alpha Machines and OpenVMS.
I work at a large Water Utility. I still use Fortran to program and maintain our SCADA Telemetry Control System. I use it on our VAX and Alpha Computers running HP OpenVMS. We are going to go to a Windows System soon. This will require several more servers just to do what I do now with my Alpha Machines. I guess that's progress. 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:07:37 PM
Re: Fortran used with Alpha Machines and OpenVMS.
@jtaff922, I remember going to the press conference where Ken Olsen announced the Alpha: It was an amazing processor architecture and I'm sorry it brought down the company. Now, I'll admit that I'm truly astounded to see that you're still using a VAX -- that's a serious blast from the past. Even so, those were workhorse computers that powered much of the technical and scientific world through the 80s and 90s. It's cool that you still have the chance to work on one of the VAXen!
dperley
50%
50%
dperley,
User Rank: Apprentice
7/6/2015 | 12:11:45 PM
FORTRAN memories
 

My memories of FORTRAN are bittersweet.  I spent the summer of 1978 working for McDonnell Douglas in Long Beach, California, bringing with me my large FORTRAN interactive surrogage simulation program.   However when we tried to run it on their CDC Cyber mainframe we got wall-to-wall errors on every line.   The reason - unknown to me, my university's XEROX Sigma 9 computer ran a version of FORTRAN which used proprietary extensions (beyond ANSI-66 FORTRAN) such as WRITE (108,K) where value of K tells format line for the output or else things like IF (Arugment) DO THIS; DO THAT; GO SOMEWHERE.   Neither of these worked on the Cyber and we had to overcome the problem by re-writing the entire thing in ANSI FORTRAN.  The above features did not become part of standard FORTRAN until FORTRAN-77 was released in 1979.  

Best regards,

 

Dan Perley

 

 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:09:17 PM
Re: FORTRAN memories
@Dan, don't you just love non-standard standards? I suppose it's nice to know that some things never change, but I think a lot of us would be OK with the kind of hassle you went through fade into the dim recesses of memory!
enviroman
50%
50%
enviroman,
User Rank: Apprentice
7/10/2015 | 1:44:51 PM
Re: FORTRAN memories
In 1997 our company had a project that required Lagranian Dispersion of sulfur dioxide emissions using a model called CALPUFF. This model treats the emissions as a series of puffs that advect and disperse through the gridded network. The only PC architecture able to handle this work at that time was the DEC Alpha.

I had four 500 Mhz and one 525 Mhz Alpha machines running Win NT4. You could run x86 apps through an emulator. The Alpha with the emulation software was still about twice the speed of a x86 PC available at that time. DEC FORTRAN was used. The four Alpha machines could run a full month of meteorological data and emissions in a week. So, it took us three months to run the full one year of meteorological data. The four 500 Mhz machines were connected through a KVM switch to the monitor, keyboard and mouse. The system worked great but with the four machines on the same desk, the room could get very warm.

Corel released native WordPerfect and CorelDRAW versions for Win NT4 on the Alpha. AutoCAD 12 ran very fast in the emulation mode. I was fully committed to the Alpha architecture until in October 1999, Microsoft dropped software support for the machine. Win 2000 for the Alpha was out in beta mode. I had it running on the 525 Mhz machine by setting the clock back so the software would not expire. With no Windows upgrade future for the machines,I ran them off the network as FORTRAN workhorses until 2003. By then the AMD x86 multi-core machines were faster than the single-core Alpha and a whole lot cheaper.

Yes, the DEC Alpha was a great architecture. HP did not embrace it, so it died.
pattrick
50%
50%
pattrick,
User Rank: Apprentice
7/6/2015 | 2:00:46 PM
Brings Back Memories
The article brings back memories.  I wrote a LOT of FORTRAN code many years ago for an IBM S/360 when I worked as a statistician.  I later wrote a bunch of FORTRAN code for an IBM 1130, including a payroll system. (Getting with sums to balance was a challenge with a compiler that only supported floating point in those days!)  I always enjoyed prograamming in FORTRAN.  Thanks for the article.
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:13:04 PM
Re: Brings Back Memories
@pattrick, I did a lot of my Fortran programming on an IBM 4341 -- a mid-range system that was S/360 compatible. There was something kind of cool about going up to the card reader and submitting a deck (JCL followed by the Fortran code) but I'm very, very happy that I can work on a program today without having to drive down to the building where they keep the computer.
pattrick
50%
50%
pattrick,
User Rank: Apprentice
7/7/2015 | 1:21:24 PM
Re: Brings Back Memories
Curtis - it sure is much more convenient and safer (no dropped source decks!) today with remote access and online editors and system interaction.  But there was something REAL about those card decks! - Patrick
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:29:28 PM
Re: Brings Back Memories
@pattrick, ahh, the heartbreak of a dropped deck if you forgot to run a marker along the edge first! I can still remember watching a grad student have a complete emotional collapse when he dropped a deck of a couple thousand cards on his way to the sorter...

But there was something very real about them. And you felt very official (or at least I did) carrying around an attaché case with your card decks, your green-bar printouts, your coding pads, and IBM flow-chart template. We might have still been learning everything but doggone it, we LOOKED like we knew what we were doing!
enviroman
50%
50%
enviroman,
User Rank: Apprentice
7/10/2015 | 1:15:39 PM
Re: Brings Back Memories
Curt - in 1969 at Florida Atlantic we had to get a prof to give us access if we wanted a priority run. There was no charge to students. A few of us would go to the batch submit room and prep our JCL and FORTRAN code cards. Since we had no priority, we were moved to the end of the basket of submitted cards (wrapped in rubber bands). Once the tech got to know you, he would sneak in an extra run if you were quick enough to correct your mistake(s) and get the cards back into the loop before the submit window closed. So, on a good day you could get as many as four runs on the IBM 360. 
hasbeen
50%
50%
hasbeen,
User Rank: Apprentice
9/8/2015 | 6:55:53 PM
Re: Brings Back Memories
 ... "in 1969" brought back memories

 

I took Fortran IV from Dr. Vickers at UF back in 69-70-71 (I don't recall for sure exactly when it was) - I just doing a Googe search on Fortran IV and found these posts, which brought back memories from back then.

The "computer" was actually an entire 4 story building (as I recall) with the mainframes in the basement, the keypunch operators on the first floor, programers on the second floor, and the magnetic tape storage units on the third floor.

The exciting thing at the time was the changing from copper wiring to optical fiber because "light travels faster than electricity" and as those distances (main frames-to-magnetic tape-and-back) it was a super big deal.

Just remembering 'back when', thanks.

Jerry P.
enviroman
50%
50%
enviroman,
User Rank: Apprentice
7/6/2015 | 2:26:40 PM
first fortran experience
I first learned Fortran on an IBM 360 while a student at Florida Atlantic University in 1969. We were allowed two batch submits per day on 80 column cards. There were no college classes in Fortran at that time. I would go into the batch submit room and look at printouts of successful runs by other students. That is how I learned Fortran.

We had DEC machines at the Westinghouse Tech Center in the 1970s. Card decks were prepared in the key punch room. The advent of a full screen editor for code writing was a huge improvement.

My first experience with Fortran on a PC was on a TRS 80 machine using a version of Microsoft Fortran in 1981. That was a three step compiler. You could not do the heavy lifting on the TRS 80 that you could do on the DEC, but it allowed you to do test runs to debug your code before going to the DEC.

Fortran is still the preferred programming language for numerically intensive applications. USEPA maintains their air quality dispersion models in Fortran. Weather forecasting with MM5 or WRF is done in parallel processing Fortran code.

I work with air quality dispersion models like AERMOD and CALPUFF using Compaq Visual Fortran V6.6A. I also have Lahey Fortran 95 on one of my machines and Intel Fortran on another machine. I have worked with Fortran for 46 years and do not expect it to disappear any time soon.
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:19:24 PM
Re: first fortran experience
@enviroman, thanks for the info on some of the current systems running Fortran-based code. Weather and environmental applications are precisely where I'd expect to still see Fortran used to a significant extent.

OK, now I'm curious about your Florida Atlantic days: You could submit batches twice a day but did you have hard-dollar accounts on the CPU? That's what they used to keep us in check at Alabama-Brimingham. For each class you got $25 work of CPU time for the term: If you used it up, you had to go beg the dean for more money. He usually said yes, but there was alway the chance that you might have found a way to really tick him off...

CPU cycles were priced according to time of day (and day of the week) so there was always a line at the card reader as the clock ticked toward 2300, when the CPU magically got much, much cheaper.
rlhyde
50%
50%
rlhyde,
User Rank: Strategist
7/6/2015 | 3:23:56 PM
Takes you back
I started teaching Fortran using WatFor(sp), the watterlou fortan 4 implmentation which had many Modern enhancements.    I taught that in my high school because the math teacher who was supposed to teach the class had no clue.  We used 026 card punches and ran batch jobs on a company's 360 system in the eveing if they had time for use.

It was a okay start, but the branch to line number goto and numerical if lead to very bad code.  As soon as I could I jumped to PL/I on a teledyne 110 baud teletypewriter.  Scoping and structure programming allowed us to write much more powerful programs.  We taught ourselves by writing to IBM and buying the manual.  I am not sure I would teach this to a child today, java is a much safer and stronger language.  Why expose them to the needless complexity of such an early language, and the bugs that it allows.



One early story about format I remember a student that tried to write a program to write out several thousand times.

40 Format "I love you!"

only to have the compliier respond with "Love is invalid"  A few of you might understand that.

 

 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:22:37 PM
Re: Takes you back
@rlhyde, thanks for the chuckle.

OK, I'm curious: Do you really think that Java is easier than Fortran? I know that the world has moved to OOP rather than procedural languages, but is that the only thing that makes you want to use Java rather than Fortran to teach kids?

I never used WatFor, though I know plenty of people who spent their lives there. I suppose I should have been grateful I wasn't having to chisel my code into blocks of stone...
cwaser10
50%
50%
cwaser10,
User Rank: Apprentice
7/6/2015 | 5:55:21 PM
FORTAN
I can't imagine you'd do this article without mentioning Knuth.  He publishedl a multi-volume set in which he made the case that there was no computing problem that couldn't be solved in FORTRAN.

I've read his stuff and I'm not sure he was right.  Handling character data in FORTRAN is a pain in the but without a little assembler work.

Regardless, I think Knuth deserves a mention here.

 

 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:25:24 PM
Re: FORTAN
@cwaser10, Don Knuth deserves his own article. I read his amazing trilogy and still refer to his definition of an algorithm when I'm trying to teach the concept to new programmers.

I got to talk with Knuth in the mid 1980s. He's one of the three towering giants of information science (Claude Shannon and Bob Metcalf are the others) I've had a chance to talk with. I treasure the memories of all three encounters.
JamesTSRI
50%
50%
JamesTSRI,
User Rank: Apprentice
7/6/2015 | 6:57:16 PM
Cost of FORTRAN-saavy staff
FORTRAN is definitely not dead, nor is COBOL, although the trend we see is that the personnel expense required to maintain, update, and design new code is more expensive (due to folks retiring and these languages not being taught as actively in the schools).  A big part of our business is helping these companies move seamlessly from Fortran to C++, for example.  This lets the FORTRAN application continue to function in a 100% equivalent way, but just in a format that is more inexpensively maintained.
PedroGonzales
50%
50%
PedroGonzales,
User Rank: Ninja
7/7/2015 | 10:44:07 AM
Re: Cost of FORTRAN-saavy staff
I didn't know there were languages such as FORTRAN that are able to have a long life.  When I first started with computers I learned programming with COBOL.  I'm sure FORTRAN will continue to have a long life.  I do not know if the same can be said for Java or another most recent computer language.  I would be interesting to know if its worth learning a niche computer language that will have a short lifespan than one with broader appeal
TomV424
50%
50%
TomV424,
User Rank: Apprentice
7/7/2015 | 1:23:00 PM
Fortran
I am old enough that I can say that FORTRAN was the second computer language I learned.  The first, as an undergrad, was Algol, with programs written on coding forms, then translated to Hollerith cards, and finally submitted to an admin for running on Bendix G50 computers.  Next day, I would find out what errors I had committed, correct them, and resubmit. Rinse, lather, and repeat!

The company I worked for leased an IBM 1130 to develop code to control railroad classification yard operation.  These guys were heavy-duty, since they wrote in assembly language.  I did not want to do that, so I got the manuals for the FORTRAN compiler and studied them for about two days.  Then I started writing my own programs for my projects.

When personal computers arrived in the 70s and 80s, I moved on to Basic, Pascal, C, and assembly language for various micros and minis.

In my mind, FORTRAN is the bulldozer of programming languages.  You can do a great deal with its power but it is not a very easy or comfortable ride. 
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/7/2015 | 1:31:45 PM
Re: Fortran
OK, @TomV424, you got me: I never had to learn Algol. We talked about it when we were designing the early Ada compilers, but I never wrote a line of code in the language.

And I think your description of Fortran is spot-on: No one would mistake it for a coding Ferrarri, but when you need to power through some serious numeric problems, it's hard to bear.
parekhvs
50%
50%
parekhvs,
User Rank: Apprentice
7/7/2015 | 2:15:13 PM
Fortran is easy to program in
I actively program in Fortran for scientific and engineering applications, mostly on Windows platform but also a bit on Linux.  I also code in C, C++, Visual Basic, C#, and bit of Java and I also use MATLAB for simulations and prototyping.  I am also beginning to use Python.

Starting with the 1990 standard, Fortran has become even easier language to program in that most people who have commented here might remember.  It has many advantages compared to the other languages I use, definitely for array handling toward matrix computations in compiled programs.

I would like to dispel myths about the so-called difficulties in exchanging data in and out of Fortran applications and in processing character data: using the features introduced in the Fortran standard since 1990 and especially in Fortran 2003, I am easily able to do these things in Fortran; I need to exchange data often with managed code applications such as Microsoft .NET or even browser-based applications and I am able to do this easily in standard Fortran code which is portable across compilers and platforms.

I also use object-oriented (OO) approach heavily in my code and even here, I find I can apply almost all the OO design patterns that are useful for scientific and technical programming fairly easily in Fortran.

Finally, I am starting to learn parallel programming and the COARRAY features in Fortran standard looks very promising for my needs.

All in all, I find Fortran today to be a modern and highly efficient programming language that is just as easy to maintain as any other language.
Curt Franklin
50%
50%
Curt Franklin,
User Rank: Strategist
7/8/2015 | 11:43:13 AM
Re: Fortran is easy to program in
@parekhvs, thanks for bringing some updated information to the discussion! I'm pleased to hear that Fortran has moved past the rigors of FORMAT -- clearly, I need to spend more time with the modern versions of the language.

The IEEE's Supercomputing Conference is coming up soon -- it was always my go-to conference for running into wandering herds of Fortran coders. I'm curious: Can you give us an idea of the kind of applications you're coding in Fortran these days?
parekhvs
50%
50%
parekhvs,
User Rank: Apprentice
7/8/2015 | 12:10:06 PM
Re: Fortran is easy to program in
"Can you give us an idea of the kind of applications you're coding in Fortran these days?"

- it is for scientific and engineering applications for use in manufacturing industry, particularly for design, optimization, and maintenance of equipment and processes that deal with fluid flow.  Many of my "applications" are actually computational libraries utilized in simulations and technical calculations.

So one can argue my domain has had a heavy Fortran influence from the earliest days of computing and there are some codes in use even now that date back to FORTRAN IV.  Most of the codes I work on have, thankfully, been upgraded, some to other languages such as Microsoft .NET or C++ but many to "modern" Fortran.  The latter have performed wonderfully well and have been extremely robust and efficient in addition to being easy to understand and maintain, particularly by young engineers.
Ashu001
50%
50%
Ashu001,
User Rank: Ninja
7/8/2015 | 1:27:34 PM
Re: Fortran is easy to program in
parekh,

Thanks for sharing your viewpoints here(regarding Fortran).

I am really interested to know how you got started in that Language.Did you first learn it in School/University??

Or was it entirely learnt on the Job?

The thing is with very-very difficult to get good Fortran Programmers today and we are'nt able to Transistion all those Gigantic Codebases/Apps quickly enough away from Fortran and towards Modern Languages where there is more demand today.

Your viewpoints and thoughts would be very insightful here.

Also,was wondering where you see Fortran going 5 years from now?

Will it still be around as it is today?

 
parekhvs
100%
0%
parekhvs,
User Rank: Apprentice
7/8/2015 | 2:42:04 PM
Re: Fortran is easy to program in
"I am really interested to know how you got started in that Language.Did you first learn it in School/University??

Or was it entirely learnt on the Job?"

- I had a basic intro to FORTRAN 77 as part of a numerical computing course during my undergrad days, but had done very little programming back then.  But during my grad school, I got into a lot more FORTRAN 77 and C programming, self-taught, for fluid flow type of applications; this was per instructions from my thesis advisor who wanted us to leave our code with him so he could continue working on them.  Then at work, I got into more FORTRAN 77, C, C++ on Unix and some Visual Basic on Windows as these languages were used for various aspects in simulations and modeling.  Later, the enterprise compute architecture shifted largely toward Windows and .NET started taking over for the presentation layers.  However, the important computational libraries remained in traditional form i.e., compiled into machine code, "unmanaged" as some call them.  The code was mostly in FORTRAN and indeed there was constant worry about the future; what would happen to them once retirements started kicking in and when the codes needed enhancements.  Now I always had difficulties with the use of pointers in coding and I noticed my scientist/engineering colleagues did too, but no one besides would admit to this.  Some of these codes were slated for upgrade to  C++ but the work was mostly done by programmers who claimed more numerical computing and engineering knowledge than they actually had.  Their output was very difficult to follow and understand, there was heavy, perhaps unnecessary, use of pointers which in combination with (early days of) object-oriented approach made for difficult existence.  The programs would run into lots of problems with memory leaks and crashes, budgets were often overrun, and in some areas, in-house development was being abandoned for 3rd party solutions which were less than optimal yet more expensive.  I wanted to avoid all this for the libraries I supported, so I started looking around on my own and came to know of enhancements in the Fortran standard and the facilities with memory allocation that offered good protection from leaks while being able to avoid aliases (pointers) that led to better code optimization.  In addition, there was support for OO, interoperability with C, parallel programming, etc.  So I began exploring on my own and developed a good enough understanding to upgrade a vast portion of our code to the current Fortran standard, all at a very manageable cost.  In addition, I started using Fortran also for new code in compute-intensive applications.

"The thing is with very-very difficult to get good Fortran Programmers today and we are'nt able to Transistion all those Gigantic Codebases/Apps quickly enough away from Fortran and towards Modern Languages where there is more demand today."

- Fortran is itself a modern language now, so you don't need to transition away from it.  This is especially true if your Codebases/Apps are geared toward scientific/technical/engineering/numerical programming.  That will be my advice which, as you can see from above, is clearly biased by my experiences.  You don't need an army of programmers to upgrade your code to "modern" Fortran.  Once such an upgrade is done, the real domain experts, the scientists and engineers, can continue to easily contribute to the evolution of the codebases as Fortran retains all its strength in "FORMULA TRANSLATION".  See a reference: H. Radhakrishnan, D. W. I. Rouson, K. Morris, S. Shende, and S. C. Kassinos, "Test-driven coarray parallelization of a legacy Fortran application," in Proceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering, pp. 33– 40, ACM, November 2013.  Look at Table 1 therein; that is very similar to the approach we have followed.  If you're industry, you may want to contact Sourcery, Inc. and/or FortranPlus Co., UK for possible guidance with your codebases and what to do with them.

"Also,was wondering where you see Fortran going 5 years from now?  Will it still be around as it is today?"

- in the scientific/technical/compute intensive domains, I expect Fortran to regain some of the foothold it had lost during the last couple of decades.  Academia will slowly resume offering advanced numerical courses with modern Fortran; see CME214 in the Stanford Univ course catalog.  Fortran language will continue to evolve, the newer standards will facilitate more and more modern programming paradigms, and its usage will become more standards-based (note few vendors now introduce their own language extensions) which will allow more portable code.  Parallel programming will become even more important and Fortran will be there to directly support a lot of needs in this area.

 

 
Ashu001
50%
50%
Ashu001,
User Rank: Ninja
7/9/2015 | 6:34:11 AM
Re: Fortran is easy to program in
parekh,

Great points and really-really appreciate your Detailed Explaination here!

This is what's the greatest part about Informationweek today.

We have so many Diverse viewpoints with varied Experiences that one can learn a lot from each and everyone of  them!

I had an inkling that your answers would be along these lines and especially the fact that More and More Developers would introduce their own flavors of Fortran today and in the future we will see different-different companies,etc using different Forks of Fortran(similar to Linux/Android) which suits their specific needs here.

Please keep contributing to this website with your Unique insight and experiences here.

Regards

Ashish.

 
parekhvs
100%
0%
parekhvs,
User Rank: Apprentice
7/9/2015 | 9:50:10 AM
Re: Fortran is easy to program in
Ashish,

You replied, "the fact that More and More Developers would introduce their own flavors of Fortran today and in the future we will see different-different companies,etc using different Forks of Fortran(similar to Linux/Android) which suits their specific needs here."

Please note I meant to convey the very opposite of what you have stated: note my comments such as "its usage will become more standards-based (note few vendors now introduce their own language extensions) which will allow more portable code."

What is happening in the world of Fortran is NOT fragmentation that is negatively impacting Linux/Android, hampering their advance in the enterprise arena.  Largely, the Fortran implementations (compiler vendors, etc.) are coming together with a standards based approach.  Fortran language development is well and alive under Fortran Working Group (ISO/IEC JTC1/SC22/WG5), a standards body.

Many fellow coders in Fortran are now begiining to apply "/stand" compiler option to flag code elements that may be non-standard, often due to language legacy.  I've read up until the 1990s the compiler vendors would actively introduce their own extensions in the language to support their customers, a practice that did lead to fragmentation but which has become unpopular now.  In our code, all the non-standard aspects have been eliminated and the code is now portable across compilers and platforms/OSs.

Thanks much for your attention and feedback,
paul_whatever
50%
50%
paul_whatever,
User Rank: Apprentice
7/9/2015 | 12:27:44 PM
Implicit integer (A-Z)
- scarred me for life; I still can't deal with object-oriented paradigms.
RAR003
50%
50%
RAR003,
User Rank: Apprentice
2/8/2016 | 4:24:29 AM
fortran for android programming
Hi, i am an engineer working in offshore oil/gas field.. i am good with fortran 95 and have many self written programs written in f95 for my work related calculations.. i was searching for option to make them work on my android phone and a link from google directed me here.. any one could please suggest how/whether it is possible to make use of my fortran skills for andorid app development.. thanks
Seint
50%
50%
Seint,
User Rank: Apprentice
10/5/2016 | 3:18:17 AM
Then where are the Fortran jobs at?
I know Fortran. But where are the Fortran jobs at?
Commentary
Gartner Forecast Sees 7.3% Shrinkage in IT Spending for 2020
Joao-Pierre S. Ruth, Senior Writer,  7/15/2020
Slideshows
10 Ways AI Is Transforming Enterprise Software
Cynthia Harvey, Freelance Journalist, InformationWeek,  7/13/2020
Commentary
IT Career Paths You May Not Have Considered
Lisa Morgan, Freelance Writer,  6/30/2020
White Papers
Register for InformationWeek Newsletters
Video
Current Issue
Key to Cloud Success: The Right Management
This IT Trend highlights some of the steps IT teams can take to keep their cloud environments running in a safe, efficient manner.
Slideshows
Flash Poll