Modern Programming Languages (CS203). I am covering this course with scratch and followed by Java Language.This course is for the Computer Science and Software Engineering.This is also a elective subject.Sudents can select on their will but with this they can learn diffrnt environments.
1. Modern Programming Languages
(CS208)
Lecture 1 & 2
By:
Mr. Zain Ul Islam Adil
Department of Computing
ABASYN UNIVERSITY ISLAMABAD CAMPUS
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
1
2. • Introduction
• Why study programming languages?
• Textbooks
• Reasons to study concepts of Modern Programming
Language (MPL)
• Programming Domains
• Language Evaluation Criteria
• Influence on Language Design
• Outcomes
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
2
Outline
3. Introduction
• A program is a set of instructions that help computer to perform tasks. The languages that are used to write a program or
set of instructions are called "programming languages". Programming languages are broadly categorized into three types:
• Machine level language
Machine language is lowest level of programming language. It handles binary data i.E. 0’s and 1’s
500=111110100
• Assembly level language
It consists of commands
SUB AX, BX=0010101110000011
• High-level language
The instructions in this language are called codes or scripts.
if age < 18 {printf("Welcome to MPL Class");}
else{ printf("Sorry! You are not allowed in MPL class");}
}
3
4. Why study programming languages?
• To improve the ability to develop effective algorithms.
• To improve the use of familiar languages.
• To increase the vocabulary of useful programming Constructs.
• To allow a better choice of programming language.
• To make it easier to learn a new language.
• To make it easier to design a new language.
• To simulate useful features in languages that lack them.
• To make better use of language technology wherever it Appears.
4
5. Textbooks:
• Concepts of programming languages, 6th edition, Robert W.
Sebesta
• Modern programming languages, Franklin, Beedle & assoc. (2010)
• Modern software development using java, Paul T.Tymann & G.
Michael schneider
5
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
6. Reasons to study concepts MPL:
• Increased capacity to express ideas
• Improved background for choosing appropriate languages
• Increased ability to learn new languages
• Better use of languages that are already known
• Overall advancement of computing
(Fortran over ALGOL )
6
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
7. Programming domains
• Programming domains
i. Scientific applications
The early high level programming languages invented for scientific
applications like fortran & ALGOL 60.
ii. Business Applications
iii. Artificial Intelligence
iv. System Programming
v. Web Software
7
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
8. Language evaluation criteria 1/2
• Clarity, simplicity, and unity.
• Orthogonality.
• Naturalness for the application.
• Support of abstraction.
• Ease of program verification.
• Programming environments.
• Portability of programs.
8
“Modern Programming Languages” by Zain Ul Islam Adil, 2022
9. Language evaluation criteria 2/2
Cost of use
• Cost of execution.
• Cost of program translation.
• Cost of program creation, testing, and use.
• Cost of program maintenance.
9
10. Influence on language design
Motivation:
A specific purpose provides focus for language designers; It helps to set criteria
for making design decisions. A specific, motivating application also helps to solve
one Of the hardest problems in programming language design: Deciding which
features to leave out.
10
11. Outcomes:
• Factor which influence the programmer
• Qualities of good programming language
• Syntax of good programming language
11
Machine Level Language
Machine language is lowest level of programming language. It handles binary data i.e. 0’s and 1’s. It directly interacts with system. Machine language is difficult for human beings to understand as it comprises combination of 0’s and 1’s.
Assembly Level Language
Assembly language is a middle-level language. It consists of a set of instructions in a specific format called commands. It uses symbols to represent field of instructions. It is very close to machine level language. The computer should have assembler to translate assembly level program to machine level program.
It might be argued that learning the capabilities of other languages does not help a programmer who is forced to use a language that lacks those capabilities. That argument does not hold up, however, because often, language constructs can be simulated in other languages that do not support those constructs directly.
The languages they learned then are no longer used, and many features now available in programming languages were not widely known at the time. The result is that many programmers, when given a choice of languages for a new project, use the language with which they are most familiar, even if it is poorly suited for the project at hand. If these programmers were familiar with a wider range of languages and language constructs, they would be better able to choose the language with the features that best address the problem.
programmers who understand the concepts of object- oriented programming will have a much easier time learning.
ALGOL(Algorithmic Language)(Fortran & ALGOL is scientific language). They found its description difficult to read (which it was) and even more difficult to understand. They did not appreciate the benefits of block structure, recursion, and well- structured control statements, so they failed to see the benefits of ALGOL 60 over Fortran.