Fortran is a programming language created in 1957 by John Backus.
Fortran (; formerly FORTRAN, derived from Formula Translation) is a generalpurpose, 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 continuous use for over half a century in computationally intensive areas such as numerical weather prediction, finite element analysis, computational fluid dynamics, computational physics, crystallography and computational chemistry. It is a popular language for highperformance computing and is used for programs that benchmark and rank the world's fastest supercomputers. Read more on Wikipedia...
Try now: Riju
#22on PLDB  65Years Old  165.2kUsers 
PROGRAM hello
PRINT *, "Hello, world!"
END PROGRAM hello
print *,'Hello World'
end
C Hello World in Fortran
PROGRAM HELLO
WRITE (*,100)
STOP
100 FORMAT (' Hello World! ' /)
END
! Codes/HYCOM/hycom/ATLb2.00/src_2.0.01_22_one/
real onemu, twomu
data onemu/0.0098/
data twomu/1./
data threemu/0.e9/
end
program average
! Read in some numbers and take the average
! As written, if there are no data points, an average of zero is returned
! While this may not be desired behavior, it keeps this example simple
implicit none
real, dimension(:), allocatable :: points
integer :: number_of_points
real :: average_points=0., positive_average=0., negative_average=0.
write (*,*) "Input number of points to average:"
read (*,*) number_of_points
allocate (points(number_of_points))
write (*,*) "Enter the points to average:"
read (*,*) points
! Take the average by summing points and dividing by number_of_points
if (number_of_points > 0) average_points = sum(points) / number_of_points
! Now form average over positive and negative points only
if (count(points > 0.) > 0) then
positive_average = sum(points, points > 0.) / count(points > 0.)
end if
if (count(points < 0.) > 0) then
negative_average = sum(points, points < 0.) / count(points < 0.)
end if
deallocate (points)
! Print result to terminal
write (*,'(a,g12.4)') 'Average = ', average_points
write (*,'(a,g12.4)') 'Average of positive points = ', positive_average
write (*,'(a,g12.4)') 'Average of negative points = ', negative_average
end program average
ACCESS ACTION ADVANCE ALLOCATABLE ALLOCATE ASSIGN ASSIGNMENT BACKSPACE BLANK BLOCK CALL CASE CHARACTER CLOSE COMMON COMPLEX CONTAINS CONTINUE CYCLE DATA DEALLOCATE DEFAULT DELIM DIMENSION DIRECT DO DOUBLE ELSE ELSEWHERE END ENDFILE ENTRY EOR EQUIVALENCE ERR EXIST EXIT EXTERNAL FILE FMT FORM FORMAT FORMATTED FUNCTION GO IF IMPLICIT IN INOUT INQUIRE INTEGER INTENT INTERFACE INTRINSIC IOLENGTH 10STAT KIND LEN LOGICAL MODULE NAME NAMED NAMELIST NEXTREC NML NONE NULLIFY NUMBER ONLY OPEN OPENED OPERATOR OPTIONAL OUT PAD PARAMETER PAUSE POINTER POSITION PRECISION PRINT PRIVATE PROCEDURE PROGRAM PUBLIC READ READWRITE REAL REC RECl RECURSIVE RESULT RETURN REWIND SAVE SELECT SEQUENCE SEQUENTIAL SIZE STAT STATUS STOP SUBROUTINE TARGET THEN TO TYPE UNFORMATTED UNIT USE WHERE WHILE WRITE
Feature  Supported  Example  Token 

Strings  âœ“  'Hello world' 
' 
Assignment  âœ“  =  
Line Comments  âœ“  C A comment 
! 
Module Pattern  âœ“  module constants implicit none real, parameter :: pi = 3.1415926536 real, parameter :: e = 2.7182818285 contains subroutine show_consts() print*, "Pi = ", pi print*, "e = ", e end subroutine show_consts end module constants program module_example use constants implicit none real :: x, ePowerx, area, radius x = 2.0 radius = 7.0 ePowerx = e ** x area = pi * radius**2 call show_consts() print*, "e raised to the power of 2.0 = ", ePowerx print*, "Area of a circle with radius 7.0 = ", area end program module_exampl 

Print() Debugging  âœ“  C Hello World in Fortran PROGRAM HELLO WRITE (*,100) STOP 100 FORMAT (' Hello World! ' /) END 

Comments  âœ“  C C Lines that begin with 'C' (in the first or 'comment' column) are comments C 

Case Sensitivity  Ï´  
Semantic Indentation  Ï´  
MultiLine Comments  Ï´ 
repo  stars  description 

OpenBLAS  2879  OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. 
E3SM  117  Energy Exascale Earth System Model source code. 
title  author  year  reviews  ratings  rating 

Fortran 90/95 For Scientists And Engineers  Stephen J. Chapman  1997  3  41  4.07 
Fortran 95/2003 for Scientists and Engineers  Stephen J. Chapman  2007  0  30  4.13 
FORTRAN 77 for Engineers and Scientists with an Introduction to FORTRAN 90  Larry R. Nyhoff  1995  0  8  2.38 
Structured FORTRAN 77 for Engineers and Scientists  Delores M. Etter  1983  1  9  3.89 
Programming In Fortran: Structured Programming With Fortran Iv And Fortran 77  Vladimir Zwass  1  1  5.00  
FORTRAN 77 for engineers and scientists  Larry R. Nyhoff  1985  1  3  4.33 
Schaum's Outline of Programming with FORTRAN Including Structured FORTRAN  Seymour Lipschutz  1978  0  0  0.0 
Fortran 77 Programming: With An Introduction To Fortran 90 Standard  T.M.R. Ellis  1990  0  2  4.50 