Thursday, April 23, 2020

Computer Languages


A computer system can be considered to be made up of two main components hardware and software. Computer hardware is the collection of all the physical devices such as to monitor, mouse, keyboard and CPU that you can touch and feel.
The hardware components have to be given instructions to perform any task. Software is a program that enables a computer to perform a specific task. You cannot touch software as you can do with hardware. Software or programs are written using computer languages. Let us learn more about computer languages and various types of software.


Classification of Computer Languages:

There are two types of computer languages:
  1. Low-level languages
  2. High-level languages



Low-level languages:
Low-level languages are easily understood by computers. They are machine-dependent languages. Unlike high-level languages used by software developers, low-level code is often cryptic and not human-readable. That is, these languages are specific to computers. Two common types of low-level programming languages are
  1. Machine language
  2. Assembly language

Machine language:
Machine language is the language in which instructions are given in the form of string of 0s and 1s. Machine language programs are understood by the computer without any translations and hence are executed very fast as compared to programs written in other languages. Machine language programs are machine-dependent, that is, the program written for one computer may not work on another. A complete knowledge of computer architecture is required to write a program in machine language. It is very difficult for programmers to write programs in this language. The machine-level language is considered as a first generation language. This is because, programming was started with this language.

Advantages:
  1. Can be directly typed and executed.
  2. No translator program is required.

Disadvantages:
  1. Difficult to remember machine instructions.
  2. Difficult to understand, modify and debug errors.
  3. Difficult to remember addresses of data and instruction.
  4. Each and every instruction is numerical.
  5. Lack of portability: program that runs on one machine does not run on the other.


Assembly language:
Assembly language is the language in which instructions are given in the form of short words called mnemonics. Since instead of 0s and 1s, mnemonics are used, it is easier to write a program in assembly language as compared to machine language. An assembly language is a low-level programming language for microprocessors and other programmable devices. It is not just a single language, but rather a group of languages. An assembly language program is also machine dependent. Assembly language is also known as assembly code. Program written in assembly language are not directly executable and require a translator known as assembler.

Example:
  • MOV-move data from one location to another
  • ADD-add two values
  • SUB-subtract a value from another value
  • PUSH-push data onto a stack
  • POP-pop data from a stack
  • JMP-jump to another location
  • INT-interrupt a process

Advantages:
  1. Easy to remember operation codes, because they are mnemonic.
  2. Easy to understand the program.
  3. Easy to write programs, modify and debug as compare machine language.
  4. Need not remember address of operands and instruction locations.

Disadvantages:
  1. The mnemonics are machine dependent. They differ from one computer to another.
  2. Not standardized.
  3. Lass efficient than machine language.


High-level language:
High-level language is the language in which programs are written using English words and mathematical symbols. It is very easy for programmers to learn and use high-level languages. Example of high-level languages are BASIC, FORTRAN, Pascal, C, C++, and Java etc. Software can be created with the help of these languages very easily. Translator used for converting high-level language programs into corresponding machine language are known as compilers or interpreters. The advantages of high-level languages are as follows:

  • Understandability: 
Programs written in these languages are easy to learn and understand than those in low-level language.

  • Debugging: 
It is very easy to find and remove errors from high-level language. Because of the use of compilers and interpreters, error can be detected and located easily.

  • Portability: 
High-level language programs are machine independent. Programmers do not require details of underlying hardware to write programs. Programs written for one computer cab be executed on any other computer with very minor changes or no changes at all.

Advantages:
  1. Easy to understand.
  2. Machine independent.
  3. Portability
  4. Easy to write, modify and debug.
  5. Standardized.

Disadvantages:
  1. Less efficient than low level language.

Classification of Computer Software:

Software is a collection of computer programs that provide the instructions that a computer needs to perform specific task. You cannot touch software as you can do with hardware. Software can be classified into two categories—
  1. System Software
  2. Application software




1. System software:
System software is a software that provides platform to run application software. It helps to manage and run the computer hardware in an efficient manner. It serves as the interface between the hardware and the end users. Some examples are……

  • Operating System:


An operating system is a program that provide an environment to interact between the user of a computer and computer hardware. It also ensures that the computer hardware is used in an efficient manner.

A computer system has many resources such as file storage space, I/O devices, system memory, catch memory, hard disk and so on. The operating system acts as a resource manager by allocating these resources to specific programs and applications as and when required.

Example- Microsoft Windows XP, WIN-7, Linux and UNIX

  • Language Processor:

We know that computer understands instructions in machine code, i.e. in the form of 0s and 1s. It is difficult to write computer program directly in machine code. Nowadays, the programs are written mostly in high-level languages, i.e. BASIC, C, C++, Java etc. A program written in any high-level programming language (or written in assembly language) is called the Source Program.

These source code cannot be executed directly by the computer and must be converted into machine language to be executed. Hence, a special translator system software is used to translate the program written in high-level language into machine code is called Language Processor. The language processors are divided into the following three types:

Assembler: 
An assembler converts a program written in an assembly language into its equivalent machine language.

Compiler: 
A compiler converts a program or source code written in a high-level language into the machine language before execution. It runs through the entire high-level language program in one go and reports all the errors in the source code alone with the line numbers. After all the errors removed, the compiler gives the machine level equivalent code called the object program or object code. The saved object program cab be executed number of times without translating it again.

Interpreter: 
An interpreter is a language processor that works by reading and executing the source code of a high-level language program line-by-line. If there is an error in any line, it reports it at the same time and program execution cannot resume until the error is rectified. The object code produced by the interpreter cannot be saved. So, every time the program is run, it needs to interpreted again to obtain the object code.


  • Utility Software

Utility software helps to manage, maintain and control computer resources. Examples of utility programs are antivirus software, backup software, file manager and disk defragmenter.

  • Disk defragmentation

Disk defragmentation is a process which brings all the scattered data together so, basically the process which rearranges or reunites the data in your hard disk.


For example, a new library without a librarian. People borrow books, read them and return them. There is no librarian, so the books get dumped anywhere. New users will have to spend more time to search for the books. This is fragmentation.



Now the library committee is fed up, it hires a librarian. This librarian rearranges books according to category. Now the books are well optimized and future visitors have to spend little time to find the books. This is de-fragmentation.

  • Antivirus Software:

A virus is a computer program that may interrupt the normal functioning of your computer. It can slow down the working of a computer or may sometimes even lead to system crash. In order to remove such dangerous programs, antivirus programs need to be used. An antivirus is a computer program used to prevent, detect, and remove malware or virus.
Example: Norton, AVG, Avira and McAfee

  • Backup Utility

Backup software are computer programs used to perform a copy of the data on the hard disk. So that in case of any accidental loss or system crash, valuable data is not permanently lost.

2. Application software:
Application software is specific purpose software which is used by user for performing specific task.
Application software are divided into two categories----------
  1. General Purpose Application Software
  2. Specific Purpose Application Software


1. General Purpose Application Software:
General Purpose Application Software are developed keeping in mind the general needs and requirements of a large number of people. Some examples of such software are…..

  • Word processing software:

This tool is used to create letters, word sheets, type papers etc.

Examples: MS Word, MS Works, and AppleWorks

  • Spreadsheet Software

A tool used to accepts data values in row and column format to allow users to manipulate, calculate and analyses data in the desired manner.

Examples: MS Excel, Lotus 1-2-3, MS Works.

  • DBMS (Database Management System):

DBMS is a software that lets you store a large amount of data in an organized manner. A DBMS can store details about the customers, employees, products, students, etc.

Examples: Oracle, MS Access, FileMaker Pro, FoxPro.

  • DTS (Desktop Publishing Software)

This software is used for creating, designs and layouts of books, journals, newspapers etc.

Examples: MS Publisher, Adobe PageMaker.

  • Graphics Software:

This type of software allows you to create and edit images.

Examples: Adobe Photoshop, CorelDraw, etc.

  • Multimedia Software:

This software lets you combine images, text, sound, animations and video to create interactive applications.

Examples: Adobe Director, Adobe Flash etc.

  • Presentation Software

A tools used to create and design slide shows and multimedia presentations.

Examples: MS PowerPoint, Hyper Studio etc.

  • Internet Browsers

This tools allows one to surf the web, read their emails and also create web pages.

Examples: Netscape Navigator, MS Internet Explorer

  • Email Programs

This software is mainly used to send and receive emails.

Examples: MS Outlook, Netscape Messenger etc.


2. Specific Purpose Application Software:
Special purpose application software is a type of software created to execute one specific task.
For example-
  1. A camera application on your phone will only allow you to take and share pictures.
  2. Another example would be a chess game, it would only allow you to play chess.
  3. Other examples of special purpose application software are web browsers, calculators, media players, calendar programs etc.

Share This
Previous Post
Next Post

Larning of Computer fundamentals and its applications and Microsoft Office together with MCQ questions.

0 comments: