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.
I will never admit to doing Assembler, RPG(games or language) or fat girls.
When I was employed at the Marshall Space Flight Center in Huntsville around 1972, hybrid computers were used to simulate spacecraft flight dynamics. That was the only way such computations could be done quickly. The two machines I used in that vein were the SEL810 and SEL840. (Systems Engineering Laboratories) Those machine were 24-bit digital computers with a large number of analog input and output converters that served as setpoints and readouts of a rather large and fast analog computer.
They were pitifully ugly machines, but perfect for the job.
Wash out your mouth! I had actually managed to forget that one! I programmed RPG and COBOL on an IBM Sys/3. That one looked like a baby 360, but I hated it.
Never touched it. I started on Burroughs boxen doing COBOL and managed to sneak in Algol and Basic. I went to Big Iron 4 years later and never looked back. The last 17 years have been mainframe Unix.
My college girlfriend worked for Ernst and Whinney doing thousands of lines of RPG code for textile mills all over NC. It scarred her so badly she never coded again. She’s retired now, the bij. I heard from her over the weekend. She just bought a second home where we went to school.
Assembly was the 3rd. Lol
Thankfully I don’t have to code for a living.
Used to use Fortran IV on IBM 1100 and 1800 boxes.
Slow was the operative word I recall.
All I was required to take was Basic. Used to write some pretty nasty script messages for our IT Nazis snooping around our computers at night.
BASIC then FORTRAN then Pascal then C/C++ then PERL, then Python with some various assemblies along the way. Bit of Java but not enough to matter. Personally I’d rather use Python than anything else these days but unfortunately I get to play with emails and spreadsheets more than code.
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.