Topic 1-Introduction
Topic 1-Introduction
Introduction
Contents
What is Programming Language (PL)
Reason for studying concepts of PL
Programming domains
Language evaluation criteria
History of programming language
Introduction to Language paradigms
What is Programming Language ?
• Computer capabilities
• Applications
• Programming methods
• Implementation methods
• Theoretical studies
• Standardization
What is Paradigm?
• A Greek word meaning “EXAMPLE”
• Commonly used to refer to a category
of entities that share a common
characteristics.
• Software paradigm, PL paradigm etc.
Programming Paradigm
• A programming paradigm is a paradigmatic style of
programming.
• Provides (and determines) the view that the
programmer has of the execution of the program.
• Different programming languages advocate different
programming paradigms.
• Some languages are designed to support one
particular paradigm, while other programming
languages support multiple paradigms
Programming Paradigm
A Programming paradigm is a model for
a class of Programming Languages that
share a set of common characteristics
and its differences
PP Categories
Imperative
– Describes computation in terms of a program state
and statements that change the program state.
– Most computer languages are in the imperative
style.
– Key Features : Stored memory , sequencing,
selection, iteration, array and pointers.
– Example : FOTRAN, COBOL, Pascal, Algol,
BASIC
…cont
Object Oriented
– Based on imperative style with added data
+ abstraction and encapsulation.
– Revolutionary concept in software
development.
– Key Features :Abstraction, Encapsulation,
Polymorphism, Inheritance
– Example : Smalltalk , Java
…cont
Functional
– Functional programming emphasizes the
definition of functions.
– Functional programming languages have largely
been emphasized in academia rather than in
commercial software development.
– Lambda calculus forms the basis of almost all
functional programming languages today.
– Key features : No mutable variables, No Iteration,
function and expression, recursive.
– Example : Haskell, Miranda, LISP, Scheme
…cont
Logic
– use of pattern-directed invocation of procedures
from assertions and goals.
– The point of logic programming is to bring the
style of mathematical logic to computer
programming.
– Logic provides a way to prove whether the
question is true or false.
– Key features: No mutable variables, Statements
are logical predicates, Every statements are either
succeeds or fails, Recursive.
– Example : PROLOG
…cont
Scripting
– A "script" is code that acts upon some system in
an external or independent manner and can be
removed or disabled without disabling the system
itself.
– Written for a run-time environment
– Key features: lightweight, quickly constructed
– It's usually interpreted, not compiled.
– Example : Phyton, Javascript
…cont
Concurrent
– Program designed to have two or more execution
context
– Support parallelism, multiprogramming and time
sharing
– Multi-threaded – program with multiple execution
context
– Part of program state is shared among the thread,
while part of the state including the flow of
control is unique to each thread
– Example : C, Java, Ada
THANK YOU