Sun gives new life to Fortran language
Fortress promises parallel programming, better operations
Sun Microsystems Inc. is taking a stab at replacing the Fortran programming language with Fortress, a new language with strong mathematical capabilities.
Developed by the company's Programming Languages Research Group, Fortress offers many of the features, such as mathematical notation and high-level matrix support, that keep Fortran users loyal. In addition, it also accommodates parallel programming, something the older Fortran wasn't built for.
'Any new program that could be written in Fortran could be written more productively ' faster and with fewer errors ' in Fortress,' said Guy Steele, a Sun Fellow and collaborator on the Fortress project.
Sun has released a test version of a Fortress compiler, as well as the language specification (GCN.com/733).
First developed by IBM Corp. in the 1950s, Fortran was long ago surpassed in popularity by other general programming languages such as Java and C++. Fortran remains a dominant language in scientific computing, however, thanks to its strength in handling numerical operations.
Add to this the fact that software doesn't age: Agencies have developed rich libraries of Fortran code that continue to work well decades after they were written.
'Most of the codes we're running have been out there for 20 years. The codes are being refreshed at a very slow rate. They have [a] much longer lifetime than
the machines do,' said Cray Henry, a manager for the Defense Department's High Performance Computing Modernization Program who spoke at the Baltimore/Washington Chapter Beowulf User Group meeting in Washington.
He pointed out that many of the programs running on DOD high-performance computers ' such as the Aero fluid dynamics program, Hycom Ocean circulation modeling and Gamess quantum chemistry code ' are based on Fortran.
Likewise, Fortran still is the preferred language at the Energy Department laboratories.
'You will find [that] around the physics community, most of the heavy-duty physics code is in Fortran,' said Don Batchelor, who heads up a group studying plasma theory for Oak Ridge National Laboratory.
Over the years, some alternatives have made inroads at replacing Fortran.
Numerical Python is an extension to the Python programming language that
supports multidimensional arrays and high-level mathematical functions. Com- mercial programs from Mathworks Inc. of Natick, Mass., and SAS Institute Inc. of Cary, N.C., also can assume many of the duties formerly earmarked for Fortran work.
'Just about anything you can do in Fortran, you can do in SAS,' said SAS CEO James Goodnight.
Fortress will offer an advantage over Fortran, Steele said, in that it is being designed as a parallel language, meaning different parts of a Fortress program can be executed at a the same time by multiple processors. This trait would make it useful for high-end supercomputers that can devote thousands of processors to a single job. Fortress programs also could take full advantage of the commodity multicore chips offered by Advanced Micro Devices of Sunnyvale, Calif., and Intel Corp.
Another advantage Fortran offers is that it lets users define new data types.
'We believe it will be much easier to define and use such complex data structures as multigrids and irregular meshes in Fortress,' Steele said.
Fortress uses a Unicode character set rather than the older, more limited ASCII. As a result, Fortress offers programmers a wider set of mathematical operators, letting them 'code to more closely resemble mathematical specifications,' Steele said.