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

Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An IntroKimberly De Guzman
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languagespy7rjs
 
computer languages
computer languagescomputer languages
computer languagesRajendran
 
Computer languages
Computer languagesComputer languages
Computer languagesAqdasNoor
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming LanguagesJuhi Bhoyar
 
Natural language processing
Natural language processingNatural language processing
Natural language processingSaurav Aryal
 
4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languagesRohit Shrivastava
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages PraShant Kumar
 
Program & language generation
Program & language generationProgram & language generation
Program & language generationBuxoo Abdullah
 
Programming languages
Programming languagesProgramming languages
Programming languagesvito_carleone
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compilerIffat Anjum
 
Programming languages
Programming languagesProgramming languages
Programming languagesSimon Mui
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computerKeval Goyani
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languageskitturashmikittu
 
Programming languages
Programming languagesProgramming languages
Programming languagesAkash Varaiya
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingNSU-Biliran Campus
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representationgaurav jain
 

What's hot (20)

computer languages
computer languagescomputer languages
computer languages
 
Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An Intro
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languages
 
computer languages
computer languagescomputer languages
computer languages
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languages
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Program & language generation
Program & language generationProgram & language generation
Program & language generation
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computer
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languages
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
High level languages representation
High level languages representationHigh level languages representation
High level languages representation
 

Viewers also liked

Viewers also liked (20)

Programming languages
Programming languagesProgramming languages
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
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
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
 
Syntax
SyntaxSyntax
Syntax
 
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
 

Similar to Programming Language (20)

Programming basics
Programming basicsProgramming basics
Programming basics
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
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
 
D turner power_pointpres
D turner power_pointpresD turner power_pointpres
D turner power_pointpres
 

More from Education Front

Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process ModelsEducation Front
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to AlgorithmEducation Front
 
Revised Process of Communication
Revised Process of CommunicationRevised Process of Communication
Revised Process of CommunicationEducation Front
 
Importance of Language in Communication
Importance of Language in CommunicationImportance of Language in Communication
Importance of Language in CommunicationEducation Front
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structureEducation Front
 
Facing Today’s Communication Challenges
Facing Today’s Communication ChallengesFacing Today’s Communication Challenges
Facing Today’s Communication ChallengesEducation Front
 
Assembly Language Basics
Assembly Language BasicsAssembly Language Basics
Assembly Language BasicsEducation Front
 
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.Education Front
 

More from Education Front (20)

Improving Pronunciation
Improving PronunciationImproving Pronunciation
Improving Pronunciation
 
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
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
 
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.
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

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