• No results found

Types of computer languages and the concepts for.pptx

N/A
N/A
Protected

Academic year: 2020

Share "Types of computer languages and the concepts for.pptx"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Types of computer languages and the

concepts for executing a computer program

(2)

Just as humans use language to communicate,

and different regions have different languages,

computers also have their own languages that

are specific to them.

Different kinds of languages have been

(3)

Two basic types of computer languages

1. High level languages:

A language that

corresponds directly to a specific machine.

2. Low level languages:

A language that is

(4)

• There are also other types of languages, which include

System languages: These are designed for low-level tasks, like memory

and process management

Scripting languages: These tend to be high-level and very powerful

Domain-specific languages: These are only used in very specific contexts

Visual languages: Languages that are not text-based

Esoteric languages: Languages that are jokes or are not intended for

serious use

NB: These languages are not mutually exclusive, and some languages can

(5)

Low level languages

Low-level computer languages are either machine codes

or are very close to them. A computer cannot understand

instructions given to it in high-level languages or in

English. It can only understand and execute instructions

given in the form of machine language i.e. binary. There

are two types of low-level languages:

Machine Language:

a language that is directly interpreted

into the hardware

Assembly Language:

a slightly more user-friendly

(6)

Machine Language

Machine language is the lowest and most elementary level of

programming language and was the first type of programming

language to be developed. Machine language is basically the

only language that a computer can understand.

In fact, a manufacturer designs a computer to obey just one

language, its machine code, which is represented inside the

computer by a string of binary digits (bits) 0 and 1. The

symbol 0 stands for the absence of an electric pulse and the 1

stands for the presence of an electric pulse. Since a computer

is capable of recognizing electric signals, it understands

(7)

Why Humans Don't Use Machine Language

While easily understood by computers, machine

languages are almost impossible for humans to use

because they consist entirely of numbers.

Programmers, therefore, use either a high-level

programming language or an

assembly language

. An

assembly language contains the same

instructions

as

a machine language, but the instructions and

(8)

Advantages Disadvantages

Machine language makes fast and efficient

use of the computer. All operation codes have to be remembered It requires no translator to translate the

code. It is directly understood by the computer.

All memory addresses have to be remembered.

(9)

Assembly language

Assembly language was developed to overcome some of the many

inconveniences of machine language. This is another low-level but very important language in which operation codes and operands are given in the form of alphanumeric symbols instead of 0’s and l’s.

These alphanumeric symbols are known as mnemonic codes and can

combine in a maximum of five-letter combinations e.g. ADD for

addition, SUB for subtraction, START, LABEL etc. Because of this feature, assembly language is also known as ‘Symbolic Programming Language.'

This language is also very difficult and needs a lot of practice to master

it because there is only a little English support in this language. Mostly assembly language is used to help in compiler orientations. The

(10)

Advantages Disadvantages Assembly language is easier to

understand and use as compared to machine language.

Like machine language, it is also machine

dependent/specific.

It is easy to locate and correct errors.

Since it is machine dependent, the

(11)

High level languages

High-level computer languages use formats that are

similar to English. The purpose of developing high-level

languages was to enable people to write programs easily,

in their own native language environment (English).

High-level languages are basically symbolic languages

that use English words and/or mathematical symbols

rather than mnemonic codes. Each instruction in the

high-level language is translated into many machine

(12)

Advantages Disadvantages

High-level languages are user-friendly A high-level language has to be translated into the machine language by a translator, which takes up time They are similar to English and use English vocabulary

and well-known symbols

The object code generated by a translator might be inefficient

compared to an equivalent assembly language program

They are easier to learn They are easier to maintain

They are problem-oriented rather than 'machine'-based A program written in a high-level language can be

translated into many machine languages and can run on any computer for which there exists an appropriate translator

(13)

Types of high level languages

Many languages have been developed for

achieving a variety of different tasks. Some are

fairly specialized, and others are quite general.

These languages, categorized according to

(14)

Types of high level languages

1) Algebraic Formula-Type Processing

These languages are oriented towards the computational

procedures for solving mathematical and statistical

problems.

Examples include:

BASIC (Beginners All Purpose Symbolic Instruction Code)

FORTRAN (Formula Translation)

PL/I (Programming Language, Version 1)

ALGOL (Algorithmic Language)

(15)

2. Business Data Processing

These languages are best able to maintain data

processing procedures and problems involved in

handling files. Some examples include:

COBOL (Common Business Oriented Language)

RPG (Report Program Generator)

(16)

3. String and List Processing

These are used for string manipulation,

including search patterns and inserting and

deleting characters. Examples are:

LISP (List Processing)

(17)

4. Object-Oriented Programming Language

In OOP, the computer program is divided into objects. Examples

are:

C++

Java

5. Visual Programming Language

These programming languages are designed for building

Windows-based applications. Examples are:

Visual Basic

Visual Java

(18)

Concept for executing a computer program

Execution cycle

When a computer obeys the instructions in a computer

program it is said to be

running

or

executing

the program.

Before a computer can execute a computer program the

program must be resident in memory. The program must

occupy a set of consecutive bytes in memory and must be

written in the

internal machine language

for the

computer. Each CPU has its own machine language which

means that before a program can be executed on another

CPU it has to be re-written in the internal machine

(19)

• The concept that the program to be executed is stored in the computer memory is an important one. This is what makes the computer such a general-purpose problem-solving machine --

merely by changing the program stored in memory the computer can be used to carry out an entirely different task.

Once the program is loaded into memory then the following sequence is carried out:

set instruction address to the address of the first instruction

while program not finished {

fetch instruction from current instruction address update current instruction address

execute the fetched instruction }

(20)

Practical example

All computers (and all of computer science) take complex

(visual/verbal/written) problems, and decompose those

problems into machine-comprehensible bit streams.

Consider the example below:

“let’s consider an example like two times two."

...we express this instruction in a programming language, like C...

answer = 2 * 2;

(21)

...but the computer doesn't speak C, so it digests into assembly

language...

MOV NUM, 2 # set a temporary value to 2 MUL 2, NUM # multiply this number by 2

MOV NUM, 2H # move this new number into the screen-output INT 21H # actually print the output to the screen

...that gives you a better picture, but the computer needs to translate deeper...

(22)

...and this, literally, is processed by the computer to mean...

<<< create a tiny space in available memory >>> <<< write the number "2" into that tiny space >>> <<< now multiply (bit-shift) that number by 2 >>>

<<< copy that number (4) from that space into another tiny space >>> <<< trigger the screen-output interrupt to show contents of that tiny space >>>

(23)

Spoken-Written-Problem --> High-Level Programming Language

High-Level Programming Language --> Computer Assembly

Language

Computer Assembly Language --> Machine (Binary) Language

Machine (Binary) Language --> Actual "Write This, Copy This" 1/0

Operations

Programmers, n assembly language instructions variables names

References

Related documents

38 Will the normal (#1 transfer bus) power source be disconnected if the standby switch is placed in the BAT position..

que trabaja &lt; los recursos intangibles que )ios est# desarrollando en nosotros y recursos intangibles que )ios est# desarrollando en nosotros y en la iglesia en la iglesia

Because of the on-going controversy on the potential contamination of shallow ground waters during shale gas exploration and exploitation, it is important to assess the

The ordinal regression method was used to evaluate the relationship between ICT performance of the overall production procedures in Greek SMEs (enhancement of

1 At Arm's Length: The relationship between research and policy in arts and culture, 1992–2007 Deacon Published February 2011 2 Higher Education and Economic Development: A

The Contracting Authority, Transport for London (TfL), on behalf of itself and others (as detailed in VI.3) is seeking to award a Framework of Concessionaires who will be

A target hit by this attack must make a Constitution save, DC 16, or be afflicted with the curse Mummy Rot; they are unable to regain hit points and their hit point maximum

A dedicated contact height probe for the Instant Measurement system that helps reduce the amount of time required for using other measurement tools for different dimensions and