Topic 3 :Computer Programs and Programming Language

Overview of computer program and programming language

Computer Program

computer program = set of instructions that the computer needs to follow to process the data into information.

  • They tell the computer =
    1) What actions you want the computer to perform
    2) The order those actions should happen in

Elements of Computer Program

1) Input

2) Processing

3) Storage / output

Programming Language

programming language = system of signs used to communicate a task/algorithm to a computer, causing the task to be performed (computation)

Machine Language

Assembly Language

High level Language

  • Consists of individual instructions that will be executed by the CPU one at a time.
  • Using Binary code
  • Designed for a specific family of processors
  • converted to machine code by an assembler
  • slow and error-prone but is more efficient in terms of hardware performance.
  • use statements consisting of English-like keywords such as "FOR", "PRINT" or “IF“, ....etc
  • easier than assembly language
  • Operations can be described using familiar symbols

Programming Language Paradigms

Programming Paradigm

model for a class of programming language that share a common characteristics and its differences

Common Programming Paradigms

Imperative paradigm

  • Describe how the computer should achieve solution
  • Example of : C, Pascal, FORTRAN, ALGO 60 & COBOL
  • The sequential execution of instructions
  • The use of variables representing memory locations
  • The use of assignment to change the values of variables

Object Oriented Paradigm

Based on imperative / procedural style with added data & code abstraction & encapsulation

  • organized around objects rather actions, data rather than logic
  • Example : Smalltalk, C++ & Java

Logic Paradigm

  • declarative and relational style of programming
  • Example : Prolog
  • Based on facts & rules
    (clauses (may contain logic variables))

Functional Paradigm

Based on the concept of functions in mathematics, Lambda calculus

compact, but run slowly and require a lot of memory

  • Examples : Haskell, ML, LISP & Scheme

Programming Application Domains

Scientific Application

  • Language : Fortran (FORmula TRANslator)
  • Example application: NASA, Biotech

Business Appliction

  • Languange: COBOL
  • Example : Banking

Artifical Intelligence

  • Language: LISP, Prolog
  • Example : Manufacturing, Robotic

System Programming

  • Language : PL/S, BLISS, Extended Algol, C
  • Example : Operating System

Web Software

  • Language : Javascript, PHP
  • Example : Internet application