2. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 2
Programming language
Programming language can be define as following:
1) Tool for instructing machine
2) Means for communicating between programmers
3) Vehicle for expressing high level design
4) Notation for algorithms and data structures
5) It acts as a tool for experiment
6) Controlling computerized devices
3. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 3
Why study programming
languages
There are various reason regarding the study of programming languages but
following are six main reasons:
1) To improve your ability to develop effective algorithms
2) To improve your use of your existing programming language
3) To increase your vocabulary of useful programming constructs
4) To allow a better choice of programming language
5) To make it easier to learn a new language
6) To make it easier to design a new language
4. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 4
Why study programming
languages
Reason 1: To improve your ability to develop effective algorithms
The depth at which people can think is heavily influenced by the expressive power
of their language.
It is difficult for people to conceptualize structures that they cannot describe,
verbally or in writing.
Reason 2: To improve your use of your existing programming language
Many professional programmers have a limited formal education in computer
science, limited to a small number of programming languages.
They are more likely to use languages with which they are most comfortable than
the most suitable one for a particular job.
5. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 5
Why study programming
languages
Reason 3: To increase your vocabulary of useful programming constructs
Computer science is consider as a young discipline and most software technologies
(design methodology, software development, and programming languages) are not yet
mature. Therefore, they are still evolving.
The understanding of programming language design and implementation makes it
easier to learn new languages.
Reason 4: To allow a better choice of programming language
It is often necessary to learn about language implementation; it can lead to a better
understanding of why the language was designed the way that it was.
Fixing some bugs requires an understanding of implementation issues.
6. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 6
Why study programming
languages
Reason 4: To allow a better choice of programming language
Some languages are better for some jobs than others.
(i) FORTRAN and APL for calculations, COBOL and RPG for report generation, LISP
and PROLOG for AI, etc.
Improve your use of existing programming language
By understanding how features are implemented, you can make more efficient use of
them.
7. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 7
Why study programming
languages
Reason 5: To make it easier to learn a new language
To improve your use of existing programming language
By understanding how features are implemented, you can make more
efficient use of them.
Examples:
Creating arrays, strings, lists, records.
Using recursions, object classes, etc.
8. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 8
Why study programming
languages
Reason 6: To make it easier to design a new language
Designing a new language require prior knowledge of previous one to make it
effective, efficient and convenient to users.
The previous knowledge as well as concepts are usual to design a new language
irrespective of their work domains.
9. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 9
History of Programming
Languages
1950s: FORTRAN, LISP
1970s: Ada, C, Pascal, Prolog, Smalltalk
1980s: C++, ML, Perl, Postscript
1990s: Java
According to recent survey, Over 500 languages were used in defense projects by USA.
10. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 10
History of Programming
Languages
S.No. Application Primary Language Secondary
Language
1 Business COBOL Assembler
2 Scientific FORTRAN ALGOL, APL and
Basic
3 System Assembler Jovial, Forth
4 AI LISP SNOBOL
5 Business COBOL, C++, JAVA,
SPREAD SHEET
C, PL/I
6 Scientific FORTRON, C, C++,
JAVA
Ada, Basic, Modula
7 System C, C++, JAVA Ada, Basic, Modula
8 New Paradigm ML, Small Talk, ML
11. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 11
Development of Early Languages
Numerically based languages
In 1940s, WWII is used to solving differential equations.
In 1950s, symbolic notations appear
Grace Hopper introduced the A-0 language
John Backus introduced Speedcoding
Both Speedcoding and A-0 were designed to compute arithmetic expressions into
executable machine language.
FORTRAN, meaning FORmula TRANSlator and ALGOL are the example of numerical
based languages
12. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 12
Development of Early Languages
Business Languages
Cobol was standardized in 1968.
Artificial-intelligence languages
The Rand Corporation designed and developed the Information Processing Language
(IPL). John McCarthy of MIT designed and developed LIst PRocessing (LISP).
Systems languages
C changed the systems area, but that did not come until the 1970s.
13. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 13
What makes a good language
Attributes of a good language
(i) Clarity, simplicity, unity
Orthogonality: The term Orthogonality refers to the attribute being able to
combine various features of a language in all possible
combination with every combination being meaningful.
(ii) Naturalness
(iii) Verification and validation
(iv) Cost of use
14. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 14
Problem Solving
Defining the system
Analyzing the define system
Detail system specification
Design the system
Implement the design
Testing and Debugging
Validation
15. 7/2/2018 Mr Satyendra Mohan Srivastava, JIT Barabanki 15
Programming Environment
It refers to the environment in which programs are created, designed
and tested.
It consist of a set of support tools and command language for invoking
them.