Skip to main content

Introduction to Programming Languages

  • Chapter
  • First Online:
Introduction to Programming with Fortran
  • 6444 Accesses

Abstract

The primary aim of this chapter is to provide a short history of program language development and give some idea as to the concepts that have had an impact on Fortran. It concentrates on some but not all of the major milestones of the last 40 years, in roughly chronological order. The secondary aim is to show the breadth of languages available. The chapter concludes with coverage of a small number of more specialised languages.

We have to go to another language in order to think clearly about the problem.

Samuel R. Delany, Babel-17

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ian Chivers .

Bibliography

Bibliography

Fortran 2008 Standard, ISO/IEC 1539-1:2010, price CHF 338. Publication date: 2010-10-06.

figure j

Fortran 2003 Standard, ISO/IEC DIS 1539-1:2004(E)

DTR 19767: Enhanced module Facilities: ISO/IEC TR 19767:2004(E)

Fortran 77 Standard

figure k

Fortran 66 Standard

figure l

The ISO home page is

figure m

The J3 home page is:

figure n

The WG5 home page is:

figure o

Both have copies of working documents.

Adobe Systems Incorporated, Postscript Language: Tutorial and Cookbook. Addison-Wesley (1985); Reference Manual. Addison-Wesley (1985); Program Design. Addison-Wesley (1985)

  • The three books provide a comprehensive coverage of the facilities and capabilities of Postscript.

They third edition of the reference manual is available online.

figure p

ACM SIG PLAN, History of programming Languages Conference—HOPL-II, ACM Press (1993)

  • One of the best sources of information on C++, CLU, Concurrent Pascal, Formac, Forth, Icon, Lisp, Pascal, Prolog, Smalltalk and Simulation Languages by the people involved in the original design and or implementation. Very highly recommended. This is the second in the HOPL series, and the first was edited by Wexelblat. Details are given later.

Adams, J.C., Brainerd, W.S., Hendrickson, R.A., Maine, R.E., Martin, J.T., Smith, B.T.: The Fortran 2003 Handbook. Springer (2009)

  • Their most recent version, and a complete coverage of the 2003 standard. As with the Metcalf, Reid and Cohen book some of the authors were on the J3 committee. Very thorough.

Annals of the History of Computing, Special Issue: Fortran’s 25 Anniversary, ACM, 6(1), (1984)

  • Very interesting comments, some anecdotal, about the early work on Fortran.

Barnes, J.: Programming in Ada 95. Addison-Wesley (1996)

  • One of the best Ada books. He was a member of the original design team.

Bergin, T.J., Gibson, R.G.: History of Programming Languages. Addison-Wesley (1996)

  • This is a formal book publication of the Conference Proceedings of HOPL II. The earlier work is based on preprints of the papers.

Birtwistle, G.M., Dahl, O. J., Myhrhaug, B., Nygaard, K.: SIMULA BEGIN, Chartwell-Bratt Ltd (1979)

  • A number of chapters in the book will be of interest to programmers unfamiliar with some of the ideas involved in a variety of areas including systems and models, simulation, and co-routines. Also has some sound practical advice on problem solving.

Brinch-Hansen, P.: The Programming Language Concurrent Pascal, IEEE Transactions on Software Engineering, 199–207, (June 1975)

  • Looks at the extensions to Pascal necessary to support concurrent processes.

Cannan, S., Otten, G.: SQL—The Standard Handbook. McGraw-Hill (1993)

  • Very thorough coverage of the SQL standard, ISO 9075:1992(E).

Chivers, I.D., Clark, M.W.: History and Future of Fortran. data Processing, 27(1), January/February 1985.

  • Short article on an early draft of the standard, around version 90.

Chivers Ian, Essential C# Fast, Springer, ISBN 1-85233-562-9

  • A quick introduction to the C# programming language.

Chivers, I.D.: A Practical Introduction to Standard Pascal. Ellis Horwood (1986)

  • A short introduction to Pascal.

Date, C.J.: A Guide to the SQL Standard. Addison-Wesley (1997)

  • Date has written extensively on the whole database field, and this book looks at the SQL language itself. As with many of Date’s works quite easy to read.

Deitel, H.M., Deitel, P.J.: Java: How to program, 10th Edition Pearson Education

  • A good introduction to Java and programming for people with little or no background in programming.

Deitel, H.M., Deitel, P.J.: Visual Basic How to Program. Pearson Education (2014)

  • Good practical introduction to VB .NET.

Dyson, G.: Turing’s Cathedral, The origins of the Digital Universe. Pantheon Books (2012)

  • The following is taken from the books blurb. ... Dyson focuses on a small group of men and women, led by John von Neuman at the Institute of Advanced Study in Princeton, New Jersey, who build one of the first computers to realise Alan Turing’s vision of a Universal Machine.

Eckstein, R., Loy, M., Wood, D.: Java Swing, O’Reilly (1998)

  • Comprehensive coverage of the visual interface features available in Java.

Geissman, L.B.: Separate Compilation in Modula 2 and the Structure of the Modula 2 Compiler on the Personal Computer Lilith, Dissertation 7286, ETH Zurich.

  • Fascinating background reading concerning Modula 2 and the Lilith architecture.

Goldberg, A., Robson, D.: Smalltalk 80: The Language and its Implementation. Addison-Wesley (1983)

  • Written by some of the Xerox PARC people who have been involved with the development of Smalltalk. Provides a good introduction (if that is possible with the written word) of the capabilities of Smalltalk.

Goos, G., Hartmanis, J (Eds),: The programming Language Ada—Reference Manual. Springer (1981)

  • The definition of the language.

Goossens, M., Mittelbach, F., Rahtz, S., Roegel, D., Voß, H.: The LaTeX Graphics Companion, 2nd edition, Addison Wesley (2007)

  • Another essential LaTeX book.

Griswold, R.E., Poage, J.F., Polonsky, I.P.: The Snobol4 programming Language. Prentice-Hall (1971)

  • The original book on the language. Also provides some short historical material on the language.

Griswold, R.E., Griswold, M.T.: The Icon programming Language. Prentice-Hall (1983)

  • The definition of the language with a lot of good examples. Also contains information on how to obtain public domain versions of the language for a variety of machines and operating systems .

Harbison, S.P., Steele, G.L.: A C Reference Manual. Prentice-Hall (2002)

  • Very good coverage of the various flavours of C, including K&R C, Standard C 1989, Standard C 1995, Standard C 1999 and Standard C++

Hoare, C.A.R.: Hints on programming Language Design, SIGACT/SIGPLAN Symposium on Principles of programming Languages. (October 1973)

  • The first sentence of the introduction sums it up beautifully: “I would like in this paper to present a philosophy of the design and evaluation of programming languages which I have adopted and developed over a number of years, namely that the primary purpose of a programming language is to help the programmer in the practice of his art.”

Jacobi, C.: Code Generation and the Lilith Architecture, Dissertation 7195, ETH Zurich

  • Fascinating background reading concerning Modula 2 and the Lilith architecture.

Jenson, K., Wirth, N.: Pascal: User Manual and Report. Springer (1975)

  • The original definition of the Pascal language. Understandably dated when one looks at more recent expositions on programming in Pascal.

Kemeny, J.G., Kurtz, T.E.: Basic programming. Wiley (1971)

  • The original book on Basic by its designers.

Kernighan, B.W., Ritchie, D.M.: The C programming Language. Prentice-Hall; first edition 1978; second edition 1988

  • The original work on the C language, and thus essential for serious work with C.

Kowalski, R.: Logic programming in the Fifth Generation, The Knowledge Engineering Review, The BCS Specialist Group on Expert Systems.

  • A short paper providing a good background to Prolog and logic programming , with an extensive bibliography.

Knuth, D.E.: The TeXbook. Addison-Wesley (1986)

  • Knuth writes with an tremendous enthusiasm and perhaps this is understandable as he did design TeX. Has to be read from cover to cover for a full understanding of the capability of TeX.

Lamport, L.: LaTeX User’s Guide and Reference Manual. Addison Wesley (2005). ISBN 0201529831.

  • The original LaTeX book. Essential reading.

Lyons, J.: Chomsky, Fontana/Collins. (1982)

  • A good introduction to the work of Chomsky, with the added benefit that Chomsky himself read and commented on it for Lyons. Very readable.

Malpas, J.: Prolog: A Relational Language and its Applications. Prentice-Hall (1987)

  • A good introduction to Prolog for people with some programming background. Good bibliography. Looks at a variety of versions of Prolog.

Marcus, C.: Prolog programming: Applications for Database Systems, Expert Systems and Natural Language Systems, Addison-Wesley.

  • Coverage of the use of Prolog in the above areas. As with the previous book aimed mainly at programmers, and hence not suitable as an introduction to Prolog as only two chapters are devoted to introducing Prolog.

Metcalf, M., Reid, J., Cohen, M.: Modern Fortran Explained. Oxford University Press (2011)

  • A clear compact coverage of the main features of Fortran. John Reid is Convener of the WG5 committee and Malcolm Cohen was the editor of Fortran 2008.

Mittelbach, F., Goossens, M., Braams, J., Carlisle, D., Rowley, C.: The LaTeX Companion. Addison Wesley (2005). ISBN 0201362996.

  • The LaTeX book. It is required if you are setting a book using LaTeX.

Mossenbeck, H.: Object-Orientated programming in Oberon-2. Springer (1995)

  • One of the best introductions to object oriented programming . Uses Oberon-2 as the implementation language. Highly recommended.

Papert, S.: Mindstorms—Children, Computers and Powerful Ideas. Harvester Press (1980)

  • Very personal vision of the uses of computers by children. It challenges many conventional ideas in this area.

Sammet J., programming Languages: History and Fundamentals. Prentice-Hall (1969)

  • Possibly the most comprehensive introduction to the history of program language development—ends unfortunately before the 1980s.

Sethi, R.: programming Languages: Concepts and Constructs. Addison-Wesley (1989)

  • The annotated bibliographic notes at the end of each chapter and the extensive bibliography make it a useful book.

Reiser, M., Wirth, N.: programming in Oberon—Steps Beyond Pascal and Modula. Addison-Wesley (1992)

  • Good introduction to Oberon. Revealing history of the developments behind Oberon.

Reiser, M.: The Oberon System: User Guide and programmer’s Manual. Addison-Wesley (1991)

  • How to use the Oberon system, rather than the language.

Stroustroup, B.: The C++ Programming Language, 3rd edn. 1997; 4th edn. 2014. Addison-Wesley (1997).

  • The C++ book. Written by the designer of the language. The third edition is a massive improvement over the earlier editions. The fourth edition covers C++11. One of the best books on C++ and C++11 in particular.

Young, S.J.: An Introduction to Ada, 2nd Edition. Ellis Horwood (1984)

  • A readable introduction to Ada. Greater clarity than the first edition.

Wexelblat, History of programming Languages, HOPL I, ACM Monograph Series. Academic Press (1978)

  • Very thorough coverage of the development of programming languages up to June 1978. Sessions on Fortran, Algol, Lisp, Cobol, APT, Jovial, GPSS, Simula, JOSS, Basic, PL/I, Snobol and APL, with speakers involved in the original languages. Very highly recommended.

Wiener, R.: Software development using Eiffel. Prentice Hall, 1995.

  • The book’s subtitle is There can be life other than C++ The book gives a good introduction to object oriented analysis and design using the Booch 94 method using Eiffel.

Wirth, N.: An Assessment of the Programming Language Pascal. IEEE Transactions on Software Engineering, 192–198 (June 1975)

  • Short paper by Wirth on his experience with Pascal.

Wirth, N.: History and Goals of Modula 2. Byte, 145–152 (August 1984)

  • Straight from the horse’s mouth!

Wirth, N.: On the Design of programming Languages, Proc. IFIP Congress, vol. 74, pp. 386–393. North-Holland.

  • Short paper given in 1974 on designing programming languages .

Wirth, N.: The programming Language Pascal, Acta Informatica, vol. 1, pp. 35–63 (1971)

  • Short paper on the development of Pascal from Algol 60.

Wirth, N.: Modula: a language for modular multiprogramming, Softw. Pract. Exp. 7, 3–35 (1977)

  • Short paper on Modula, the precursor of Modula 2.

Wirth, N.: Programming in Modula 2, Springer (1983)

  • The original definition of the language. Essential reading for anyone considering programming in Modula 2 on a long term basis.

Wirth, N.: Type Extensions, ACM Trans. Prog. Lang. Syst. 10(2):214–2004 (1988)

  • Short paper on type extension.

Wirth, N.: From modula 2 to oberon. Softw.—Pract. Exp. 18(7):661–670 (1988).

  • Brief paper on the move from Modula 2 to Oberon, looking at features that were removed and added.

Wirth, N., Gutknecht, J.: Project Oberon: The Design of an Operating System and Compiler. Addison-Wesley (1992)

  • Fascinating background to the development of Oberon. Highly recommended for anyone involved in large scale program development, not only in the areas of programming languages and operating systems , but more generally.

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Chivers, I., Sleightholme, J. (2015). Introduction to Programming Languages. In: Introduction to Programming with Fortran. Springer, Cham. https://doi.org/10.1007/978-3-319-17701-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-17701-4_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-17700-7

  • Online ISBN: 978-3-319-17701-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics