History of Programming Language
History of Programming Language
History
• Early History : The first programmers
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 1 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 2
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 5 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 6
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 7 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 8
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 9 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 10
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 13 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 14
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 17 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 18
COBOL COBOL
First CODASYL Design Meeting - May 1959
Design goals:
• Must look like simple English
• Must be easy to use, even if that means it will be less
powerful
• Must broaden the base of computer users
• Must not be biased by current compiler problems
Design committee were all from computer manufacturers
and DoD branches
Design Problems: arithmetic expressions? subscripts?
Fights among manufacturers
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 19 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 20
IDENTIFICATION DIVISION.
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 27 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 28
• Algol68
• SNOBOL
• Simula
• BASIC
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 33 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 34
PL/I PL/I
• Computing situation in 1964 (IBM's point of view) PL/I contributions:
Scientific computing 1. First unit-level concurrency
• IBM 1620 and 7090 computers 2. First exception handling
• FORTRAN 3. Switch-selectable recursion
• SHARE user group 4. First pointer data type
Business computing 5. First array cross sections
• IBM 1401, 7080 computers
• COBOL Comments:
• GUIDE user group • Many new features were poorly designed
• IBM’s goal: develop a single computer (IBM 360) and a • Too large and too complex
single programming language (PL/I) that would be good • Was (and still is) actually used for both scientific
for scientific and business applications. and business applications
• Eventually grew to include virtually every idea in current • Subsets (e.g. PL/C) developed which were more
practical programming languages. manageable
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 35 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 36
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 39 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 40
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 41 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 42
Ada Ada
Contributions:
• Renamed Ada in May 1979. 1. Packages - support for data abstraction
2. Exception handling - elaborate
• Reference manual, Mil. Std. 1815 approved 10
3. Generic program units
December 1980. (Ada Bryon was born
4. Concurrency - through the tasking model
10/12/1815)
Comments:
• “mandated” for use in DoD work during late 80’s • Competitive design
and early 90’s. • Included all that was then known about software
• Ada95, a joint ISO and ANSI standard, accepted in engineering and language design
February 1995 and included many new features. • First compilers were very difficult; the first really
• The Ada Joint Program Office (AJPO) closed 1 usable compiler came nearly five years after the
October 1998 (Same day as ISO/IEC 14882:1998 language design was completed
(C++) published!) • Very difficult to mandate programming technology
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 45 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 46
Java C# (C Sharp)
• Developed at Sun in the early 1990s • Microsoft and Sun were bitter rivals in the
with original goal of a language for 90s
embedded computers • C# is Microsoft’s answer to Java
• Principals: Bill Joy, James Gosling, Mike
Sheradin, Patrick Naughton • C# is very similar to Java with (maybe)
• Original name, Oak, changed for copyright reasons some minor improvements
• Based on C++ but significantly simplified • If you know Java, learning C# should be
• Supports only OOP easy
• Has references, but not pointers • However: both languages have extensive
• Includes support for applets and a form of libraries, and mastering them is a big part of
concurrency mastering the language.
CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 53 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 54