(COMPUTER SCIENCE 7)
PRELIMINARIES
Reasons for Studying Concepts of Programming Languages
1. Increased capacity to express ideas – People with limited grasp of natural language are limited in the complexity of their thoughts, it is difficult for people to conceptualize structure that they cannot describe, verbally or in writing. Programmers in the process of developing software encounter the same constraint. Programmers can increase the range of their software-development thought process by learning new language constructs.
2. Improved background for choosing appropriate languages – Professional programmers have had little formal education in computer science and were trained on the job or thought in-house training programs. If these programmers were familiar with the other languages available, they would be in a better position to make language choices.
3. Increased ability to learn new languages – Computer is young discipline, and design methodologies, software development tools, and programming languages are still in a state of continuous evolution. Programmers who understand the concepts of data abstraction will have a much easier time learning how to construct abstract data types than those who are not at all familiar with data abstraction.
4. Better understanding of the significance of implementation – We can become better programmers by understanding the choices among programming language constructs and the consequences of those choices. Certain kinds of bugs can only be found and fixed by a programmer who knows some related implementation and consequences of those choices.
5. Increased ability to design new languages – To a student, the possibility of being required to design new programming language may seem remote, but to professional programmers occasionally design languages. A critical examination of those of programming languages will help in the design of complex systems, and help users to