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 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 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 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 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.
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.
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.
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.
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.
Memory stomps via common blocks, hours of debugging joy for Fortran and C/C++ developers alike!
Ping
FORTRAN LOL!
wow, my first classes were BASIC, FORTRAN, then Visual Basic then C then C++
.true.
After a while, we got one million (64-bit) "words" of Extended Core Storage (ECS).
That worked out to a whopping 8MB of high-speed (non-executable) storage!
With that configuration we designed reactors for the USS Enterprise, commercial Light-water breeder reactors and most of the Navy's nuclear submarines in use throughout the 70s and 80s.
We learned to write programs that were highly efficient, in terms of storage and execution speed.
(sniff) getting sentimental ...
I actually used Fortran very little. We had an IBM 360, with its much dreaded 'Job Control Language'. JCL had to be the worst set of operating system commands ever invented. I stuck with DTSS Basic. It spoke mostly English, a feature, BTW, I think helped launch DOS in the PC market. Does anyone still remember that the original IBM PCs would boot to a hardware Basic Interpreter if there were no floppies in the drives?
The good ole days of programming. When a line of code was still called a “card.”
I still use a copy of Visual Fortran for Windows.
I’ve used Fortran since 1966, and some of my programming is probably still in use today.
There is nothing wrong with Fortran.
I cut my teeth on VAX Fortran and BASIC.
‘Pod.
Worked at the Ford Research Center in 1979 developing EPA testing programs to run large truck engines on the dyno. Lots of very carefully written FORTRAN.
I owe my beginnings as a programmer to FORTRAN-4 and 77 on DEC PDP machines. Haven’t written any FORTRAN in decades but still could easily. DotNET C# isn’t that much different.
The Fortran modules work, they've been verified, validated, and tested out the wazoo for years. Why waste the time, money, and introduce risk in re-coding something that doesn't need it? Sure, it's not sexy. The younger programmers kind of pretend that part of the make file doesn't exist... ;-)
My first work out of college was as a programmer. I was writing in “MUMPS” and then “MUMPS-11” on DEC PDP platforms, then hopped to a different company writing for an investment accounting solution in FORTRAN-IV on PRIME mini-computers (remember them?). We ported that application to IBM mainframes - all 6 million lines of code. Some idiot of the day thought ADABAS was the best database for us to use - I remember it didn’t store real-numbers natively, so we had to write our own subroutines to pack/un-pack any real numbers into text fields.
That was a time when programming was an art, and every day was marked by creative solutions and work-arounds for system limitations.
Because new = better.. and Change = Improvement.. at least to far to many.
In 1977 another student and I tried programming an algorithm in FORTRAN during a class break. After the program ran for something like half a CPU second we hit the break key. We had screwed up and compared a variable that didn’t default to an integer (like “I” or “J”) to “1”. Oops. Later, we took practically the same exact code and ran it as PL/I, if I recall correctly.
Fortran IV on a Honeywell 2020 with a whopping 32 K of “core” memory.
That was back in 1975, and was my first programming language.
And I agree, there nothing wrong with Fortran.
That it does. I had a short course in Fortran in college, back in the day when a computer usually filled an entire room and programming was done by way of punch cards. Five or six years later though, I was working in an office that had two Lanier word processors, and not long after that, IBM came out with its PC.
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.