What is a Computer ? 

 • A computer is a machine which can take instructions (data) as input, perform computations based on those instructions (process) and generate results output (information).


What is Processing? 

• A computer uses a Central Processing Unit or CPU to do all its decision-making and data processing. 

• The CPU has an internal set of instructions it follows when it receives a command (Machine Language).

• Processing data through computers is 

▫ Fast (Computers processing speed is measured in MIPS - Millions of Instructions Per Second. 

▫ Highly accurate • The CPU follows the programmer's logic to process the data given it.

 

Machine Language 

• Machine Language is the only language that is directly understood by the computer. 

• It does not needs any translator program. 

• The only advantage is that program of machine language run very fast. 

• Each different type of CPU has its own unique machine language. 


What is a Computer Program? 

• A computer program is a collection of instructions that performs a specific task when executed by a computer.


What is a Programming Language? 

 • A programming language is a formal computer language designed to communicate instructions to a machine, particularly a computer. 


Algorithm.

A part of a computer program that performs a well-defined task is known as an algorithm.


Von Neumann Architecture 

• Von Neumann Architecture also known as the Von Neumann model, the computer consisted of a CPU, memory and I/O devices. 

• The von Neumann architecture describes a general framework, or structure, that a computer's hardware, programming, and data should follow. 

• The program is stored in the memory. 

• The CPU fetches an instruction from the memory at a time and executes it.

Stored Program Concept ▫ A program be electronically stored in binary-number format in a memory device so that instructions could be modified by the computer as determined by intermediate computational results.

From Program To Software 

• A collection of computer programs, libraries and related data are referred to as software. 

• Computer programs may be categorized along functional lines, such as application software or system software. 

  1. Application Software is a set of programs for a specific application. 
  2. System software are general programs designed for performing tasks such as controlling all operations required to move data into and out of the computer.
Generations of Programming Languages 

• There are 5 Generations.
    1. 1st Generation 
    2. 2nd Generation 
    3. 3rd Generation 
    4. 4th Generation 
    5. 5th Generation 
1st Generation-Machine language is the only programming language that the computer can understand directly without translation. ▫ It is a language made up of entirely 1s and 0s.It is a language made up of entirely 1s and 0s.Machine language programs have the advantage of very fast execution speeds and efficient use of primary memory. Use of machine language is very tedious, difficult and time consuming method of programming.

2nd Generation - The first step in making software development easier and more efficient was the creation of Assembly languages. Detailed knowledge of hardware is still required. Before they can be used by the computer, assembly languages must be translated into machine language. A language translator program called an assembler does this conversion.
Assembly languages produce programs that are, 
  1. efficient, 
  2. use less storage
  3. execute much faster than programs designed using high-level languages.
3rd Generation -Third generation languages, also known as high-level languages, are very much like everyday text and mathematical formulas in appearance. A language translator is required to convert a high-level language program into machine language. Two types of language translators are used with high level languages: 
  1. compilers 
  2. interpreters. 
e.g. FORTRAN, COBOL, BASIC, Pascal and C

4th Generation-Fourth generation languages are also known as very high level languages. They are non-procedural languages, so named because they allow programmers and users to specify what the computer is supposed to do without having to specify how the computer is supposed to do it. they are so much easier to use than third generation languages, fourth generation languages allow users, or non-computer professionals, to develop software.

Objectives of fourth generation languages 
  1. Increasing the speed of developing programs. 
  2. Minimizing user effort to obtain information from computer. 
  3. Decreasing the skill level required of users so that they can concentrate on the application rather than the details of coding, and thus solve their own problems without the aid of a professional programmer.
  4. Minimizing maintenance by reducing errors and making programs that are easy to change. 

▫ These languages are usually used in conjunction with a database and its data dictionary.
Five basic types of language tools fall into the fourth generation language category. 
  1. Query languages 
  2. Report generators. 
  3. Applications generators. 
  4. Decision support systems and financial planning languages. 
  5. Some microcomputer application software.
5th Generation -The text of a natural language statement very closely resembles human speech. These languages are also designed to make the computer “smarter”.  Natural languages already available for microcomputers include Clout, Q&A, and Savvy Retriever (for use with databases) and HAL (Human Access Language). 
The use of natural language touches on expert systems, computerized collection of the knowledge of many human experts in a given field, and artificial intelligence, independently smart computer systems. 

e.g Prolog, OPS5 and Mercury and Lisp

Two types of programming languages 

  1. Low-level programming languages  
  2. High-level programming languages
Low level programming languages -Provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions.  Generally refers to either machine code or assembly language. Programs written in low-level languages tend to be relatively non-portable, mainly because of the close relationship between the language and the hardware architecture. 34 Types of Programming Languages (Cont…) Low-level languages can convert to machine code without a compiler or interpreter— (second- generation programming languages use a simpler processor called an assembler) and resulting code runs directly on the processor. A program written in a low-level language can be made to run very quickly, with a small memory footprint. Low-level languages are simple, but considered difficult to use, due to numerous technical details that the programmer must remember. By comparison, a high-level programming language isolates execution semantics of a computer architecture from the specification of the program, which simplifies development.

High level programming languages -It is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages,  it may use natural language elements,  be easier to use,  or may automate (or even hide entirely) significant areas of computing systems (e.g. memory management),  making the process of developing a program simpler and more understandable relative to a lower-level language. 



















Comments