
Chapter 6
Historical Context and Evolution of
Languages
6.1 Evolution of machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.2 Evolution of programming languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.3 Limits to automatic parallelization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Objectives:
• Examine the historical evolution of concurrency and parallelism in
computing ...