Page 73 - DLIS108_INFORMATION_AND_COMMUNICATION_TECHNOLOGY_APPLICATIONS
P. 73

VED1
            e\L-lovely-eng\comm8-1.pmd  IInd 16-9-11  IIIrd  22-12-11 IVth 4-1-12


            Information and Communication Technology Applications





                   Notes
                                         Edsger Dijkstra took the position that the use of a formal language is essential to prevent
                                         the introduction of meaningless constructs.

                                 A programming language can be defined as:
                                 1. The act of extending or changing a system’s functionality.
                                 2. For a software system, it is the activity that starts with a specification and leads to its solution as
                                 a program.
                                 This definition covers a lot both programming “in the small” and “in the large”. It covers both
                                 (language-independent) architectural issues and (language-dependent) coding issues. It is unbiased
                                 by the limitations of any particular language, tool, or design methodology. Any notation for the
                                 description of algorithms and data structures may be termed as a programming language.
                                 We define programming, as a general human activity, to mean the act of extending or changing a
                                 system’s functionality. Programming is a widespread activity that is done both by non specialists
                                 (e.g., consumers who change the settings of their alarm clock or cellular phone) and specialists
                                 (computer programmers, the audience of this book).
                                 Programming as defined above has two essential parts: A technology and its scientific foundation.
                                 The technology consists of tools, practical techniques, and standards, allowing us to do programming.
                                 The science consists of a broad and deep theory with predictive power, allowing us to understand
                                 programming. Ideally, the science should explain the technology in a way that is as direct and
                                 useful as possible. If either part is left out, we are no longer doing programming. Without the
                                 technology, we are doing pure mathematics. Without the science, we are doing a craft, i.e., we lack
                                 deep understanding. Teaching programming correctly therefore means teaching both the technology
                                 (current tools) and the science (fundamental concepts).

                                 8.2 Why to Learn About Programming Languages

                                 It is rightly said that “The necessity is the mother of invention”. But one or the other way there are
                                 several facts that lets someone to learn something new everyday. Some of the features which force
                                 one to learn about programming languages are as follows:
                                    •  To appreciate the diversity of approaches to programming.
                                    •  To understand the cost of particular language features.
                                    •  To understand the connection between languages and the problem solving process.
                                    •  To suggest designs for languages suited to the needs of problem solving and software pro-
                                      duction.
                                    •  To permit a better choice of programming language for a particular problem.
                                    •  To understand the meaning of one language by comparing with others through development
                                      of semantic description tools.
                                    •  To understand how languages and features are implemented.
                                    •  To make it easier to learn new languages.
                                    •  To improve your ability to develop effective algorithms.
                                    •  To make better use of existing programming language.
                                    •  To increase your vocabulary of useful programming constructs.
                                    •  To make it easier to design a new language.




            68                               LOVELY PROFESSIONAL UNIVERSITY
   68   69   70   71   72   73   74   75   76   77   78