Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 21

TOPIC 1

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 ?

• Used to control the behavior of a machine.


• Enable the communication of ideas between
people and computing machine.
• PL have syntax (patterns or rules) and
semantic (meaning) rules to define meanings.
• To express algorithm (procedure) precisely.
Reasons for studying PL
• Improve ability to develop algorithms
• Improve use of programming languages
• Increase vocabulary of programming
constructs
• Allow better choice of Programming
Languages
• Facilitate learning new languages
• Facilitate designing new languages
History of Programming Language

The first programming languages predate the


modern computer. From the first, the languages
were codes.
1940 – assembly language
1950 – 1960 – Fortran, Cobol, LISP, Algol 60
1967 – 1978 – fundamentals paradigms, Simula,
Smalltalk, Prolog, C, ML
1980 – performances, C++, Ada
1990 – internet age, Java, PHP, C#
2000 – Open Sources, Online application dev.
Programming Domains
• Scientific Applications
– Fortran, ALGOL 60
• Business Applications
– COBOL
• Artificial Intelligence (AI)
– LISP, Prolog, C, Scheme
• Web Software
– HTML, XHTML, Java Script, PHP
Language Evaluation Criteria /
Qualities
 Readability
– Can be read and understood
– Overall simplicity
– Orthogonality
• Independence of the context of its appearance
in a program.
– Control statements
– Data types and structures
– Syntax considerations
…cont
 Writability
– Measure how easily language can be used
to create program for a chosen problem
domain.
– Simplicity and Orthogonality
– Support for abstraction
– Expressivity
• Several different characteristics
…cont
 Reliability
– Performs to its specifications under all
conditions.
– Type checking
– Exception handling
– Cost
PL Categories
• Procedural • Concurrent
• Imperative • Query Language
• Functional • Assembly
• Dataflow • Scripting
• Logic • Multiparadigms
• Object-Oriented
Influence for language modification

• 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

You might also like