Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Fortran
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Portability== [[Portability (computer science)|Portability]] was a problem in the early days because there was no agreed upon standard—not even IBM's reference manual—and computer companies vied to differentiate their offerings from others by providing incompatible features. Standards have improved portability. The 1966 standard provided a reference [[Syntax (programming languages)|syntax]] and semantics, but vendors continued to provide incompatible extensions. Although careful programmers were coming to realize that use of incompatible extensions caused expensive portability problems, and were therefore using programs such as ''The PFORT Verifier,''<ref>{{cite report |title=Methods to ensure the standardization of FORTRAN software |quote=PFORT ... Library ...|osti=5361454|publisher=Oak Ridge National Laboratory |last1=Gaffney |first1=P W |last2=Wooten |first2=J W |date=May 1, 1980 }}</ref><ref name="PP4">{{cite book |title=A portable mathematical subroutine library |volume=57 |pages=165–177 |author=P. A. Fox |date=1977 |quote=PORT ... written in (PFORT) .. ANS Fortran|doi=10.1007/3-540-08446-0_42 |chapter=Port — A portable mathematical subroutine library |series=Lecture Notes in Computer Science |isbn=978-3-540-08446-4 }}</ref> it was not until after the 1977 standard, when the National Bureau of Standards (now [[National Institute of Standards and Technology|NIST]]) published ''FIPS PUB 69'', that processors purchased by the U.S. Government were required to diagnose extensions of the standard. Rather than offer two processors, essentially every compiler eventually had at least an option to diagnose extensions.<ref>{{cite journal | last1=Whitten | first1=Douglas E. | last2=Demaine | first2=Paul A. D. | title=A machine and configuration independent Fortran: Portable Fortran {PFortran} | journal=IEEE Transactions on Software Engineering | publisher=Institute of Electrical and Electronics Engineers (IEEE) | volume=SE-1 | issue=1 | year=1975 | issn=0098-5589 | doi=10.1109/tse.1975.6312825 | pages=111–124 | s2cid=16485156}}</ref><ref>{{cite web |title=Portability Issues |url=https://www.gnu.org/software/sather/docs-1.2/tutorial/fortran-portability.html |quote=.. discusses .. portability of .. Fortran}}</ref> Incompatible extensions were not the only portability problem. For numerical calculations, it is important to take account of the characteristics of the arithmetic. This was addressed by Fox et al. in the context of the 1966 standard by the ''PORT'' library.<ref name=PP4/> The ideas therein became widely used, and were eventually incorporated into the 1990 standard by way of intrinsic inquiry functions. The widespread (now almost universal) adoption of the [[IEEE 754-2008|IEEE 754]] standard for binary floating-point arithmetic has essentially removed this problem. Access to the computing environment (e.g., the program's command line, environment variables, textual explanation of error conditions) remained a problem until it was addressed by the 2003 standard. Large collections of library software that could be described as being loosely related to engineering and scientific calculations, such as graphics libraries, have been written in C, and therefore access to them presented a portability problem. This has been addressed by incorporation of C interoperability into the 2003 standard. It is now possible (and relatively easy) to write an entirely portable program in Fortran, even without recourse to a [[preprocessor]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)