What is a Computer ?
• A computer is a machine which can take
instructions (data) as input, perform
computations based on those instructions
(process) and generate results output
(information).
What is Processing?
• A computer uses a Central Processing Unit or CPU
to do all its decision-making and data processing.
• The CPU has an internal set of instructions it follows
when it receives a command (Machine Language).
• Processing data through computers is
▫ Fast (Computers processing speed is measured in
MIPS - Millions of Instructions Per Second.
▫ Highly accurate
• The CPU follows the programmer's logic to process
the data given it.
Machine Language
• Machine Language is the only language
that is directly understood by the
computer.
• It does not needs any translator program.
• The only advantage is that program of machine
language run very fast.
• Each different type of CPU has its own unique
machine language.
What is a Computer Program?
• A computer program is a collection of
instructions that performs a specific task
when executed by a computer.
What is a Programming Language?
• A programming language is a formal
computer language designed to
communicate instructions to a machine,
particularly a computer.
Algorithm.
A part of a computer program that performs a
well-defined task is known as an algorithm.
Von Neumann Architecture
• Von Neumann Architecture also known as the
Von Neumann model, the computer consisted of
a CPU, memory and I/O devices.
• The von Neumann architecture describes a
general framework, or structure, that a
computer's hardware, programming, and data
should follow.
• The program is stored in the memory.
• The CPU fetches an instruction from the
memory at a time and executes it.
Stored Program Concept
▫ A program be electronically stored in binary-number format in a memory device so that
instructions could be modified by the computer as
determined by intermediate computational
results.
From Program To Software
• A collection of computer programs, libraries and
related data are referred to as software.
• Computer programs may be categorized along
functional lines, such as application software or
system software.
- Application Software is a set of programs for a
specific application.
- System software are general programs designed
for performing tasks such as controlling all
operations required to move data into and out of
the computer.
Generations of Programming
Languages
• There are 5 Generations.
- 1st Generation
- 2nd Generation
- 3rd Generation
- 4th Generation
- 5th Generation
1st Generation-Machine language is the only programming
language that the computer can understand directly
without translation.
▫ It is a language made up of entirely 1s and 0s.It is a language made up of entirely 1s and 0s.Machine language programs have the advantage of
very fast execution speeds and efficient use of primary
memory. Use of machine language is very tedious, difficult and
time consuming method of programming.
2nd Generation - The first step in making software development easier and
more efficient was the creation of Assembly languages. Detailed knowledge of hardware is still required. Before they can be used by the computer,
assembly languages must be translated into
machine language. A language translator program called an
assembler does this conversion.
Assembly languages produce
programs that are,
- efficient,
- use less storage
- execute much faster than
programs designed using
high-level languages.
3rd Generation -Third generation languages, also known as high-level languages, are very much like everyday
text and mathematical formulas in appearance. A language translator is required to convert a
high-level language program into machine
language. Two types of language translators are used with
high level languages:
e.g. FORTRAN, COBOL, BASIC, Pascal and C
4th Generation-Fourth generation languages are also known as very high
level languages. They are non-procedural languages, so named because they
allow programmers and users to specify what the computer
is supposed to do without having to specify how the
computer is supposed to do it. they are so much easier to use than third
generation languages, fourth generation languages allow
users, or non-computer professionals, to develop software.
Objectives of fourth generation languages
- Increasing the speed of developing programs.
- Minimizing user effort to obtain information from
computer.
- Decreasing the skill level required of users so that they
can concentrate on the application rather than the details of coding, and thus solve their own problems without the aid of a professional programmer.
- Minimizing maintenance by reducing errors and making
programs that are easy to change.
▫ These languages are usually used in conjunction with a
database and its data dictionary.
Five basic types of language tools fall into the
fourth generation language category.
- Query languages
- Report generators.
- Applications generators.
- Decision support systems and financial planning
languages.
- Some microcomputer application software.
5th Generation -The text of a natural language statement very closely
resembles human speech. These languages are also designed to make the computer
“smarter”. Natural languages already available for microcomputers
include Clout, Q&A, and Savvy Retriever (for use with
databases) and HAL (Human Access Language).
The use of natural language touches on expert systems,
computerized collection of the knowledge of many human
experts in a given field, and artificial intelligence,
independently smart computer systems.
e.g Prolog, OPS5 and Mercury and Lisp
Two types of programming languages
- Low-level programming languages
- High-level programming languages
Low level programming languages -Provides little or no abstraction from a computer's
instruction set architecture—commands or
functions in the language map closely to processor
instructions. Generally refers to either machine code or
assembly language. Programs written in low-level languages tend to
be relatively non-portable, mainly because of the
close relationship between the language and the
hardware architecture.
34
Types of Programming Languages
(Cont…) Low-level languages can convert to machine code without a compiler or interpreter— (second- generation programming languages use a simpler processor called an assembler) and resulting code runs directly on the processor. A program written in a low-level language can be made to run very quickly, with a small memory footprint. Low-level languages are simple, but considered difficult to use, due to numerous technical details that
the programmer must remember. By comparison, a high-level programming language isolates execution semantics of a computer architecture from the specification of the program, which simplifies development.
High level programming languages -It is a programming language with strong abstraction
from the details of the computer. In comparison to low-level programming languages,
it may use natural language elements,
be easier to use,
or may automate (or even hide entirely) significant areas
of computing systems (e.g. memory management),
making the process of developing a program simpler and
more understandable relative to a lower-level language.
Comments
Post a Comment