Türkçe ansiklopedi, sözlük, genel başvuru ve bilgi sitesi   
 
  Yardım
  Rastgele    

Fortran

Fortran
Enlarge picture
The Fortran Automatic Coding System for the IBM 704 (October 15, 1956), the first Programmer's Reference Manual for Fortran
Paradigm:multi-paradigm: procedural, imperative, structured, object-oriented
Appeared in:1957
Designed by:John W. Backus
Developer:John W. Backus & IBM
Typing discipline:strong, static
Major implementations:Absoft, GFortran, G95, Intel, Lahey/Fujitsu, Open Watcom, Pathscale, PGI, Silverfrost, Sun, XL Fortran, others
Influenced:ALGOL 58, PL/I


Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. Originally developed by IBM in the 1950s for scientific and engineering applications, Fortran came to dominate this area of programming early on and has been in continual use for over half a century in computationally intensive areas such as climate modeling[1]PDF (255 KiB), computational fluid dynamics (CFD), computational physics, financial computing, and computational chemistry.

Fortran (a portmanteau derived from The IBM Mathematical Formula Translating System) encompasses a lineage of versions, each of which evolved to add extensions to the language while retaining compatibility with previous versions. Successive versions have added support for processing of character-based data (FORTRAN 77), array programming, module-based programming and object-based programming (Fortran 90 / 95), and object-oriented and generic programming (Fortran 2003).

History

Enlarge picture
An IBM 704 mainframe (image courtesy of LLNL)
Enlarge picture
FORTRAN code on a punch card, showing the specialized uses of columns 1-5, 6 and 73-80.
In late 1953, John W. Backus submitted a proposal to his superiors at IBM to develop a more efficient alternative to assembly language for programming their IBM 704 mainframe computer. A draft specification for The IBM Mathematical Formula Translating System was completed by mid-1954. The first manual for FORTRAN appeared in October 1956, with the first FORTRAN compiler delivered in April 1957. This was an optimizing compiler, because customers were reluctant to use a high-level programming language unless its compiler could generate code whose performance was comparable to that of hand-coded assembly language.

While the community was skeptical that this new method could possibly out-perform hand-coding, it reduced the amount of programming statements necessary to operate a machine by a factor of 20, and quickly gained acceptance. Said creator John Backus during a 1979 interview with Think, the IBM employee magazine, "Much of my work has come from being lazy. I didn't like writing programs, and so, when I was working on the IBM 701 (an early computer), writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs," [2]

The language was widely adopted by scientists for writing numerically intensive programs, which encouraged compiler writers to produce compilers that could generate faster and more efficient code. The inclusion of a complex number data type in the language made Fortran especially suited to technical applications such as electrical engineering.

By 1960, versions of FORTRAN were available for the IBM 709, 650, 1620, and 7090 computers. Significantly, the increasing popularity of FORTRAN spurred competing computer manufacturers to provide FORTRAN compilers for their machines, so that by 1963 over 40 FORTRAN compilers existed. For these reasons, FORTRAN is considered to be the first widely used programming language supported across a variety of computer architectures.

The development of FORTRAN paralleled the early evolution of compiler technology; indeed many advances in the theory and design of compilers were specifically motivated by the need to generate efficient code for FORTRAN programs.

FORTRAN

The initial release of FORTRAN for the IBM 704 contained 32 statements, including:

Below is a part of the 1957 paper, "The FORTRAN Automatic Coding System" by Backus, et al., with this snippet on the FREQUENCY statement and its use in a compile-time Monte Carlo simulation of the run-time to optimise the code generated. Quoting ...
The fundamental unit of program is the basic block; a basic block is a stretch of program which has a single entry point and a single exit point. The purpose of section 4 is to prepare for section 5 a table of predecessors (PRED table) which enumerates the basic blocks and lists for every basic block each of the basic blocks which can be its immediate predecessor in flow, together with the absolute frequency of each such basic block link. This table is obtained by an actual "execution" of the program in Monte-Carlo fashion, in which the outcome of conditional transfers arising out of IF-type statements and computed GO TO'S is determined by a random number generator suitably weighted according to whatever FREQUENCY statements have been provided.

6. ^ McCraken, Daniel D. (1965(3rd printing 1968)). A Guide to FORTRAN IV Programming. John Wiley & Sons, Inc., New York. LCCCN 65-26848.  Preface p. v
7. ^ This is not altogether surprising, as Brian Kernighan, one of the co-creators of Ratfor, is also co-author of The C Programming Language.
8. ^ Lohr, Steve. "John W. Backus, 82, Fortran Developer, Dies", 2007-03-19. Retrieved on 2007-03-20. 
9. ^ Prior to FORTRAN 77, which introduced the PARAMETER statement (the preferred method of defining constants), the DATA statement was the conventional way to define constants, although this statement merely specified initial values and did not prevent the corresponding variables from being modified (as by regular assignment statements).
10. ^ Hoare, C. A. R.. Hints on Programming Language Design.  in (October 1973) Sigact/Sigplan Symposium on Principles of Programming Languages. , reprinted in Horowitz. Programming Languages, A Grand Tour, 3rd ed. . See [3] (and [4] for what really happened)

External links

History Standards Tutorials References Code repositories Open source compilers Non-open source compilers Graphical libraries/GUI Testing Frameworks Miscellaneous
A programming paradigm is a fundamental style of programming regarding how solutions to problems are to be formulated in a programming language. (Compare with a methodology, which is a style of solving specific software engineering problems).
..... Click the link for more information.
A multiparadigm programming language is a programming language that supports more than one programming paradigm. As Leda designer Tim Budd holds it: The idea of a multiparadigm language is to provide a framework in which programmers can work in a variety of styles, freely
..... Click the link for more information.
Procedural programming is sometimes used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm based upon the concept of the procedure call.
..... Click the link for more information.
In computer science, imperative programming, as contrasted with declarative programming, is a programming paradigm that describes computation as statements that change a program state.
..... Click the link for more information.
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO statement.
..... Click the link for more information.
Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. It is based on several techniques, including inheritance, modularity, polymorphism, and encapsulation.
..... Click the link for more information.
19th century - 20th century - 21st century
1920s  1930s  1940s  - 1950s -  1960s  1970s  1980s
1954 1955 1956 - 1957 - 1958 1959 1960

Year 1957 (MCMLVII
..... Click the link for more information.
John Backus

Born November 3 1924(1924--)
Philadelphia, Pennsylvania
Died March 17 2007 (aged 84)
Ashland, Oregon
..... Click the link for more information.
A software developer is a person who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming or a specialty of project managing.
..... Click the link for more information.
John Backus

Born November 3 1924(1924--)
Philadelphia, Pennsylvania
Died March 17 2007 (aged 84)
Ashland, Oregon
..... Click the link for more information.
International Business Machines Corporation

Public (NYSE:  IBM )
Founded 1889, incorporated 1911
Headquarters Armonk, New York, USA

Key people Samuel J.
..... Click the link for more information.
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact.
..... Click the link for more information.
In computer science and computer programming, the term strong typing is used to describe those situations where programming languages specify one or more restrictions on how operations involving values having different datatypes can be intermixed.
..... Click the link for more information.
In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact.
..... Click the link for more information.
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.

In computer science, an implementation is a realization of a technical specification or algorithm as a program, software
..... Click the link for more information.
gfortran is the name of the GNU Fortran compiler, which is part of the GNU Compiler Collection (GCC). gfortran has replaced the g77 compiler, which stopped development before GCC version 4.0.
..... Click the link for more information.
G95 is a free, portable, open source Fortran 95 compiler, with some Fortran 2003 extensions, primarily developed by Andy Vaught. In 2003, what is now gfortran forked from G95.

External links


..... Click the link for more information.
Intel Fortran Compiler - Fortran compiler developed by Intel. It generates code for IA-32, Intel 64, Itanium 2 processors. Supporting operating systems: Linux, Microsoft Windows and Mac OS X.

External links


..... Click the link for more information.
ALGOL 58 is the first language in the ALGOL programming language family. It was an early compromise design soon superseded by ALGOL 60; ALGOL 58 introduced the fundamental notion of compound statement, but it was restricted to control flow only, and it was not tied to identifier
..... Click the link for more information.
PL/I
Paradigm: imperative, structured
Appeared in: 1964
Designed by: Hursley Laboratories
Developer: IBM
Dialects: PL/M, XPL, PL/P, PL/C, PL/S, PL/AS, PL/X, PL/8, EPL
Influenced by: COBOL, Fortran, ALGOL,

PL/I
..... Click the link for more information.
A domain-specific programming language (domain-specific language, DSL) is a programming language designed for, and intended to be useful for, a specific kind of task.
..... Click the link for more information.
Procedural programming is sometimes used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm based upon the concept of the procedure call.
..... Click the link for more information.
In computer science, imperative programming, as contrasted with declarative programming, is a programming paradigm that describes computation as statements that change a program state.
..... Click the link for more information.
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
Numerical analysis is the study of algorithms for the problems of continuous mathematics (as distinguished from discrete mathematics).

One of the earliest mathematical writing is the Babylonian tablet YBC 7289, which gives a sexagesimal numerical approximation of ,
..... Click the link for more information.
Computational science (or scientific computing) is the field of study concerned with constructing mathematical models and numerical solution techniques and using computers to analyze and solve scientific, social scientific and engineering problems.
..... Click the link for more information.
International Business Machines Corporation

Public (NYSE:  IBM )
Founded 1889, incorporated 1911
Headquarters Armonk, New York, USA

Key people Samuel J.
..... Click the link for more information.
worldwide view.


2nd millennium
Centuries: 19th century - 20th century - 21st century

1920s 1930s 1940s - 1950s - 1960s 1970s 1980s
1950 1951 1952 1953 1954
1955 1956 1957 1958 1959

- -
- The 1950s
..... Click the link for more information.
Climate models use quantitative methods to simulate the interactions of the atmosphere, oceans, land surface, and ice. They are used for a variety of purposes from study of the dynamics of the weather and climate system to projections of future climate.
..... Click the link for more information.
Portable Document Format (PDF)

Adobe Reader displaying a PDF in Microsoft Windows Vista
File extension: .pdf
MIME type: application/pdf
Type code: 'PDF ' (including a single space)
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.