Presented by: Destry Diefenbach

Slides:



Advertisements
Similar presentations
EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Advertisements

879 CISC Parallel Computation High Performance Fortran (HPF) Ibrahim Halil Saruhan Although the [Fortran] group broke new ground …
Programming Paradigms and languages
BNF. What is BNF? BNF stands for “Backus-Naur Form,” after the people who invented it BNF is a metalanguage--a language used to describe another language.
Fortran Jordan Martin Steven Devine. Background Developed by IBM in the 1950s Designed for use in scientific and engineering fields Originally written.
Names and Bindings.
Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Chapter 5: Elementary Data Types Properties of types and objects –Data objects, variables and constants –Data types –Declarations –Type checking –Assignment.
ICE1341 Programming Languages Spring 2005 Lecture #14 Lecture #14 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
CIS 101: Computer Programming and Problem Solving Lecture 8 Usman Roshan Department of Computer Science NJIT.
ALGOL 60 Design by committee of computer scientists: Naur, Backus, Bauer, McCarthy, van Wijngaarden, Landin, etc. Design by committee of computer scientists:
1 ) Definition 2) Note on structured and modular programming, and information hiding 3) Example imperative languages 4) Features of imperative languages.
Introduction to Fortran Fortran Evolution Drawbacks of FORTRAN 77 Fortran 90 New features Advantages of Additions.
Three types of computer languages
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
FORTRAN.  Fortran or FORmula TRANslation was developed in the 1950's by IBM as an alternative to Assembly Language. First successfull high level language.
Introduction to Computers and Programming. Some definitions Algorithm: Algorithm: A procedure for solving a problem A procedure for solving a problem.
CSCE 330 Project Algol 68 Joe PuzioWael AL-Fayez Gaurav ShahRonak Patel.
COMPUTER SCIENCE I C++ INTRODUCTION
Language Evaluation Criteria
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Introduction to FORTRAN
Operator Overloading and Type Conversions
MT311 Java Programming and Programming Languages Li Tak Sing ( 李德成 )
Imperative Programming
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CIS Computer Programming Logic
April 14, ICE 1341 – Programming Languages (Lecture #13) In-Young Ko Programming Languages (ICE 1341) Lecture #13 Programming Languages (ICE 1341)
1 History of compiler development 1953 IBM develops the 701 EDPM (Electronic Data Processing Machine), the first general purpose computer, built as a “defense.
CS 403 Programming Language Theory Class 2 - August 29, 2000.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Programming Language C++ Xulong Peng CSC415 Programming Languages.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
FORTRAN FORmula TRANslator -Anand Trivedi. HISTORY  Designed and written from scratch in by an IBM team lead by John W. Backus as the first.
Class Review. Basic Unix Commands list files in a directory: ls list files in a directory: ls remove files: rm remove files: rm rename files: mv rename.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Fortran 77 By Tanatorn Somboonvorakit, ID:
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
1 Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
FUNCTIONS IN FORTRAN For a complex program difficulties like writing it and debugging are encountered. These can be minimized by breaking main program.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
Cs7100 (Prasad)L2SpecIntro1 Motivation for Language Specification.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
MT311 Java Application Development and Programming Languages Li Tak Sing ( 李德成 )
C Part 1 Computer Organization I 1 August 2009 © McQuain, Feng & Ribbens A History Lesson Development of language by Dennis Ritchie at Bell.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
FORTRAN Boz. Before FORTRAN Machine language and assembly code. Programmers had many problems to overcome.  Lack of instruction sets  Primitive stream.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Programming Languages Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
CSE3302 Programming Languages (notes continued)
Information and Computer Sciences University of Hawaii, Manoa
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
The Forth Language CSC 507 – Roy Ford November 22, 2005.
Intro to Programming Week # 1 Hardware / Software Lecture # 2
Arithmetic operations, decisions and looping
Introduction C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell.
BNF 23-Feb-19.
Chapter 1 Preliminaries.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
C Language B. DHIVYA 17PCA140 II MCA.
Presentation transcript:

Presented by: Destry Diefenbach FORTRAN 77 Presented by: Destry Diefenbach

The Free Online Dictionary of Computing (http://foldoc.doc.ic.ac.uk/) Fortrash <abuse, language> /for'trash/ Hackerism for the Fortran language, referring to its primitive design, gross and irregular syntax, limited control constructs, and slippery, exception-filled semantics. [Jargon File] (1994-10-26)

“Algol is FORTRAN done right.” -Bruce Knobe, 1973 “Pascal is FORTRAN done right.” -Raymond Langsford, 1980 “FORTRAN 77 is FORTRAN done right.” -James Ball, 1983

History of FORTRAN John Backus Stands for IBM Mathematical FORmula TRANslation System but abbreviated to FORmula TRANslation FORTRAN 0 was developed by a IBM research team headed by John Backus in 1954. Was the first high-level programming language John Backus 1924-1988

More History The design of FORTRAN made it easier to translate mathematical formulas into code. FORTRAN originally began as a digital code interpreter for the IBM 701 At that time it was called Speedcoding The point of FORTRAN was to make programming easier. IBM 701

FORTRAN I 1957 Was the first compiler By 1958 over 50% of software was in FORTRAN Cut development time. 2 weeks to 2 hours

FORTRAN II - IV FORTRAN II FORTRAN III FORTRAN IV Independent compilation Fix the bugs FORTRAN III Was developed, but it was never widely distrbuted FORTRAN IV Explicit type declarations Logical selection (IF) statement Subprogram names could be parameters ANSI standard in 1966

FORTRAN 77 FORTRAN 77 replaced FORTRAN IV as the new standard. It retained most of the features of IV It added Character string handling Logical loop control statements And a If with a optional else statement

Data Types FORTRAN 77 explicitly permits data types of integer, real, double precision, complex, logical, and characters.

Real Data Types Represent decimal numbers It uses scientific notation

Double Precision Data Types Instead of E it used D 1D2 100

Complex Data Types Built in complex number data type Which occupies 2 bytes The first byte in the pair represents the real part of the complex data type. The second byte represents the imaginary part of the complex item. represented as follows Numeric Value (4.61,-6.81) 4.61 – 6.81i (-10,5) -10+5i

Program Structure A FORTRAN program is a collection of subprogram definitions. Subprograms may be a FUNCTION that returns values, a SUBROUTINE that doesn’t return a value, and one must be the “main program”

Main Program The main program receives control of the processor when an executable program is loaded for execution. There can be only one main program in an executable program. That main program is identified by the fact that it does not have a FUNCTION, SUBROUTINE, or BLOCK DATA statement as its initial statement.

Intrinsic Functions FORTRAN 77 has many intrinsic functions Examples SQRT( ) square root FLOAT( ),INT ( ) type conversions COS( ),SIN( ), TAN( ) trig functions

Statement Functions Statement functions are one line defined functions that is internal to the program unit in which it is defined Example of a statement function ROOT(A,B,C) = (-B+SQRT(B**2-4.0*A*C))/(2.0*A)

Subprograms The main abstraction devices in FORTRAN 77 are the subroutines and functions. The subroutine definition SUBROUTINE SWAP (I,J) M = I I = J J = M RETURN END Functions are structurally similar to subroutines.

Control Structures GOTO statements IF statements DO statement CONTINUE statement STOP and PAUSE statements END statement

GOTO Statements The GOTO statement is used to direct program control to indicated by the statement number specified in the respective GOTO statement Three types of GOTO statements Unconditional GOTO 100 Computed GOTO(1,2,3)I Assigned GOTO I,(1,2,3)

IF Statements Contains IF, ELSE IF, ELSE, END IF Example IF(Q) THEN A=B C=D ELSE IF (R) THEN E=F G=H ELSE X=Y Z=W END IF

DO Statement The DO statement is used to establish a controlled loop Example DO DO 10 I = 1,10,1

CONTINUE,STOP PAUSE, and END STATEMENT The CONTINUE statement serves as a point of reference in a program No operational function is performed It is frequently used in DO loops to provide a terminal statement The STOP and PAUSE statements do a similar task The STOP terminates execution The PAUSE terminates execution, but leaves the program in a resumable state The END statement marks the physical end of a program

EVALUATION Readability Writability Reliability Cost

Readability FORTRAN 77 is not to hard to read on a small scale, but when many GOTO statements are involved it gets very difficult Identifiers can only be six characters long

Writability Depends on what you are using it for. Is a pretty simply language

Reliability Is not very reliable Only static type checking Lack of exception handling

Cost Cheap Lots of free resources/compilers A fairly easy language to learn

Bibliography Marshall, A C. A Brief History of FORTRAN 77. 8 Sept. 1997 http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode29.html ibiblio.org. A Brief History of FORTRAN. No date http://www.ibiblio.org/pub/languages/fortran/ch1-1.html American National Standards Institute, Inc. American National Standard Programming Language FORTRAN. April 3, 1978. http://www.fortran.com/F77_std/rjcnf-0.html Chivers, Ian D. Sleightholme, Jane. Interactive FORTRAN 77: A Hands on Approach 2nd ed. 1984. http://www.kcl.ac.uk/kis/support/cit//fortran/f77book.pdf William, Waite. FORTRAN 77 Semantic Analysis. No date. http://eli-project.sourceforge.net/fortran_html/Semantics.html#s1 Bellis, Mary. Inventors of the Modern Computer. No date. http://inventors.about.com/library/weekly/aa072198.htm Page, Rex. Didday, Rich. Alpert, Elizabeth. FORTRAN 77 for Humans, 3rd ed. 1986 West Publishing Company Katzan, Harry Jr. FORTRAN 77, Computer Science Series. 1978 Van Nostrand Reinhold Company