Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CSC 315 Lecture 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

CSC 315 - SURVEY OF PROGRAMMING LANGUAGES

OVERVIEW OF PROGRAMMING LANGUAGES


A computer program is a sequence of detailed instructions in a programming
language that a computer can execute or interpret. A computer program in its
human-readable form is called source code. Programming is the process of
designing and building an executable computer program to accomplish a specific
computing task or achieve a specific task, programming is how you get computers
to solve problems.
Programming is a science because it implements the algorithms described by
mathematics and science, it is a skill because it requires basic efforts. It is an
engineering because it requires trades offs between program size, speed, time
[required for development and debugging] and maintainability among many
solutions. It is an art, it requires creativity and employs imagination.

Levels/ Generations of Programming

a. First Generation Language [1GL]


Machine Language, 0’s and 1’s

b. Second Generation Language [2GL]


Assembly Language, mnemonics

c. Third Generation Language [3GL]


High level languages, procedure oriented or object oriented

d. Fourth Generation Programing Languages [4GL]


Very high level programming languages

e. Fifth generation language [5GL]


Natural languages

A. FIRST GENERATION PROGRAMMING LANGUAGES


This is the lowest level of programming language, it is the language used to
program the first generation computers. The instructions in the first generation
programming languages are made of binary numbers represented by 1s and 0s.
The 1s and 0s corresponds to the on and off states of electrical switches. It is easier
to understand by the machine but much difficult to interpret and learn by the
human programmer. Originally, no translator was used to compile or assemble the
first-generation language. The first-generation programming instructions were
entered through the front panel switches of the computer system. First generation
languages are very much adapted to a specific computer and CPU, and code
portability is therefore significantly reduced in comparison to higher level
languages. Modern day programmers still occasionally use machine level code,
especially when programming lower level functions of the system, such
as drivers, interfaces with firmware and hardware devices. Modern tools such as
native-code compilers are used to produce machine level from a higher-level
language

B. SECOND GENERATION PROGRAMMING LANGUAGE


The second generation programming language is also known as assembly
language, the programmer can write instructions faster but it is still not an easy
language to learn, An assembler is a program that translates assembly language
program into machine language. The symbolic representation of machine
Instructions, registers and memory addresses allows the programmer to produce
a human-readable program. For the computer to understand the program it must
be converted to a machine readable format using an Assembler. The Assembler
usually converts the Mnemonics via a one-to-one mapping from the mnemonic
representation to machine language, for a particular processor family and
environment. They are mostly used for the implementation of low-level kernels
and drivers and for performance-oriented and processing-intensive applications
such as computer games, graphic manipulation applications and video editing
applications. Assemblers allow for easier debugging of the program, and also
introduce more advanced programming mechanisms such as macro Programming
and structured Programming.

C. THIRD GENERATION PROGRAMMING LANGUAGE


The third generation programming language is also known as a high level
programming language, it is an English language it is a refinement of the second
generation programming language it allows users to write in familiar notation
rather than numbers or abbreviations, programmers in 3GLs are favored by using
aggregate data types, variable names and the ability to define sections of code as
subroutines. The program in 3GL is called the Source Program or Source Code and
it subsequently converted by a specialized program, the Compiler, to Object Code,
understandable by the specific computer and CPU, most high level languages are
not machine dependent, the translator for high level languages is either a compiler
or interpreter e.g of high level languages are FOTRAN COBOL, BASIC etc.

D. FOURTH GENERATION PROGRAMMING LANGUAGE


A fourth generation (programming) language (4GL) is a grouping of programming
languages that attempt to get closer than 3GLs to human language, form of
thinking and conceptualization. They are much more user oriented and allow
programmers develop programs with fewer commands compared to the third
generation programming language. Many 4GLs are associated with databases and
data processing, They consists of report generators query languages, application
generators and interactive database management system e.g RPG III [Report
Generator], SQL [Structured Query Language], NOMAD and FOCUS [DBMS] This
feature allows the efficient development of business-oriented systems with
languages that closely match the way domain experts formulate business rules and
processing sequences. Many of such data-oriented 4GLs are based on the
Structured Query Language (SQL), invented by IBM and subsequently adopted by
ANSI and ISO as the standard language for managing structured data.

E. FIFTH GENERATION LANGUAGE


This is a grouping of programming languages built on the premise that a problem
can be solved, and an application built to solve it, by providing constraints to the
program (constraint-based programming/ problem oriented), rather than
specifying algorithmically how the problem is to be solved (imperative
programming). In essence, this programming language is used to denote the
properties, or logic, of a solution, rather than how it is reached. Most constraint-
based and logic programming languages are fifth Generation programming
Languages. They are also known as natural language. Fifth generation
programming languages are designed to make the computer solve a given problem
without the programmer. Natural languages are part of the field of study known as
artificial intelligence, they develop machines to emulate human like qualities such
as learning, reasoning, communicating, seeing and hearing.

You might also like