Professional Documents
Culture Documents
BCS2223 Chapter 1 - Preliminaries
BCS2223 Chapter 1 - Preliminaries
BCS2223 PROGRAMMING
PARADIGM
Rusdi Md Aminuddin
Associate Professor
T: +603 8689 7518 F: +603 8800 7111
E: : rusdi.aminuddin@unimy.edu.my
Toll Free: 1-300-88-5008 URL: http://www.unimy.edu.my
#FutureBeginsAtUNIMY
University Malaysia of Computer Science & Engineering
(UNIMY)
Blok 12, Star Central, Lingkaran Cyber Point Timur,
63000 Cyberjaya, Selangor.
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
2
Lecturer Profile
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
1
26-May-22
CHAPTER 1
Preliminaries
1.1 Reasons for Studying Concepts
of Programming Languages
BCS2223 1.2 Programming Domains
PROGRAMMING 1.3 Language Evaluation Criteria
PARADIGM 1.4 Influences on Language Design
1.5 Language Categories
1.6 Language Design Trade-Offs
1.7 Implementation Methods
1.8 Programming Environments
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
4
1.1 Reasons for Studying Concepts of
Programming Languages
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
2
26-May-22
5
1.2 Programming Domains (1/2)
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
6
1.2 Programming Domains (2/2)
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
3
26-May-22
7
1.2.1 Scientific Applications (1/2)
The first digital computers (late 1940s and early 1950s) were
invented and used for scientific applications.
Typically
Used relatively simple data structures
Required large numbers of floating-point arithmetic
computations.
Common data structures were arrays and matrices
Common control structures were counting loops and
selections.
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
8
1.2.1 Scientific Applications (2/2)
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
4
26-May-22
9
1.2.2 Business Applications (1/2)
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
10
1.2.2 Business Applications (2/2)
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
10
5
26-May-22
11
1.2.3 Artificial Intelligence (AI) – 1/2
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
11
12
1.2.3 Artificial Intelligence (AI) – 2/2
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
12
6
26-May-22
13
1.2.4 Web Software
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
13
14
1.3 Language Evaluation Criteria – 1/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
14
7
26-May-22
15
1.3 Language Evaluation Criteria – 2/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
15
16
1.3 Language Evaluation Criteria – 3/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
16
8
26-May-22
17
1.3 Language Evaluation Criteria – 4/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
17
18
Simplicity – 1/2
count = count + 1
count += 1
count++
++count
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
18
9
26-May-22
19
Simplicity – 2/2
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
19
20
Orthogonality – 1/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
20
10
26-May-22
21
Orthogonality - 2/4
Example in C language
a + b means that the values of a and b are
fetched and added together
However, if a happens to be a pointer and
b is an integer, it affects the value of b
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
21
22
Orthogonality – 3/4
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
22
11
26-May-22
23
Orthogonality
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
23
24
Expressivity – 1/2
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
24
12
26-May-22
25
Expressivity – 2/2
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
25
26
Reliability 1/3
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
26
13
26-May-22
27
Reliability 2/3
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
27
28
Reliability – 3/3
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
28
14
26-May-22
29
1.3 Language Evaluation Criteria
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM
Slide 1-‹#›
29
30
1.4 Influences on Language Design – 1/3
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
30
15
26-May-22
31
1.4 Influences on Language Design – 2/3
In von Neumann architecture, Programming Languages manipulate memory
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
31
32
1.4 Influences on Language Design – 3/3
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
32
16
26-May-22
33
1.5 Language Categories
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
33
34
Tutorial 1
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
34
17
26-May-22
35
1.6 Implementation Methods
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
35
36
Compilation
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM
Slide 1-‹#›
36
18
26-May-22
37
Pure Interpretation
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM
Slide 1-‹#›
37
38
Hybrid
Implementation
Systems
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM
Slide 1-‹#›
38
19
26-May-22
39
1.6 Implementation Methods
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
39
40
Copyright 2022 Rusdi Md Aminuddin, Associate Professor, UNIMY BCS2223 PROGRAMMING PARADIGM Slide 1-‹#›
40
20