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

computer languages
computer languagescomputer languages
computer languagesRajendran
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONPEDRO Borja
 
Programming languages
Programming languagesProgramming languages
Programming languagesSimon Mui
 
Programming language
Programming languageProgramming language
Programming languageRajThakuri
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languageseducationfront
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming LanguagesJuhi Bhoyar
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming LanguagesSayanee Basu
 
introduction computer programming languages
introduction computer programming languages introduction computer programming languages
introduction computer programming languages BakhatAli3
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Krishna Sai
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Arslan Hussain
 
History of Programming Language
History of Programming LanguageHistory of Programming Language
History of Programming Languagetahria123
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compilerAbha Damani
 
High Level Language (HLL)
High Level Language (HLL)High Level Language (HLL)
High Level Language (HLL)Maliha Jahan
 

What's hot (20)

computer languages
computer languagescomputer languages
computer languages
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACION
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Programming language
Programming languageProgramming language
Programming language
 
Computer language
Computer languageComputer language
Computer language
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
 
1. importance of c
1. importance of c1. importance of c
1. importance of c
 
Computer languages 11
Computer languages 11Computer languages 11
Computer languages 11
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Computer Languages.
Computer Languages.Computer Languages.
Computer Languages.
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
introduction computer programming languages
introduction computer programming languages introduction computer programming languages
introduction computer programming languages
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
 
Programming Fundamental Slide No.1
Programming Fundamental Slide No.1Programming Fundamental Slide No.1
Programming Fundamental Slide No.1
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
 
History of Programming Language
History of Programming LanguageHistory of Programming Language
History of Programming Language
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
High Level Language (HLL)
High Level Language (HLL)High Level Language (HLL)
High Level Language (HLL)
 

Viewers also liked

Viewers also liked (20)

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

Similar to Programming Language

Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingGwyneth Calica
 
Computer languages
Computer languagesComputer languages
Computer languagesAqdasNoor
 
Python-L1.pptx
Python-L1.pptxPython-L1.pptx
Python-L1.pptxDukeCalvin
 
Python-unit -I.pptx
Python-unit -I.pptxPython-unit -I.pptx
Python-unit -I.pptxcrAmth
 
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 Professor Lili Saghafi
 
Introduction to computer programming
Introduction to computer programming Introduction to computer programming
Introduction to computer programming VanessaBuensalida
 
Lecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxLecture_1_Introduction_to_Programming.pptx
Lecture_1_Introduction_to_Programming.pptxChewe Lulembo
 
C++ programming languages lectures
C++ programming languages lectures C++ programming languages lectures
C++ programming languages lectures jabirMemon
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 

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 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.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
 
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 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

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
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 InsideStefan Dietze
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
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.pptxFIDO Alliance
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
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...FIDO Alliance
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 

Recently uploaded (20)

How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
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
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
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
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
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...
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 

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