---
created_at: '2015-07-18T06:28:06.000Z'
title: 50 years of Fortran at CERN (2007)
url: http://cerncourier.com/cws/article/cern/30873
author: atilev
points: 82
story_text: 
comment_text: 
num_comments: 52
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1437200886
_tags:
- story
- author_atilev
- story_9906776
objectID: '9906776'

---
[Source](http://cerncourier.com/cws/article/cern/30873 "Permalink to 50 years of Fortran - CERN Courier")

# 50 years of Fortran - CERN Courier

This site uses cookies. By continuing to use this site you agree to our use of cookies. To find out more, see our [Privacy and Cookies][1] policy. ![][2]

[Skip to the content][3]

International Journal of High-Energy Physics 

* [Sign in][4]
* [Forgotten your password?][5]
* [Sign up][6]

[CERN Courier][7]

* [Latest Issue][8]
* [Archive][9]
* [Jobs][10]
* [Links][11]
* [Buyer's guide][12]
* [White papers][13]
* [Events][14]
* [Contact us][15]
    * [Contact us][15]
    * [Our team][16]
    * [Subscribe][17]
    * [Advertising][18]

Search

## [REGISTER NOW][6]

[Register][6] as a member of _cerncourier.com _and get full access to all features of the site. Registration is free.

## Latest CERN Courier articles

* [Europe defines astroparticle strategy][19]
* [Neutrons cooled for interrogation][20]
* [Lithuania formalises CERN membership][21]
* [LHC prepares for final year of Run 2][22]
* [ESO][23]

## Share this

* [E-mail to a friend][24]
* [StumbleUpon][25]
* [Twitter][26]
* [Facebook][27]
* [CiteUlike][28]
* ![Bookmark and Share][29]

## Related products

### [High-Speed High Sensitivity Thermal Camera][30]

[FLIR Systems][31]   
Feb 7, 2018

### [Immediate Quantification of Gas Leaks][32]

[FLIR Systems][31]   
Feb 6, 2018

### [Hiden Gas Analysers at PITTCON 2018 Conference & Expo][33]

[Hiden Analytical Limited][34]   
Feb 5, 2018

* [High-Speed High Sensitivity Thermal Camera][30]
* [Immediate Quantification of Gas Leaks][32]
* [Hiden Gas Analysers at PITTCON 2018 Conference & Expo][33]

## Related white papers

###  [High pumping performance in a compact package][35]

Oct 1, 2012

* [High pumping performance in a compact package][35]

## Digital edition

_CERN Courier_ is now available as a regular digital edition. [Click here][36] to read the digital edition. 

## [Key suppliers][37]

![Janis Research Company, LLC][38]

![Huihong Fiber, Inc][39]

* [More companies][40]

## [Featured Companies][41]

![Teldyne SP Devices \(opens in new window\)][42]

![PHOTONIS USA \(opens in new window\)][43]

![Microwave Amplifiers Ltd \(opens in new window\)][44]

![Luvata Pori Oy \(opens in new window\)][45]

[Contact us for advertising information][46]

## CERN Courier

Aug 20, 2007

# 50 years of Fortran

With its 50th anniversary this year, the Fortran programming language is one of the oldest programming languages and is still widely used in the scientific community. Eric McIntosh looks back at the usage and development of Fortran at CERN.

**Résumé**

_50 ans de FORTRAN_

_En février 1957, la création du langage de programmation FORTRAN était formellement proclamée. Nommé selon un acronyme du Mathematical FORmula TRANslating System d'IBM, le FORTRAN a été élaboré par une équipe de projet d'IBM. C'était l'un des tout premiers compilateurs de langage de haut niveau développés et il reste très utilisé au sein de la communauté scientifique. Au fil des ans, il a été perfectionné et a trouvé des extensions dans plusieurs dialectes: FORTRAN I, II, III, IV et 66, 77 puis, plus récemment, Fortran 90/95. La version FORTRAN 2003 sortira bientôt et les discussions sont en cours pour définir la version 2008. Dans cet article, Eric McIntosh retrace l'utilisation et le développement du FORTRAN au CERN, où ce langage est arrivé en 1961._

![Magnetic field][47]  
[Magnetic field][48]

In February 1957, the Fortran programming language was formally announced to the world. FORTRAN was an acronym for the IBM Mathematical FORmula TRANslating System and was developed by an IBM project team, whose leader John Backus sadly died earlier this year. This compiler was one of the first high-level language compilers ever developed. Before that time, computers had been programmed in the machine language itself or in a simple higher-level language like Alphacode, User Code or Autocode for the Ferranti Mercury at CERN.

Fortran came to CERN in 1961 when the laboratory acquired an IBM 709 computer that came with a free Fortran compiler. This language was quickly recognized to be a significant step forward in programming capability and allowed collaboration and program interchange with the US laboratories. The only alternative high-level language at this time was ALGOL, which was more structured but not as adaptable to the data-handling requirements of a high-energy physics institute. In addition, attempts to define a standard for ALGOL dragged on and Fortran quickly became the language of choice for scientific and technical programming.

Fortran was developed and extended through several dialects: FORTRAN I, II, III, IV and 66, 77, and more recently, Fortran 90/95. Fortran 2003 is coming soon and discussions are under way to define 2008. CERN's own Fortran dialect was never widely adopted and was superseded by the agreed International Standards. 

![Cray][49]  
[Cray][50]

Several machine-specific Fortran-callable routines (in Assembler or later the C language) always had to be provided, for example for bit and byte manipulation of physics data or for the numeric conversion of the multiple character, integer and floating-point representations. Thus, even a well-written program conforming to standards was not really portable between big-endian, little-endian, 32-bit, 60-bit or 64-bit machines with different character sets. Indeed, this was so much the case that the first CERN benchmark suite developed in the 1970s to evaluate performance of computer processors ran on IBM-compatible machines only.

On the other hand, the Fortran language was well-suited to building libraries of useful subroutines, packages and complete programs, which were widely distributed. One of the most successful of these was the CERN Program Library, a large collection of general-purpose programs that were orientated towards the needs of high-energy physics. However, since they were nearly all of a general mathematical or data-handling nature, these programs were applicable to a wide range of problems. The library contains about 2500 subroutines grouped into 450 program packages, with 80% being written in Fortran – mostly FORTRAN 77 – and the remainder in C or assembly code (but usually still with a Fortran version available). The library was ported to nearly all computers in use within high-energy physics and distributed in binary and source form to most collaborating institutes, as well as to hundreds of non-high-energy physics institutes. It reached its peak in the LEP era and while frozen for some years, is still widely used today.

Indeed, the wide adoption of FORTRAN 77 – the ASCII character set and the IEEE standard for floating-point arithmetic with 32-bit and 64-bit words – has greatly facilitated program portability. Fortran was _the_ language at CERN until well into the last decade of the 20th century, while other languages like PL/1, PASCAL, BASIC, Modula-1 came and went. All this changed with the advent of the first PCs in the 1980s and the World Wide Web; computing was no longer dominated by scientific and technical applications. CERN recognized that, to produce and maintain the huge amount of software required by the experiments, it needed object-orientated and fully structured programs for the LHC era.

Also in the 1980s, discussions on the next version of the Fortran standard – known as 8X at the time – were blocked in the committees involved. The US committee X3J3, with around 50 members, manufacturers, large laboratories and other users, expected the ISO WG5 committee to adopt its recommendations. Instead, a stalemate ensued over the content and a compromise Fortran 90 was not reached until 1991. 

![Code][51]  
[Code][52]

Michael Metcalf, formerly of CERN and co-author of Fortran 90/95 Explained, was a member and significant contributor to X3J3 and must have been appalled at the delays. CERN therefore adopted C++ in the 1990s as the recommended programming language for the LHC experiments. Nonetheless, the accelerator and engineering communities at CERN continue to use Fortran. The LHC magnet design program ROXIE, accelerator design tools like SixTrack and MAD-X (the MAD 8 successor) or the PS operational tool for phase space tomography are recent developments in modern Fortran. Even the LHC experiments still continue to use some existing Fortran applications for simulated-event generation.

Today, Fortran 95 provides all desirable object-orientated and structured programming features, pointers and overloaded operators, and is extremely efficient in the handling of arrays. There are free gfortran and g95 compilers, as well as the excellent NAG f95 library and a variety of other commercial products. 

Finally, there is no need to be a religious extremist; these days, procedures in different languages can be intermixed (which will only become easier). Different subsets of applications can be written in the most appropriate language, e.g. Java for the web, and all can be glued together in a PYTHON framework. On the other hand, it is also possible to misuse almost any language: C++ includes C, and Fortran still has the GO TO function. 

Fortran is the language of high-performance technical computing – even if this is an increasingly smaller segment of today's computing activities. In 1990, the former IT division leader Paolo Zanella wrote: "If I had to pick one thing likely to still be alive 30 years from now, I would choose Fortran."

### About the author

Eric McIntosh, CERN.

 

* [CERN Courier RSS feed][53]
* [Jobs RSS feed][54]
* [Companies RSS feed][55]
* [Products RSS feed][56]
* [Events RSS feed][57]
* [Latest Issue][8]
* [Archive][9]
* [Jobs][10]
* [Links][11]
* [Buyer's guide][12]
* [White papers][13]
* [Events][14]
* [Contact us][15]
* [Copyright][58]
* [Privacy and Cookies Policy][1]
* [Disclaimer][59]
* [Terms][60]
* [IOP Group][61]
* [Environmental Policy][62]

Produced for CERN by IOP Publishing 

[1]: http://cerncourier.com/cws/privacy-policy
[2]: http://images.iop.org/cws/icons/platform/close-icon.png
[3]: http://cerncourier.com#container
[4]: http://cerncourier.com/cws/sign-in
[5]: http://cerncourier.com/cws/request-password
[6]: http://cerncourier.com/cws/sign-up
[7]: http://cerncourier.com/cws/latest/cern
[8]: http://cerncourier.com/cws/latest/cern "CERN Courier latest issue"
[9]: http://cerncourier.com/cws/archive/cern "CERN Courier back issue archive"
[10]: http://cerncourier.com/cws/jobs "Jobs"
[11]: http://cerncourier.com/cws/links "Links"
[12]: http://cerncourier.com/cws/buyers-guide "Buyer's guide"
[13]: http://cerncourier.com/cws/channel/whitepapers
[14]: http://cerncourier.com/cws/events "Events"
[15]: http://cerncourier.com/cws/contact-us "Contact us"
[16]: http://cerncourier.com/cws/our-team "Our team"
[17]: http://cerncourier.com/cws/how-to-subscribe "Subscribe"
[18]: http://cerncourier.com/cws/advertising "Advertising"
[19]: http://cerncourier.com/cws/article/cern/71075 ""
[20]: http://cerncourier.com/cws/article/cern/71076 ""
[21]: http://cerncourier.com/cws/article/cern/71077 ""
[22]: http://cerncourier.com/cws/article/cern/71078 ""
[23]: http://cerncourier.com/cws/article/cern/71080 ""
[24]: /cws/Articles/EmailFriend.do?channel=cern&articleId=30873
[25]: http://www.stumbleupon.com/submit?url=http%3A%2F%2Fcerncourier.com%2Fcws%2Farticle%2Fcern%2F30873&title=50%26nbsp%3Byears+of+Fortran
[26]: http://twitter.com/home?status=Check+out+http://cerncourier.com/cws/article/cern/30873
[27]: http://www.facebook.com/sharer.php?u=http%3A%2F%2Fcerncourier.com%2Fcws%2Farticle%2Fcern%2F30873&t=50%26nbsp%3Byears+of+Fortran
[28]: http://www.citeulike.org/posturl?url=http%3A%2F%2Fcerncourier.com%2Fcws%2Farticle%2Fcern%2F30873&title=50%26nbsp%3Byears+of+Fortran
[29]: http://s7.addthis.com/static/btn/v2/lg-share-en.gif
[30]: http://cerncourier.com/cws/product/P000032385
[31]: http://cerncourier.com/cws/company/C000019824/RELEASED
[32]: http://cerncourier.com/cws/product/P000032383
[33]: http://cerncourier.com/cws/product/P000032375
[34]: http://cerncourier.com/cws/company/C000013765/RELEASED
[35]: http://cerncourier.com/cws/article/whitepapers/50972 ""
[36]: http://cerncourier.com/cws/Pages/digital-edition.do
[37]: http://cerncourier.com/cws/BuyersGuide.do
[38]: http://content.cws.iop.org/company/A000000740/RELEASED
[39]: http://content.cws.iop.org/company/C000024815/RELEASED
[40]: http://cerncourier.com/cws/buyers-guide/A
[41]: http://cerncourier.com/cws/buyers-guide
[42]: http://content.cws.iop.org/company/C000024627/RELEASED
[43]: http://content.cws.iop.org/company/A000006142/RELEASED
[44]: http://content.cws.iop.org/company/A000005691/RELEASED
[45]: http://content.cws.iop.org/company/C000024659/RELEASED
[46]: http://cerncourier.com/cws/advertising/AdvertisingOverview.do
[47]: http://images.iop.org/objects/ccr/cern/thumb/47/7/22/CCfor1_07_07.jpg "Magnetic field"
[48]: http://images.iop.org/objects/ccr/cern/47/7/22/CCfor1_07_07.jpg "Magnetic field in the LHC main dipole simulated with the ROXIE program that comprises about 100,000 lines of FORTRAN code. <br />Image credit: S&nbsp;Russenschuck, CERN."
[49]: http://images.iop.org/objects/ccr/cern/thumb/47/7/22/CCfor2_07_07.jpg "Cray"
[50]: http://images.iop.org/objects/ccr/cern/47/7/22/CCfor2_07_07.jpg "The Cray supercomputer (blue and yellow, in the background) at CERN in 1988 used mainly Fortran programs."
[51]: http://images.iop.org/objects/ccr/cern/thumb/47/7/22/CCfor3_07_07.jpg "Code"
[52]: http://images.iop.org/objects/ccr/cern/47/7/22/CCfor3_07_07.jpg "The sample program &quot;cubes&quot; written in today&#39;s Fortran code (top) and 1950s&#39; machine code (bottom)."
[53]: http://feeds.feedburner.com/CernCourier "View and subscribe to CERN Courier RSS feed"
[54]: http://feeds.feedburner.com/CernCourierJobs "View and subscribe to Jobs RSS feed"
[55]: http://feeds.feedburner.com/CernCourierCompanies "View and subscribe to Companies RSS feed"
[56]: http://feeds.feedburner.com/CernCourierProducts "View and subscribe to Products RSS feed"
[57]: http://feeds.feedburner.com/CernCourierEvents "View and subscribe to Events RSS feed"
[58]: http://cerncourier.com/cws/copyright
[59]: http://cerncourier.com/cws/disclaimer
[60]: http://cerncourier.com/cws/terms-and-conditions
[61]: http://cerncourier.com/cws/iop-group
[62]: http://cerncourier.com/cws/environmental-policy

