0% found this document useful (0 votes)
375 views

Topic 1-Introduction

This document provides an introduction to programming languages, including their definition, history, domains of use, and paradigms. It discusses what a programming language is, reasons for studying them, and how they are evaluated. A brief history of programming languages is given starting from assembly languages in the 1940s to current languages used for web and internet applications. Common programming domains and paradigms are outlined, along with influences for language modification over time. The main programming paradigms - imperative, object-oriented, functional, logic, scripting, and concurrent - are defined with examples.

Uploaded by

Ron Thiery
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
375 views

Topic 1-Introduction

This document provides an introduction to programming languages, including their definition, history, domains of use, and paradigms. It discusses what a programming language is, reasons for studying them, and how they are evaluated. A brief history of programming languages is given starting from assembly languages in the 1940s to current languages used for web and internet applications. Common programming domains and paradigms are outlined, along with influences for language modification over time. The main programming paradigms - imperative, object-oriented, functional, logic, scripting, and concurrent - are defined with examples.

Uploaded by

Ron Thiery
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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