Photran Helps Fortran Programmers Plug Into Eclipse
Members of the Department of Computer Science at UIUC are interested in finding users and testers for Photran, an Eclipse plugin that turns Eclipse into a complete Fortran IDE.
Originally developed at IBM, Eclipse is an open-source, Java-based platform for building IDEs. It originally evolved from IBM's VisualAge for Java program and has become the predominant platform for Java development. In 2001, IBM released the Eclipse code into open source; since then, its development and promotion has been supported by the Eclipse Foundation, which became an independent organization in 2004.
Eclipse consists of a collection of Java plug-ins, which are essentially small tools, such as online help pages, that can be combined with other plug-ins to create larger tools with more complex functionality, such as development environments. Specifically, the Photran plug-in is intended to give programmers working with different versions of Fortran an Eclipse-based development environment. "Fortran developers need good programming environments just as much as anybody else," says Ralph Johnson, leader of the Photran project team and a professor in UIUC's Department of Computer Science. "Our goal is to make a Fortran programming environment that is as good as that for any other language."
Currently, Photran provides CVS repository management, Fortran code editing with syntax highlighting, powerful search-and-replace facilities, and code outlining. It is available for Linux, Windows, Solaris, and Mac OS X (v. 10.3). However, Photran developers are working to extend Photran's capabilities to include refactoring, a code editing process used for improving code structure by modifying specific variables and routines without introducing bugs into the code's overall behavior. "What we really want to do is to be able to refactor Fortran as easily, or more easily, as you can now refactor Java using Eclipse," explains Foote. He sees in the ability to refactor code a clear benefit for Fortran programmers: Fortran is a highly complex programming language, several versions of which are still in simultaneous use.
The first high-level programming language, Fortran has gone through several transformations since its developers introduced the first complete compiler to programmers in 1957. Most recently, Fortran 2003, adopted last year, provides support for objects. Says Foote, "We're looking forward to refactoring Fortran to objects one day not too far in the distant future."
At NCSA, Photran is currently being used to extend the capabilities of FLASH, a large high-performance Fortran framework for simulating gamma ray bursts in Type 1a supernovae.
The Photran effort is being supported by IBM under the aegis of PERCS (Productive, Easy-to-use, Reliable Computing System), a $53.3 million project funded by DARPA to support "groundbreaking research" in areas such as chip technology, computer architecture, operating systems, compiler and programming environments. The plug-in's handle was borrowed from Pho-Tran, a now-defunct Vietnamese restaurant in Urbana, IL, frequented by UIUC computer scientists given to deliberately and affectionately mispronouncing the restaurant's name.
Fortran users interested in trying Photran out can find the tool at http://www.photran.org/; feedback and contributions to the code are also welcome.