The 16th chapter of O’Reagan really focuses on very specific history of programming,notably languages. The reading starts with machine languages, to assembly languages, to early high-level procedural languages such as FORTRAN and COBOL, to later high-level languages such as Pascal and C and to object-oriented languages such as C++ and Java. Programs themselves are classified in terms of generations and grow increasingly more advanced as each generation multiplies. There are 3 distinct types of programming languages; imperative, functional and logical. Imperative languages requires a specific instruction and action to be given to the computer and results in a change of state. The entry level class here, CSC 151 is an imperative problem solving pedagogy where the new programmer simply masters the skill of giving instruction to the computer. Functional programming languages, like Miranda, have no global state, and programs consist of mathematical functions that have no side effects.Logical programming languages, like Prolog, define what is to be computed, rather than how the computation is to take place.
The latter half of the reading delineated various other types of more advanced programming languages. There are Object-Oriented Languages, such as Python, C++ and Java. These languages operate using objects, which can be a set of attributes such as a list in Python. This particular type of computing was very revolutionary at its inception. Functional Programming Languages mainly analyze and evaluate mathematical formulas. Some examples of these languages include Miranda and Lambda Calculus. Finally, Logic Programming Languages use mathematical logic to denote the problem itself rather than describe the process by which the problem will be solved. The objective is the important aspect in these languages, not how one arrives at the objective. Prolog is an example of a logic programming language. The chapter concludes with an introduction to the idea of Syntax and Semantics as it pertains to computers. Syntax is the order of various components of a computing language whereas semantics is the desired meaning or intended operation of the code.
TJ–> summarized first half and posted
Gray–>summarized second half
