Lecture 2-Programming Languages
Lecture 2-Programming Languages
|
Objectives
• Explain differences between
programming language
classifications.
Monday, M
ay 12, 202
Programming Languages | 4
Categories of programming
languages
» Assembly Languages
Monday, M
ay 12, 202
Categories of Programming Languages | 5
Low Level Languages
|
Categories of programming
languages
Monday, M
ay 12, 202
Programming Languages | 7
Machine language
Monday, M
ay 12, 202
Programming Languages | 8
Machine language
Monday, M
ay 12, 202
Programming Languages | 9
Machine language
Monday, M
ay 12, 202
Programming Languages | 10
Characteristics of Machine Language
Monday, M
ay 12, 202
Programming Languages | 11
Assembly language
Monday, M
ay 12, 202
Programming Languages | 12
Assembly Language-Characteristics
1. Instructions are written using
partial words referred to as
mnemonics
2. Instructions require to be translated
The translations is done using an
assembler
3.Abit friendly to programmers
4. Programs written are
machine/computer dependent
Monday, M
ay 12, 202
Programming Languages | 13
High Level Languages
|
High Level Language
• A programming language that
enables a programmer to write
programs that are more or less
independent of a particular type of
computer.
Monday, M
ay 12, 202
Programming Languages | 15
High Level Language
• Such languages are considered high-
level because they are closer to
human languages and further from
machine languages.
• Which other programming languages
fall in this category?
Monday, M
ay 12, 202
Programming Languages | 16
High Level Language-Characteristics
Instructions in high level language are
refereed to as source code
1. Instructions are written in words
2. Require to be translated to machine
language
3. Friendly to programmers
4. Not machine dependent. They are
machine independent
Monday, M
ay 12, 202
Programming Languages | 17
High Level Language
• The main advantage of high-level
languages over low-level languages
is that they are easier to program.
These programs written in a high-
level language must be translated
into machine language by a compiler
or interpreter.
Monday, M
ay 12, 202
Programming Languages | 18
Procedural Language
• procedural programming could be
regarded as a list of instructions telling
a computer, step-by-step, what to do
and usually having a linear order of
execution from the first statement to
the second and so forth with occasional
loops, functions and branches.
Monday, M
ay 12, 202
Categories of Programming Languages | 19
Procedural Language
• Procedural programming languages
include C, C++, Fortran, Pascal, and
BASIC.
Monday, M
ay 12, 202
Categories of Programming Languages | 20
Object Oriented Programming Languages
Monday, M
ay 12, 202
Programming Languages | 22
Translation of HL Languages
|
Translation of HL
Languages
• All HL programs
need to be
translated to
machine
language so that
a computer can
process the
program.
Monday, M
ay 12, 202
Programming Languages | 24
Translation of HL Languages
• These translation can occur in two
ways;
» Block of code translated all at once
Monday, M
ay 12, 202
Programming Languages | 25
Compiling
Monday, M
ay 12, 202
Programming Languages | 26
Compiling
Monday, M
ay 12, 202
Programming Languages | 28
Examples of compiled languages
1. C++
2. C
3. Pascal
4. Pike
5. SQL
Monday, M
ay 12, 202
Programming Languages | 29
Examples of interpreted languages
1. Java
2. Python
3. Php
4. R
Monday, M
ay 12, 202
Programming Languages | 30
HL Programming Languages
Application domains
1. Program Development e.g Web,
Mobile, Desktop programs
2. Embedded Devices and Internet of
Things
3. Game Development
4. Cloud-based Applications
5. Cyber Security
6. Data Science and AI
Monday, M
ay 12, 202
Programming Languages | 31
Mobile applications
Programs developed for portable
devices.
These devices have limitations in
terms of ;processing speed, storage,
display and power
Monday, M
ay 12, 202
Programming Languages | 32
Web applications
Programs that are accessed via a web
Brower and through a connection
(internet or otherwise). Eg A.M.S,
ecitizen, facebook, instagram,
youtube, jumia, amazon,
mysafaricom…
Monday, M
ay 12, 202
Programming Languages | 33
Desktop applications
Programs that are designed for PC’s
(Desktop and laptops). Eg ms office
(word, excel, access..)
Monday, M
ay 12, 202
Programming Languages | 34
Video Game Development
Video game development is the process of transforming
game ideas into actual games for users to play.
Video game development is achieved through Game
engines. Game Engines are development environments
or game frameworks that make game development
more convenient.e.g Unity, Unreal Engine, Cry Engine,
Defold
Programming Languages used for video game
development include C#, C++, Java, Lua, swift, Java
Script
Monday, M
ay 12, 202
Programming Languages | 35
Cloud-Based Applications
A cloud application is an internet-based software
that processes or stores data online.
Cloud computing has, without a doubt, created a
new way in which technology resources are used.
This has, in turn, come with several benefits,
including enhanced security, increased speed, low
cost of development and higher productivity.
Programming languages include GoLang, Ruby on
Rails Java, Php, C, Python
Monday, M
ay 12, 202
Programming Languages | 36
Embedded System Development
Monday, M
ay 12, 202
Programming Languages | 37
Programming Languages for Embedded
Systems
Monday, M
ay 12, 202
Programming Languages | 38
Cyber Security
Understanding programming enables
Cybersecurity professionals to study
software and find security flaws, identify
malicious codes, and carry out analytical
activities in Cybersecurity. But selecting a
computer language to learn is more
challenging than it seems.
Monday, M
ay 12, 202
Programming Languages | 39
Programming languages for Cyber Security
Monday, M
ay 12, 202
Programming Languages | 40
Data Science Programming
Languages
Monday, M
ay 12, 202
Programming Languages | 41
Reading assignment 2
Read the article titled “Types of Computer
Languages with Their Advantages and
Monday, M
ay 12, 202
Introduction to Programming | 42
Ole Sangale Road, Madaraka Estate. PO Box 59857-00200, Nairobi, Kenya
Tel: (+254) (0)703 034000/200/300 Fax : +254 (0)20 607498
Email: [email protected] Website: www.strathmore.edu
|