1
Programming Languages &Programming Languages &
StructureStructure
University of Education Okara Campus
UniversityofEducationOkara
Campus
Part 1
2
Describe the evolution of programming languages from machineDescribe the evolution of programming languages from machine
language to high-level languages. Understand how a program inlanguage to high-level languages. Understand how a program in
a high-level language is translated into machine language.a high-level language is translated into machine language.
Distinguish between four computer language paradigms.Distinguish between four computer language paradigms.
Understand the procedural paradigm and the interaction betweenUnderstand the procedural paradigm and the interaction between
a program unit and data items in the paradigm. Understand thea program unit and data items in the paradigm. Understand the
object-oriented paradigm and the interaction between a programobject-oriented paradigm and the interaction between a program
unit and objects in this paradigm. Define functional paradigmunit and objects in this paradigm. Define functional paradigm
and understand its applications. Define a declaration paradigmand understand its applications. Define a declaration paradigm
and understand its applications. Define common concepts inand understand its applications. Define common concepts in
procedural and object-oriented languages.procedural and object-oriented languages.
ObjectivesObjectives
After studying this chapter, the student should be able to:After studying this chapter, the student should be able to:
UniversityofEducationOkara
Campus
3
9-1 EVOLUTION9-1 EVOLUTION
To write a program for a computer, we must use aTo write a program for a computer, we must use a
computer language. A computer language is a set ofcomputer language. A computer language is a set of
predefined words that are combined into a programpredefined words that are combined into a program
according to predefined rules (according to predefined rules (syntax). Over the years,). Over the years,
computer languages have evolved fromcomputer languages have evolved from machine
language toto high-level languages..
UniversityofEducationOkara
Campus
4
Machine languages
UniversityofEducationOkara
Campus
In the earliest days of computers, the only programming
languages available were machine languages. Each
computer had its own machine language, which was made of
streams of 0s and 1s. We need to use eleven lines of code to read
two integers, add them and print the result. These lines of code,
when written in machine language, make eleven lines of binary
code, each of 16 bits, as shown in Table 9.1.
The only language understood by a computer is machine language.The only language understood by a computer is machine language.
5
UniversityofEducationOkara
Campus
6
Assembly languages
The next evolution in programming came with the idea of
replacing binary code for instruction and addresses with symbols
or mnemonics and is called symbolic languages.
UniversityofEducationOkara
Campus
7
High-level languages
Although assembly languages greatly improved programming
efficiency, they still required programmers to concentrate on the
hardware they were using. Working with symbolic languages was
also very tedious, because each machine instruction had to be
individually coded. The desire to improve programmer efficiency
and to change the focus from the computer to the problem being
solved led to the development of high-level languages.
Over the years, various languages, most notably BASIC,
COBOL, Pascal, Ada, C, C++ and Java, were developed.
Program 9.1 shows the code for adding two integers as it would
appear in the C++ language.
UniversityofEducationOkara
Campus
8
UniversityofEducationOkara
Campus
C++ Program to add two numbers
#include<iostream.h>
#include<iostream.h>
Void main() {
Clrscr();
Int a=5, b=10;
Int c = a+b;
Cout<<c;
Getch();
}
9
9-2 TRANSLATION9-2 TRANSLATION
Programs today are normally written in one of thePrograms today are normally written in one of the
high-level languages. To run the program on ahigh-level languages. To run the program on a
computer, the program needs to be translated into thecomputer, the program needs to be translated into the
machinemachine languagelanguage of the computer on which it willof the computer on which it will
run. The program in a high-level language is called therun. The program in a high-level language is called the
sourcesource program. The translated program in machineprogram. The translated program in machine
language is called thelanguage is called the objectobject program. Two methodsprogram. Two methods
are used for translation:are used for translation: compilation andand
interpretation..
UniversityofEducationOkara
Campus
10
Compilation
A compiler normally translates the whole source
program into the object program.
Source Code > Object Code
Interpretation
Some computer languages use an interpreter to translate
the source program into the object program.
Interpretation refers to the process of translating each
line of the source program into the corresponding line of
the object program and executing the line. However, we
need to be aware of two trends in interpretation: that is
used by some languages before Java and the
interpretation used by Java.
UniversityofEducationOkara
Campus
11
Translation process
Compilation and interpretation differ in that the first
translates the whole source code before executing it,
while the second translates and executes the source code a
line at a time. Both methods, however, follow the same
translation process shown in Figure 9.1.
Figure 1 Source code translation process
UniversityofEducationOkara
Campus
12
9-3 PROGRAMMING PARADIGMS9-3 PROGRAMMING PARADIGMS
Today, computer languages are categorized according toToday, computer languages are categorized according to
the approach they use to solve a problem. Athe approach they use to solve a problem. A
paradigm, therefore, is a way in which a computer, therefore, is a way in which a computer
language looks at the problem to be solved. We dividelanguage looks at the problem to be solved. We divide
computer languages into four types:computer languages into four types: proceduralprocedural,, object-object-
orientedoriented,, functionalfunctional andand declarativedeclarative. Figure 9.2. Figure 9.2
summarizes these.summarizes these.
UniversityofEducationOkara
Campus
13
Figure 2 Categories of programming languages
UniversityofEducationOkara
Campus
14
The Procedural Language
A program in a procedural paradigm is an active agentA program in a procedural paradigm is an active agent
that uses passive objects that we refer to as data or datathat uses passive objects that we refer to as data or data
items. To manipulate a piece of data, the active agentitems. To manipulate a piece of data, the active agent
(program) issues an action, referred to as a procedure.(program) issues an action, referred to as a procedure.
For example, think of a program that prints the contentsFor example, think of a program that prints the contents
of a file. The file is a passive object. To print the file, theof a file. The file is a passive object. To print the file, the
program uses a procedure, which we call print.program uses a procedure, which we call print.
Derived from Structured Programming.Derived from Structured Programming.
UniversityofEducationOkara
Campus
Procedural Object-oriented
procedure method
record object
module class
procedure call message
15
Figure 3 The concept of the procedural paradigm
UniversityofEducationOkara
Campus
16
A program in this paradigm is made up of three parts: a
part for object creation, a set of procedure calls and a
set of code for each procedure. Some procedures have
already been defined in the language itself. By
combining this code, the programmer can create new
procedures.
Figure 4 The components of a procedural program
UniversityofEducationOkara
Campus
17
Some procedural languages
 FORTRAN (FORmula TRANslation)
 COBOL (COmmon Business-Oriented Language)
 Pascal
 C
 Ada
UniversityofEducationOkara
Campus

Introduction to programming languages part 1

  • 1.
    1 Programming Languages &ProgrammingLanguages & StructureStructure University of Education Okara Campus UniversityofEducationOkara Campus Part 1
  • 2.
    2 Describe the evolutionof programming languages from machineDescribe the evolution of programming languages from machine language to high-level languages. Understand how a program inlanguage to high-level languages. Understand how a program in a high-level language is translated into machine language.a high-level language is translated into machine language. Distinguish between four computer language paradigms.Distinguish between four computer language paradigms. Understand the procedural paradigm and the interaction betweenUnderstand the procedural paradigm and the interaction between a program unit and data items in the paradigm. Understand thea program unit and data items in the paradigm. Understand the object-oriented paradigm and the interaction between a programobject-oriented paradigm and the interaction between a program unit and objects in this paradigm. Define functional paradigmunit and objects in this paradigm. Define functional paradigm and understand its applications. Define a declaration paradigmand understand its applications. Define a declaration paradigm and understand its applications. Define common concepts inand understand its applications. Define common concepts in procedural and object-oriented languages.procedural and object-oriented languages. ObjectivesObjectives After studying this chapter, the student should be able to:After studying this chapter, the student should be able to: UniversityofEducationOkara Campus
  • 3.
    3 9-1 EVOLUTION9-1 EVOLUTION Towrite a program for a computer, we must use aTo write a program for a computer, we must use a computer language. A computer language is a set ofcomputer language. A computer language is a set of predefined words that are combined into a programpredefined words that are combined into a program according to predefined rules (according to predefined rules (syntax). Over the years,). Over the years, computer languages have evolved fromcomputer languages have evolved from machine language toto high-level languages.. UniversityofEducationOkara Campus
  • 4.
    4 Machine languages UniversityofEducationOkara Campus In theearliest days of computers, the only programming languages available were machine languages. Each computer had its own machine language, which was made of streams of 0s and 1s. We need to use eleven lines of code to read two integers, add them and print the result. These lines of code, when written in machine language, make eleven lines of binary code, each of 16 bits, as shown in Table 9.1. The only language understood by a computer is machine language.The only language understood by a computer is machine language.
  • 5.
  • 6.
    6 Assembly languages The nextevolution in programming came with the idea of replacing binary code for instruction and addresses with symbols or mnemonics and is called symbolic languages. UniversityofEducationOkara Campus
  • 7.
    7 High-level languages Although assemblylanguages greatly improved programming efficiency, they still required programmers to concentrate on the hardware they were using. Working with symbolic languages was also very tedious, because each machine instruction had to be individually coded. The desire to improve programmer efficiency and to change the focus from the computer to the problem being solved led to the development of high-level languages. Over the years, various languages, most notably BASIC, COBOL, Pascal, Ada, C, C++ and Java, were developed. Program 9.1 shows the code for adding two integers as it would appear in the C++ language. UniversityofEducationOkara Campus
  • 8.
    8 UniversityofEducationOkara Campus C++ Program toadd two numbers #include<iostream.h> #include<iostream.h> Void main() { Clrscr(); Int a=5, b=10; Int c = a+b; Cout<<c; Getch(); }
  • 9.
    9 9-2 TRANSLATION9-2 TRANSLATION Programstoday are normally written in one of thePrograms today are normally written in one of the high-level languages. To run the program on ahigh-level languages. To run the program on a computer, the program needs to be translated into thecomputer, the program needs to be translated into the machinemachine languagelanguage of the computer on which it willof the computer on which it will run. The program in a high-level language is called therun. The program in a high-level language is called the sourcesource program. The translated program in machineprogram. The translated program in machine language is called thelanguage is called the objectobject program. Two methodsprogram. Two methods are used for translation:are used for translation: compilation andand interpretation.. UniversityofEducationOkara Campus
  • 10.
    10 Compilation A compiler normallytranslates the whole source program into the object program. Source Code > Object Code Interpretation Some computer languages use an interpreter to translate the source program into the object program. Interpretation refers to the process of translating each line of the source program into the corresponding line of the object program and executing the line. However, we need to be aware of two trends in interpretation: that is used by some languages before Java and the interpretation used by Java. UniversityofEducationOkara Campus
  • 11.
    11 Translation process Compilation andinterpretation differ in that the first translates the whole source code before executing it, while the second translates and executes the source code a line at a time. Both methods, however, follow the same translation process shown in Figure 9.1. Figure 1 Source code translation process UniversityofEducationOkara Campus
  • 12.
    12 9-3 PROGRAMMING PARADIGMS9-3PROGRAMMING PARADIGMS Today, computer languages are categorized according toToday, computer languages are categorized according to the approach they use to solve a problem. Athe approach they use to solve a problem. A paradigm, therefore, is a way in which a computer, therefore, is a way in which a computer language looks at the problem to be solved. We dividelanguage looks at the problem to be solved. We divide computer languages into four types:computer languages into four types: proceduralprocedural,, object-object- orientedoriented,, functionalfunctional andand declarativedeclarative. Figure 9.2. Figure 9.2 summarizes these.summarizes these. UniversityofEducationOkara Campus
  • 13.
    13 Figure 2 Categoriesof programming languages UniversityofEducationOkara Campus
  • 14.
    14 The Procedural Language Aprogram in a procedural paradigm is an active agentA program in a procedural paradigm is an active agent that uses passive objects that we refer to as data or datathat uses passive objects that we refer to as data or data items. To manipulate a piece of data, the active agentitems. To manipulate a piece of data, the active agent (program) issues an action, referred to as a procedure.(program) issues an action, referred to as a procedure. For example, think of a program that prints the contentsFor example, think of a program that prints the contents of a file. The file is a passive object. To print the file, theof a file. The file is a passive object. To print the file, the program uses a procedure, which we call print.program uses a procedure, which we call print. Derived from Structured Programming.Derived from Structured Programming. UniversityofEducationOkara Campus Procedural Object-oriented procedure method record object module class procedure call message
  • 15.
    15 Figure 3 Theconcept of the procedural paradigm UniversityofEducationOkara Campus
  • 16.
    16 A program inthis paradigm is made up of three parts: a part for object creation, a set of procedure calls and a set of code for each procedure. Some procedures have already been defined in the language itself. By combining this code, the programmer can create new procedures. Figure 4 The components of a procedural program UniversityofEducationOkara Campus
  • 17.
    17 Some procedural languages FORTRAN (FORmula TRANslation)  COBOL (COmmon Business-Oriented Language)  Pascal  C  Ada UniversityofEducationOkara Campus