moodle - programming language generations

14
Evolution and History of Programming Languages Software/Hardware/System

Upload: henry-crabb

Post on 06-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 1/14

Evolution and History of Programming LanguagesSoftware/Hardware/System

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 2/14

Software Programming Language

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 3/14

History Timeline

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 4/14

Machine languages

Assembly languages

Higher-level languages

To build programs, people use languages that are similar

to human language. The results are translated into

machine code, which computers understand.

Programming languages fall into three broad categories:

The Evolution of Programming Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 5/14

Machine languages (first-generation languages) are the

most basic type of computer languages, consisting of 

strings of numbers the computer's hardware can use.

Different types of hardware use different machine

code. For example, IBM computers use different

machine language than Apple computers.

Student task 1: Find out the type of processor in your

computer. What instruction set is used to program it?

The Evolution of Programming Languages -

Machine Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 6/14

Assembly languages (second-generation languages)

are only somewhat easier to work with than machine

languages.

To create programs in assembly language, developers

use cryptic English-like phrases to represent strings

of numbers.

The code is then translated into object code, using a

translator called an assembler.

The Evolution of Programming Languages -

Assembly Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 7/14

Assembler 

Assembly

code

Object code

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 8/14

Third-generation languages

Fourth-generation languages

Fifth-generation languages

Higher-level languages are more powerful than assembly

language and allow the programmer to work in a more

English-like environment.

Higher-level programming languages are divided into

three "generations," each more powerful than the last:

The Evolution of Programming Languages -

Higher-Level Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 9/14

FORTAN C

COBOL C++

BASIC Java

Pascal ActiveX

Third-generation languages (3GLs) are the first to

use true English-like phrasing, making them easier

to use than previous languages. Also termed

procedural languages

3GLs are portable, meaning the object code created

for one type of system can be translated for use on a

different type of system.

The following languages are 3GLs:

Higher-Level Languages -

Third-Generation Languages ± Imperative

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 10/14

FORTAN C

COBOL C++

BASIC Java

Pascal ActiveX

Third-generation languages (3GLs) are the first to

use true English-like phrasing, making them easier

to use than previous languages. Also termed

procedural languages

3GLs are portable, meaning the object code created

for one type of system can be translated for use on a

different type of system.

The following languages are 3GLs:

Higher-Level Languages -

Third-Generation Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 11/14

1st Generation - Machine code -

Low-level also called machine- oriented

2nd Generation - Assembly languages ± use an

Assembler to create object code. Low-level also called

machine- oriented

3rd

generation are intended to solve problems ± termed problem-oriented languages. Sometimes

termed procedural.

All of these are termed imperative languages ± 

 Student Task 1 - Find out what this means ? (5mins)

The Generations of Programming Languages recap

Object code

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 12/14

Fourth-generation languages (4GLs) are known as

declarative languages, such as Prolog and SQL

They define what is to be computed rather than how

it is to be done as seen below on SQL

CREATE TABLE Persons(LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255))

SELECT Address FROM Persons WHERE LastName =µSmith¶ 

Fourth-Generation Languages

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 13/14

Summary 

8/3/2019 Moodle - Programming Language Generations

http://slidepdf.com/reader/full/moodle-programming-language-generations 14/14

Past Exam Questions on 3.2.1

Fundamentals of Computer Systems

January 2009 - Question 2

January 2009 ± Question 3b)

January 2010 ± Question 4a)

January 2010 ± Question 6

June 2009 ± Question 2

June 2009 ± Question 3