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