SlideShare a Scribd company logo
1 of 21
CSC105 –FUNDAMENTALS OF
COMPUTER PROGRAMMING
Teacher:
Muhammad Adeel (PhD)
CSC141 Introduction to Computer Programming
Programming
Language
Programming Language
• A programming Language is a notational system
intended primarily to facilitate human-machine
interaction.
• The notational is understood both by human and
machine.
• The programming language has Syntax, and
language elements have Semantics.
CSC141 Introduction to Computer Programming
What is a program?
• A program is something that is produced using a
programming Language.
• A program is a structured entity with
Semantics.
CSC141 Introduction to Computer Programming
CSC141 Introduction to Computer Programming
What is programming?
What is programming?
• Programming is a Science:
Because it implement the algorithms describe by
mathematics and science.
• Programming is a Skill:
Because it requires design efforts.
• Programming is an Engineering:
Because it requires a tradeoffs between program
size, speed, time (required for development and
debugging) and maintainability among many
solutions.
• Programming is an Art
It requires creativity and employ imagination.
CSC141 Introduction to Computer Programming
CSC141 Introduction to Computer Programming
Types of programming
Languages
Levels/Generations of Programming Languages
• 1st Generation Programming language (1GL)
• Machine Language: 0s or 1s
• 2nd Generation Programming language (2GL)
• Assembly Language : Mnemonics
• 3rd Generation Programming language (3GL)
• High-Level Languages ; (procedure oriented or
Object Oriented)
• 4th Generation Programming language (4GL)
• Very-High-Level Languages
• 5th Generation Programming Language
• Natural Languages
CSC141IntroductiontoComputerProgramming
CSC141 Introduction to Computer Programming
Machine language (1GL)
• The lowest level of language.
• The language used to program the first-
generation computers.
• The instructions in 1GL are made of binary
numbers, represented by 1s and 0s.
• 1s and 0s correspond to the on and off states of
electrical switches.
• Suitable for the understanding of the machine but
very much difficult to interpret and learn by the
human programmer.
CSC141 Introduction to Computer Programming
Assembly language (2GL)
• Low-level language that allows a programmer to
use abbreviations or easily remembered words
instead of numbers.
• These Observations are called Mnemonics. These
Mnemonic are Opcode and Operands
For Example: ADD AX, BX
MOV CX, AX
INC CX
Op-code; ADD, MOV, INC
Operands AX, BX,CX
CSC141 Introduction to Computer Programming
Assembly language (2GL)
• Programmer can write instructions faster but it is
still not an easy language to learn.
• Drawback: The language is specific to a
particular processor family and environment.
(Machine Dependent Language)
• Assembler – A program that translates the
assembly language program into machine
language.
CSC141 Introduction to Computer Programming
High Level languages (3GL)
• A High-Level Language is an English-like
language.
• It is a refinement of a second-generation
programming language.
• It allowed users to write in familiar notation, rather
than numbers or abbreviations.
• Most High-level languages are not Machine
Dependent.
• Translator for High-level languages is either a
Compiler or an Interpreter.
• Examples of High-level languages:
―FORTRON
―COBOL
―BASIC
―C and C++
CSC141 Introduction to Computer Programming
Very-High-Level Languages (4GL)
• 4GLs are much more user-oriented and allow
programmers to develop programs with fewer commands
compared with 3GLs.
• Non-Procedural Language; Programmers don’t have to
specify all the programming logic, only tell the computer
what they want done.
• Saves a lot of time.
• 4GLs consist of report generators, query
languages, application generators, and interactive
database management system
• For example:
• RPG III (Report Generator)
• SQL (Structured Query Language)
• NOMAD and FOCUS (DBMS)
CSC141 Introduction to Computer Programming
Natural Languages (5GL)
• Two types
• Ordinary Human Languages; like English.
• Programming language that use human
language to give people a more natural
connection with computers.
• 5GLs are designed to make the computer solve
a given problem without the programmer.
• Natural languages are part of the field of study
known as Artificial Intelligence.
• Develop machines to emulate human-like
qualities such as learning, reasoning,
communicating, seeing and hearing.
CSC141 Introduction to Computer Programming
CSC141 Introduction to Computer Programming
Evolution of Programming
Programming Paradigms
A number of programming paradigms are:
• Procedural/Imperative Programming
• Functional Programming
• Declarative Programming
• Object Oriented Programming
• Event driven Programming
• Parallel Programming
CSC141 Introduction to Computer Programming
Procedural or Imperative:
• Imperative programs emphasize “tell what to do”
• When we say “ Do this, then do this, then do
this, and if xx, do this, otherwise do this” This is
imperative programming:
• They focus on evaluating expressions and storing
results in a variable.
• The most common imperative language consists
of statements such as:
a = 10;
b = 5;
c = a + b;
CSC141 Introduction to Computer Programming
Procedural or Imperative: … Contd
Example of imperative languages are:
• Assembly language
• COBOL
• Pascal
• C and C++
CSC141 Introduction to Computer Programming
Is there any Best Programming Language?
• Programming Language is probably used most
efficient if it is well suited for a specific task.
• For example
• Business applications are often written in
COBOL.
• Beginners to programming use BASIC.
• Scientific programming is often undertaken with
either FORTON, PASCAL or C.
CSC141 Introduction to Computer Programming
Language Evaluation Criteria
• Readability: measure programmer ease in reading source
code
• Orthogonality: include context sensitive restrictions.
• Applicability: this is best suited as “use the right tool for the
job”
• Writ ability: includes simplicity and orthogonality and
support for the abstraction
• Reliability: include type checking and inspection handling
• Cost: includes learning and writing cost, productivity,
compilation cost, execution cost, debugging
cost etc.
• Other: flexibility of control statements and availability
of data structures
CSC141 Introduction to Computer Programming
History of C Language
• A general-purpose computer programming language.
• Developed between 1969 and 1973 by Dennis Ritchie at
the Bell Telephone Laboratories for use with the UNIX
operating system.
• Descendant of Ken Thompson’s language “B”
• The first C programming language standard was
published in 1978 as “The C Programming Language” by
Kernighan and Ritchie (K&R).
• "ANSI C" was the second C programming language
standard published in 1989.
• ISO approved “ANSI C” in 1990.
• The latest stable release is C11.
CSC141 Introduction to Computer Programming

More Related Content

What's hot

مقدمة في البرمجة..
مقدمة في البرمجة..مقدمة في البرمجة..
مقدمة في البرمجة..
tahanisaad
 
Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An Intro
Kimberly De Guzman
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
salmankhan570
 

What's hot (20)

Introduction to programming languages
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languages
 
introduction to programming languages
introduction to programming languagesintroduction to programming languages
introduction to programming languages
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Computer Language
Computer LanguageComputer Language
Computer Language
 
Syntax
SyntaxSyntax
Syntax
 
Generations of programming language
Generations of programming languageGenerations of programming language
Generations of programming language
 
Natural Language Processing - Unit 1
Natural Language Processing - Unit 1Natural Language Processing - Unit 1
Natural Language Processing - Unit 1
 
مقدمة في البرمجة..
مقدمة في البرمجة..مقدمة في البرمجة..
مقدمة في البرمجة..
 
Computer language
Computer languageComputer language
Computer language
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
computer languages
computer languagescomputer languages
computer languages
 
Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An Intro
 
Program & language generation
Program & language generationProgram & language generation
Program & language generation
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Types Of Software
Types Of SoftwareTypes Of Software
Types Of Software
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
 
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1
 

Viewers also liked

4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languages
Rohit Shrivastava
 
Chapter Seven(1)
Chapter Seven(1)Chapter Seven(1)
Chapter Seven(1)
bolovv
 
Various types of computers & history
Various types of computers & historyVarious types of computers & history
Various types of computers & history
wildman099
 
Computer programming language concept
Computer programming language conceptComputer programming language concept
Computer programming language concept
Afiq Sajuri
 

Viewers also liked (20)

4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languages
 
Marisa sidang terbuka ver 0.3
Marisa   sidang terbuka ver 0.3Marisa   sidang terbuka ver 0.3
Marisa sidang terbuka ver 0.3
 
Ch1
Ch1Ch1
Ch1
 
Data Representation
Data RepresentationData Representation
Data Representation
 
The History of Programming Languages
The History of Programming LanguagesThe History of Programming Languages
The History of Programming Languages
 
Computer Evolution
Computer EvolutionComputer Evolution
Computer Evolution
 
Introduction To Stack
Introduction To StackIntroduction To Stack
Introduction To Stack
 
Introduction To Data Structures.
Introduction To Data Structures.Introduction To Data Structures.
Introduction To Data Structures.
 
Chapter Seven(1)
Chapter Seven(1)Chapter Seven(1)
Chapter Seven(1)
 
Ch2
Ch2Ch2
Ch2
 
01. introduction
01. introduction01. introduction
01. introduction
 
A Brief History of Programming
A Brief History of ProgrammingA Brief History of Programming
A Brief History of Programming
 
Various types of computers & history
Various types of computers & historyVarious types of computers & history
Various types of computers & history
 
Computer programming language concept
Computer programming language conceptComputer programming language concept
Computer programming language concept
 
Evolution of Computer Languages
Evolution of Computer LanguagesEvolution of Computer Languages
Evolution of Computer Languages
 
History of programming
History of programmingHistory of programming
History of programming
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Classification of Programming Languages
Classification of Programming LanguagesClassification of Programming Languages
Classification of Programming Languages
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
 
Improving Pronunciation
Improving PronunciationImproving Pronunciation
Improving Pronunciation
 

Similar to Programming Language

Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
crAmth
 

Similar to Programming Language (20)

Programming basics
Programming basicsProgramming basics
Programming basics
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Compilers.pptx
Compilers.pptxCompilers.pptx
Compilers.pptx
 
Ppl 13 july2019
Ppl 13 july2019Ppl 13 july2019
Ppl 13 july2019
 
System softare
System softareSystem softare
System softare
 
Python-L1.pptx
Python-L1.pptxPython-L1.pptx
Python-L1.pptx
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptx
 
programming.pptx
programming.pptxprogramming.pptx
programming.pptx
 
Presentation-1.pptx
Presentation-1.pptxPresentation-1.pptx
Presentation-1.pptx
 
sege.pdf
sege.pdfsege.pdf
sege.pdf
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
 
PROG0101_CH02.pptx
PROG0101_CH02.pptxPROG0101_CH02.pptx
PROG0101_CH02.pptx
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptx
 
C++ programming languages lectures
C++ programming languages lectures C++ programming languages lectures
C++ programming languages lectures
 
2. pl domain
2. pl domain2. pl domain
2. pl domain
 
Chapter 4 computer language
Chapter 4 computer languageChapter 4 computer language
Chapter 4 computer language
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 

More from Education Front

Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
Education Front
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
Education Front
 
Effective communication skills
Effective communication skillsEffective communication skills
Effective communication skills
Education Front
 

More from Education Front (20)

Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
 
2- Dimensional Arrays
2- Dimensional Arrays2- Dimensional Arrays
2- Dimensional Arrays
 
Problem Sloving
Problem SlovingProblem Sloving
Problem Sloving
 
Problem Solving - 1
Problem Solving - 1Problem Solving - 1
Problem Solving - 1
 
Process Models
Process ModelsProcess Models
Process Models
 
Process Models
Process ModelsProcess Models
Process Models
 
Revised Process of Communication
Revised Process of CommunicationRevised Process of Communication
Revised Process of Communication
 
Importance of Language in Communication
Importance of Language in CommunicationImportance of Language in Communication
Importance of Language in Communication
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
 
Facing Today’s Communication Challenges
Facing Today’s Communication ChallengesFacing Today’s Communication Challenges
Facing Today’s Communication Challenges
 
Processor Basics
Processor BasicsProcessor Basics
Processor Basics
 
Register & Memory
Register & MemoryRegister & Memory
Register & Memory
 
Data Representation
Data RepresentationData Representation
Data Representation
 
Assembly Language Basics
Assembly Language BasicsAssembly Language Basics
Assembly Language Basics
 
Introduction To EMU
Introduction To EMUIntroduction To EMU
Introduction To EMU
 
Lecture 2: Facing Today’s Communication Challenges.
Lecture 2: Facing Today’s Communication Challenges.Lecture 2: Facing Today’s Communication Challenges.
Lecture 2: Facing Today’s Communication Challenges.
 
Effective communication skills
Effective communication skillsEffective communication skills
Effective communication skills
 
Introduction to Presentation Skills
Introduction to Presentation SkillsIntroduction to Presentation Skills
Introduction to Presentation Skills
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 

Programming Language

  • 1. CSC105 –FUNDAMENTALS OF COMPUTER PROGRAMMING Teacher: Muhammad Adeel (PhD)
  • 2. CSC141 Introduction to Computer Programming Programming Language
  • 3. Programming Language • A programming Language is a notational system intended primarily to facilitate human-machine interaction. • The notational is understood both by human and machine. • The programming language has Syntax, and language elements have Semantics. CSC141 Introduction to Computer Programming
  • 4. What is a program? • A program is something that is produced using a programming Language. • A program is a structured entity with Semantics. CSC141 Introduction to Computer Programming
  • 5. CSC141 Introduction to Computer Programming What is programming?
  • 6. What is programming? • Programming is a Science: Because it implement the algorithms describe by mathematics and science. • Programming is a Skill: Because it requires design efforts. • Programming is an Engineering: Because it requires a tradeoffs between program size, speed, time (required for development and debugging) and maintainability among many solutions. • Programming is an Art It requires creativity and employ imagination. CSC141 Introduction to Computer Programming
  • 7. CSC141 Introduction to Computer Programming Types of programming Languages
  • 8. Levels/Generations of Programming Languages • 1st Generation Programming language (1GL) • Machine Language: 0s or 1s • 2nd Generation Programming language (2GL) • Assembly Language : Mnemonics • 3rd Generation Programming language (3GL) • High-Level Languages ; (procedure oriented or Object Oriented) • 4th Generation Programming language (4GL) • Very-High-Level Languages • 5th Generation Programming Language • Natural Languages CSC141IntroductiontoComputerProgramming CSC141 Introduction to Computer Programming
  • 9. Machine language (1GL) • The lowest level of language. • The language used to program the first- generation computers. • The instructions in 1GL are made of binary numbers, represented by 1s and 0s. • 1s and 0s correspond to the on and off states of electrical switches. • Suitable for the understanding of the machine but very much difficult to interpret and learn by the human programmer. CSC141 Introduction to Computer Programming
  • 10. Assembly language (2GL) • Low-level language that allows a programmer to use abbreviations or easily remembered words instead of numbers. • These Observations are called Mnemonics. These Mnemonic are Opcode and Operands For Example: ADD AX, BX MOV CX, AX INC CX Op-code; ADD, MOV, INC Operands AX, BX,CX CSC141 Introduction to Computer Programming
  • 11. Assembly language (2GL) • Programmer can write instructions faster but it is still not an easy language to learn. • Drawback: The language is specific to a particular processor family and environment. (Machine Dependent Language) • Assembler – A program that translates the assembly language program into machine language. CSC141 Introduction to Computer Programming
  • 12. High Level languages (3GL) • A High-Level Language is an English-like language. • It is a refinement of a second-generation programming language. • It allowed users to write in familiar notation, rather than numbers or abbreviations. • Most High-level languages are not Machine Dependent. • Translator for High-level languages is either a Compiler or an Interpreter. • Examples of High-level languages: ―FORTRON ―COBOL ―BASIC ―C and C++ CSC141 Introduction to Computer Programming
  • 13. Very-High-Level Languages (4GL) • 4GLs are much more user-oriented and allow programmers to develop programs with fewer commands compared with 3GLs. • Non-Procedural Language; Programmers don’t have to specify all the programming logic, only tell the computer what they want done. • Saves a lot of time. • 4GLs consist of report generators, query languages, application generators, and interactive database management system • For example: • RPG III (Report Generator) • SQL (Structured Query Language) • NOMAD and FOCUS (DBMS) CSC141 Introduction to Computer Programming
  • 14. Natural Languages (5GL) • Two types • Ordinary Human Languages; like English. • Programming language that use human language to give people a more natural connection with computers. • 5GLs are designed to make the computer solve a given problem without the programmer. • Natural languages are part of the field of study known as Artificial Intelligence. • Develop machines to emulate human-like qualities such as learning, reasoning, communicating, seeing and hearing. CSC141 Introduction to Computer Programming
  • 15. CSC141 Introduction to Computer Programming Evolution of Programming
  • 16. Programming Paradigms A number of programming paradigms are: • Procedural/Imperative Programming • Functional Programming • Declarative Programming • Object Oriented Programming • Event driven Programming • Parallel Programming CSC141 Introduction to Computer Programming
  • 17. Procedural or Imperative: • Imperative programs emphasize “tell what to do” • When we say “ Do this, then do this, then do this, and if xx, do this, otherwise do this” This is imperative programming: • They focus on evaluating expressions and storing results in a variable. • The most common imperative language consists of statements such as: a = 10; b = 5; c = a + b; CSC141 Introduction to Computer Programming
  • 18. Procedural or Imperative: … Contd Example of imperative languages are: • Assembly language • COBOL • Pascal • C and C++ CSC141 Introduction to Computer Programming
  • 19. Is there any Best Programming Language? • Programming Language is probably used most efficient if it is well suited for a specific task. • For example • Business applications are often written in COBOL. • Beginners to programming use BASIC. • Scientific programming is often undertaken with either FORTON, PASCAL or C. CSC141 Introduction to Computer Programming
  • 20. Language Evaluation Criteria • Readability: measure programmer ease in reading source code • Orthogonality: include context sensitive restrictions. • Applicability: this is best suited as “use the right tool for the job” • Writ ability: includes simplicity and orthogonality and support for the abstraction • Reliability: include type checking and inspection handling • Cost: includes learning and writing cost, productivity, compilation cost, execution cost, debugging cost etc. • Other: flexibility of control statements and availability of data structures CSC141 Introduction to Computer Programming
  • 21. History of C Language • A general-purpose computer programming language. • Developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the UNIX operating system. • Descendant of Ken Thompson’s language “B” • The first C programming language standard was published in 1978 as “The C Programming Language” by Kernighan and Ritchie (K&R). • "ANSI C" was the second C programming language standard published in 1989. • ISO approved “ANSI C” in 1990. • The latest stable release is C11. CSC141 Introduction to Computer Programming