BMS 201
Computer
programming
Introduction
Program - A precise sequence of steps that computer
obeys in order to solve a given problem or perform a
given task(s)
Programming language – A special software used to
develop programs and applications
Examples of programming languages - Basic, COBOL,
FORTRAN, C++, Java, Html, CSS
Software – A collection of programs together with
their associated documentation
DUTIES OF A COMPUTER PROGRAMMER
Trains software users within an organization
Advises the management about software-related
matters
Maintains updated documentations and records about
the corporate software
Evaluates and modifies the existing software
Designs and develops computer programs in a business
organization
Handle users problem relating to a particular program –
user support
Generations of programming languages
First Generation – Machine Languages
Second Generation – Assembly Languages
Third Generation – Procedural or Problem
Oriented Languages
Fourth Generation – Non Procedural
Language
Fifth Generation – Natural Languages
First Generation – Machine Languages
Used binary numbers to code programs
1100011001110011011100011001
Programs were difficult to code and debug
Programmers were required to memorize
memory codes
11001 11111 11110 – subtract - sub
Executed directly without translation
Programs were machine dependent
Second Generation – Assembly
Languages
Replaced binary numbers with mnemonics to code
programs
Mnemonics are symbolic program codes for e.g. SUB
for subtract and ADD for Address
Programmers were required to memorize memory
codes
Assemblers translated the programs into machine
language
Programs were machine dependent
Third Generation – Procedural
Languages
Greatly revolutionized programming
Introduced English statements in programming to make
coding easy
Programs were much easier to write and code since
programmers did not have to memorize memory codes
Programs were machine independent i.e. could run on
any type of computer
Third Generation – Procedural
Languages
Introduced library of in built programs so all programs
did not have to be written from scratch
Used compilers and interpreters to translate the
programs into machine code
Were procedural requiring precise sequence of steps to
perform tasks
Classified into business, scientific and multipurpose
languages
Third Generation – Procedural
Languages
Scientific languages - These are algebraic formula type
designed to meet typical scientific processing requirement
such as mathematical equations, iterative processing, matrix
manipulations etc. They include FORTRAN – Formula
Translator & APL -A programming language.
Business Oriented languages - are designed to be effective
tools for developing business information systems. They
include COBOL- Common business oriented language & PG
– report program generator.
Multipurpose languages - are equally effective for both
scientific and business applications. They include BASIC –
Beginners All-purpose Symbolic Instruction Code , Pascal –
Named after a French mathematician Blaise Pascal & C
Fourth Generation – Non procedural
Languages
Non procedural - Do not require specific sequence of
steps to perform a given task.
They are optimized for database manipulation by
requiring programmers to only provide what is to be
done and not how to do it.
These greatly simplify programming.
They included languages such as structured query
language SQL, query by example QBE
Fifth Generation – Natural languages
These are advanced programming languages that are
not constrained by syntax, keywords or specific
programming vocabulary.
Programmers can develop codes as naturally as
instructing a fellow human being to perform a given
tasks.
Examples include object oriented languages such as
prolog, Java, C++, Perl, Python
Low level languages
They are difficult to learn and to program in.
They are far from human languages therefore difficult
to understand.
They are fast in execution they need no or minimum
translation.
They are difficult to modify, maintain and debug.
They provide facility to write programs at hardware
level.
They are machine dependent.
They do not use library of built in codes
High level languages
High-level languages are easy to learn and program in.
They are near to human languages hence easy to
understand.
Programs in high-level languages are slow in execution
they have to be translated into machine language.
They are easy to modify, maintain and debug.
High-level languages do not provide much facility at
hardware level.
These languages are normally used to write application
programs.
Machine independent
Incorporate library of inbuilt functions
Types of Programming Languages
C++
COBOL
JAVA
CSS
HTML
VISUAL BASIC
C
PYTHON
Excercise
Choosing any programming modern
languages of your choice describe them
in terms of:-
History
Features and Characteristics
Applications
Choice of programming language
Type of application - commercial or scientific.
Facilities required in the application – e.g. speed of
execution
Availability of the language
Availability of programmers
Development costs
Compatibility of the language
Maintenance costs