DFC10212
PROBLEM SOLVING &
PROGRAM DESING
CHAPTER 1: INTRODUCTION TO
PROGRAMMING LANGUAGE
1
COURSE LEARNING OUTCOME:
■ Upon completion of this course, students should be able to:
1. Explain the basic computer and fundamentals of programming languages in a given
scenario.
2. Demonstrate effective communication both on orally or in writing about problem
solving skills by using different types of programming tools to solve a given problem.
2
SPECIFIC OUTCOME
■ 1.1 Describe the Programming language
■ 1.2 Describe fundamentals of programming languages
3
4
1.1 DESCRIBE THE
PROGRAMMING
LANGUAGE
5
6
7
8
9
HISTORY OF PROGRAMMING
LANGUAGE
1967 – The 1980s The 1990s : Current
The 1940s The 1950s 1978 • C++, Internet age trend
Before1940 Objecyive-C,
Plankalkül , and 1960s • Logo, B, • Haskell, • C#, Visual
The Pascal, Forth, Ada,Commo Python, Basic . NET,
ENIAC FORTRAN C, Smalltalk, n Lisp, Eiffel, Visual Basic, F#, Scala,
languages Erlang, Perl,
coding , LISP, Prolog, ML, Ruby, Lua, Factor,
were Codes Scheme, SQL Tcl, FL CLOS, Java, Windows
system COBOL
Delphi, Poer shell,
JavaScript, Clojure,
PHP, Rebol, Groovy, Go
D
10
1.1.2) Differentiate the different types of programming
languages
1. Machine language
2. Assembly language
3. High Level Language
11
TECHNOLOGY OF PROGRAMMING
LANGUAGE
Machine Languages
• Using Vacuum Tubes
Assembly Languages
• Using Transistor
3rd Generation Languages
• Using Integrated Circuits
4th Generation Languages
• Using Microprocessors
5th Generation Languages
• Using Artificial Intelligence
12
1) MACHINE LANGUAGES
(FIRST GENERATION)
A set of instructions for a
specific central processing
Only languages understood
Also called machine language unit, designed to be usable by
by computers
a computer without being
translated
Every CPU has its own
unique machine language.
Impossible for humans to use
The lowest-level Programs must be rewritten
because they consist entirely
programming language or recompiled, therefore, to
of numbers
run on different types of
computers.
13
2) ASSEMBLY LANGUAGES
(SECOND GENERATION)
usually defined by the hardware
a low-level programming implements a symbolic manufacturer, and is based on
language for computers, representation of the machine mnemonics that symbolize
microprocessors, codes and other constants processing steps (instructions),
microcontrollers, and other needed to program a given CPU processor registers, memory
programmable devices architecture locations, and other language
features
same structure and set of
commands as machine an assembly language program
languages, but they enable a written for one type of CPU
programmer to use names won't run on another
instead of numbers
14
3) 3rd GENERATION LANGUAGES
Example:
a refinement of Fortran,
make the Most 3GLs
a second- ALGOL, and
languages more High level support
generation COBOL, C, C+
programmer- language structured
programming +, C#, Java,
friendly programming
language BASIC and
Delphi
15
4) 4th GENERATION LANGUAGES
a programming language or programming environment designed with a specific
purpose in mind, such as the development of commercial business software
to reduce programming effort, the time it takes to develop software, and the cost of
software development
fourth-generation languages are programming languages closer to human
languages than typical high-level programming languages. (COBOL)
Most 4GLs are used to access databases
16
5) 5th GENERATION LANGUAGES
a programming language based around solving problems using constraints given to the program, rather than using
an algorithm written by a programmer
designed to make the computer solve a given problem without the programmer - the programmer only needs to
worry about what problems need to be solved and what conditions need to be met, without worrying about how to
implement a routine or algorithm to solve them
based on artificial intelligence, are still in development, though there are some applications, such as voice
recognition
Fifth-generation languages are used mainly in artificial intelligence research. Prolog, OPS5, and Mercury
17
18