Introduction Laguage Design Issue

Only available on StudyMode
  • Download(s) : 199
  • Published : December 9, 2012
Open Document
Text Preview
Lesson 1: Introduction, Language Design Issues
Why Study Programming Languages (PLs)? History of PLs Brief Survery of Programming Paradigms Role of PLs Attributes of a Good Language Language Standardization Internationalization

Why Study PLs?

Jun 2012

Lesson 1 Introduction, Language Design Issues

2

In 1969, Sammet listed 120 PLs that were fairly used Since 1969, many other PLs were developed Most programmers confine the use of one or two PLs Reasons are based in the underlying design concepts and their effect on language implementation Lesson 1 Introduction, Language Design Issues

Jun 2012

3

Six Primary Reasons
1. 2. 3. 4. 5. 6.

To improve abilities in developing effective algorithms. To improve the use of existing PL. To increase vocabulary of useful programming constructs. To allow a better choice of PL. To make it easier to learn a new language. To make it easier to design a new language. Lesson 1 Introduction, Language Design Issues 4

Jun 2012

To improve abilities in developing effective algorithms
Language features that are used properly may benefit the programmer Language features that are used improperly may waste large amounts of computer time or lead the programmer into timeconsuming logical errors.

Jun 2012

Lesson 1 Introduction, Language Design Issues

5

Recursion feature in a PL:
When used properly, it allows direct implementation of elegant and efficient algorithms. When used improperly, it causes astronomical increase in execution time Programmers who do not know its design questions and implementation difficulties may avoid using this construct. Basic knowledge allows the programmer to understand the relative cost of recursion in a particular language and be able to determine whether its use is worthy enough in a particular programming situation. Lesson 1 Introduction, Language Design Issues

Jun 2012

6

New programming methods are introduced, such as object-oriented programming, logic programming, concurrent programming. It requires an understanding of PLs that implement these new concepts.

New technology, such as the Internet and WWW, change the nature of programming. It requires an understanding of PLs in order (how best it is) to develop techniques applicable in these new environments. Jun 2012 Lesson 1 Introduction, Language Design Issues 7

To improve the use of existing PL
Must understand how features in a language are implemented which greatly increases ability to write efficient programs. Understand how arrays, strings, lists, or records are created and manipulated by a language. Know implementation details of recursion. Understand how object classes are built allows creation of more efficient programs consisting of such components. Jun 2012 Lesson 1 Introduction, Language Design Issues 8

To increase vocabulary of useful programming constructs
Familiarity with a singe PL have a constraining effect:
Searching for data and program structures suitable to the problem solution makes a programmer think only of structures that are immediately expressible in a language which he/she is familiar.

Studying the constructs provided by a wide range of languages increases a programmer’s programming vocabulary. Jun 2012 Lesson 1 Introduction, Language Design Issues 9

Understanding of implementation techniques is important:
Programmer must use basic elements (provided by the language) in order to provide an implementation of a construct (which is not supported directly by the language). The coroutine feature are provided directly by a few PLs. A C or FORTRAN programmer may design a program using a coroutine structure and implement it as a C or FORTRAN program if familiar with the coroutine concept and its implementation. Lesson 1 Introduction, Language Design Issues

Jun 2012

10

To allow a better choice of PL
A knowledge of a variety of languages may allow the choice of just the right PL for a particular project reducing the...
tracking img