Download Programming Languages

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Functional programming wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Reactive programming wikipedia , lookup

Object-oriented programming wikipedia , lookup

Go (programming language) wikipedia , lookup

History of compiler construction wikipedia , lookup

Structured programming wikipedia , lookup

Compiler wikipedia , lookup

Programming language wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Interpreter (computing) wikipedia , lookup

Assembly language wikipedia , lookup

Transcript
Programming Languages
Low-level Languages
High-level Languages
Advantages & Disadvantages
Translators
Trends in Programming Languages
1
Introduction
u program
– a series of instructions make a computer
‘works’
– can be written in a variety of programming
languages
u programming
lang. - later generations:
– fewer instructions
– provide a more sophisticated
programmer/computer interaction
2
Fourth
Fourth
generation
generation
languages
languages
(4GLs)
(4GLs)
4th
gen.
High-level
languages
are
problem
oriented
Procedural languages
3rd
gen.
Multipurpose
Multipurpose
BASIC
BASIC(1965)
(1965)
Pascal
(1968)
Pascal (1968)
Business
Business
COBOL
COBOL(1959)
(1959)
2nd
gen.
Assembler
Assembler
1st
gen.
Machine
Machine
Scientific
Scientific
FORTRAN
FORTRAN(1955)
(1955)
The hierarchy of programming languages
More
sophistication
in programmer/
computer
interaction
Low-level
languages
are
machine
oriented
3
Low-level Languages
u Machine
language
– a programming language that is interpreted &
executed directly by the computer
u Assembly
language
– a symbolic language with an instruction set that
is basically one-to-one with the machine
language
4
Machine language (ML)
u each
computer can only understand
programs that are written in its own ML
u is provided by the computer manufacturer
u translation is needed when executing
programs written in Pascal or BASIC
u written at the most basic level of computer
operation
– coded as a series of 0’s and 1’s, e.g., 10111010
5
Machine language (ML)
u Disadvantages:
– very difficult to write, because:
• binary system - not ‘user friendly’ to human
• it requires excellent memorising power
– programmer has to keep track of storage
locations of data & instruction
ASSEMBLY LANGUAGE
6
Assembly language
u also
provided by the manufacturer
u one instruction for each computer operation
u instruction codes are represented by
mnemonics (a set of letters)
u the code must be assembled into machine
language for execution
assembly language
[refer to Fig 13.2]
7
Assembly language
u Disadvantages:
(similar to that of ML)
– machine dependent
– the program is usually long
– hard to learn & slow to write
HIGH LEVEL LANGUAGES
8
High-level Languages
u made
programming much more convenient
u written using common names & words
more like human languages
u problem-oriented languages
– designed to solve specific problems
u e.g.,
FORTRAN, COBOL, BASIC, Pascal
& C language
[refer to Fig 13.4 - 13.8]
9
Advantages of
High-level Languages
u easier
to write, to read & to modify
– written in English-like format
u programs
- faster & shorter to code
– one statement for several computer operations
u more
portable, i.e., can be executed by
different computers
– machine independent
10
Advantages of
Low-level Languages
u take
up less storage space
u run faster
u useful for writing system programs
– e.g., operating systems (require fast & efficient
use of CPU)
u sometimes
an operation can only be
performed in a low-level language
11
Translators
u programs
must be translated into machine
codes before execution
Source
Source
program
program
Translator
Translator
Object
Object
program
program
Execution
A simplified translation process
12
Translators - 3 types
Source
Sourceprogram
program
Translator
Translator
assembly
assembly
language
language
programs
programs
assembler
assembler
Object
Objectprogram
program
machine
machine
codes
codes
compiler
compiler
high-level
high-level
language
language
programs
programs
interpreter
interpreter
Execution
Execution
The functions of the three types of translators
13
Similarities between
compilers & interpreters
u both
translate high-level languages to
machine codes
u both
direct errors in the programs & print
error messages
u both
work out where to store the object
program & its data in the memory
14
Differences between
compilers & interpreters
Translation of
source program
Freqrency of
translation
Compilers
Interpreters
the whole program
before execution
each line is translated
once
one line at a time
when it is run
has to be translated
every time it is
executed - slower
no object program is
generated, so, source
program must be
present for execution
Object program can be saved for
future exeution
without the source
program
15
Trends in
Programming Languages
u fewer
instructions
u more user-friendly
u towards using 4GLs
– non-procedural language
– users only have to state what needs doing, but
not how to do it
– designed for users with minimal programming
knowledge & training
16
Trends in
Programming Languages
u Logic
programming (e.g., Prolog)
– 5th-generation computer language
– declarative language
– expert systems & artificial intelligence app.
u Object-oriented
techniques
– e.g., Borland C++
u Visual
development environments
– e.g., Microsoft Visual Basic
17