Wednesday, January 08, 2020

Generations of programming language


Programming languages have been developed over the year in a phased manner. Each phase of developed has made the programming language more user-friendly, easier to use and more powerful. Each phase of improved made in the development of the programming languages can be referred to as a generation. The programming language in terms of their performance reliability and robustness can be grouped into five different generations,
Generations of programming language
  1. First generation languages (1GL)
  1. Second generation languages (2GL)
  1. Third generation languages (3GL)
  1. Fourth generation languages (4GL)
  1. Fifth generation languages (5GL)
1. First Generation Language (Machine language)
  • They are translation free and can be directly executed by the computers.
  • The programs written in these languages are executed very speedily and efficiently by the CPU of the computer system.


  • The programs written in these languages utilize the memory in an efficient manner because it is possible to keep track of each bit of data.

    The first generation programming language is also called low-level programming language because they were used to program the computer system at a very low level of abstraction. i.e. at the machine level. All the commands and data values are given in ones and zeros, corresponding to the "on" and "off" electrical states in a computer. In machine language, all instructions, memory locations, numbers, and characters are represented in strings of zeros and ones. Although machine-language programs are typically displayed with the binary numbers translated into octal (base-8) or hexadecimal (base-16), these programs are not easy for humans to read, write, or debug. machine language also referred to as the native language of the computer system is the first generation programming language. In the machine language, a programmer only deals with a binary number.
2. Second Generation language (Assembly Language)
  • It is easy to develop understand and modify the program developed in these languages are compared to those developed in the first generation programming language.
  • The programs written in these languages are less prone to errors and therefore can be maintained with a great case.
    The second generation programming language also belongs to the category of low-level- programming language. The second generation language comprises assembly languages that use the concept of mnemonics for the writing program. In the assembly language, symbolic names are used to represent the opcode and the operand part of the instruction. Assembly languages are symbolic programming languages that use symbolic notation to represent machine-language instructions. Symbolic programming languages are strongly connected to machine language and the internal architecture of the computer system on which they are used. They are called low-level languages because they are so closely related to the machines. Nearly all computer systems have an assembly language available for use. Examples of these codes include A for add, CMP for compare, MP for multiply, and STO for storing information into memory.
3. Third Generation languages (High-Level Languages)
  • It is easy to develop, learn and understand the program.
  • As the program written in these languages are less prone to errors they are easy to maintain.
  • The program written in these languages can be developed in very less time as compared to the first and second generation language.

    The third generation programming languages were designed to overcome the various limitations of the first and second generation programming languages. The languages of the third and later generation are considered as a high-level language because they enable the programmer to concentrate only on the logic of the programs without considering the internal architecture of the computer system.

    Examples: FORTRAN, ALGOL, COBOL, C++, C
4. Fourth generation language (Very High-level Languages)
  • These programming languages allow the efficient use of data by implementing the various database.
  • They require less time, cost and effort to develop different types of software applications.
  • The program developed in these languages are highly portable as compared to the programs developed in the languages of other generation.

    The languages of this generation were considered as very high-level programming languages required a lot of time and effort that affected the productivity of a programmer. The fourth generation programming languages were designed and developed to reduce the time, cost and effort needed to develop different types of software applications.
    Advantages of fourth generation languages
    Examples: SOL, CSS, coldfusion
5. Fifth generation language (Artificial Intelligence Language)
  • These languages can be used to query the database in a fast and efficient manner.
  • In this generation of language, the user can communicate with the computer system in a simple and an easy manner.

The programming languages of this generation mainly focus on constraint programming. The major fields in which the fifth generation programming language are employed are Artificial Intelligence and Artificial Neural Networks

Examples: mercury, prolog, OPS5


Sunday, December 15, 2019

CATHODE RAY TUBE (CRT)

The primary output device in a graphical system is the video monitor. The main element of a video monitor is the Cathode Ray Tube(CRT)The cathode-ray tube (CRT) is a vacuum tube that contains one or more electron guns and a phosphorescent screen and is used to display images. It modulates, accelerates, and deflects electron beam(s) onto the screen to create the images. The images may represent electrical waveforms (oscilloscope), pictures (television, computer monitor), radar targets, or other phenomena.

    The operation of CRT is very simple −

    • The electron gun emits a beam of electrons
  • The electron beam passes through focusing and deflection systems that direct it towards specified positions on the phosphor-coated screen.
  • When the beam hits the screen, the phosphor emits a small spot of light at each position contacted by the electron beam.
  • It redraws the picture by directing the electron beam back over the same screen points quickly.
  It consists of a glass envelope made from a neck and cone. All air has been extracted so that it contains a vacuum. At the narrow end are pins which make connection with an internal ELECTRON GUN. Voltages are applied to this gun to produce a beam of electrons. This electron beam is projected towards the inside face of the screen.
The face is coated with a PHOSPHOR which PHOSPHORESCES (glows) when hit by the beam. This produces a spot of light on the centre of the face of the CRT. By varying the beam current, spot BRIGHTNESS can be controlled. Controlling the diameter of the beam controls FOCUS. Phosphors come in a range of colours.
On its way from the gun to the screen the beam passes between  2 sets of plates. They are called the X and Y plates (as in graphs). By applying voltages to these plates the beam can be deflected. This causes the spot to move from the centre of the screen to another position on the screen. The X plates plates deflect the spot horizontally, the Y plates vertically. Thus the spot can be deflected to any position on the screen. External deflection coils are often used instead of the internal deflection plates.

Sunday, December 30, 2018

Features, Hardware & Challanges for a Multimedia System


Desirable Features & Hardware for a Multimedia System
·         Very High Processing Power - needed to deal with large data processing and real time delivery of media. Special hardware commonplace.
·         Multimedia Capable File System - needed to deliver real-time media -- e.g. Video/Audio Streaming. Special Hardware/Software needed e.g RAID technology.
·         Data Representations/File Formats that support multimedia - Data representations/file formats should be easy to handle yet allow for compression/decompression in real-time.
·         Efficient and High I/O - input and output to the file subsystem needs to be efficient and fast. Needs to allow for real-time recording as well as playback of data. e.g. Direct to Disk recording systems.
·         Special Operating System - to allow access to file system and process data efficiently and quickly. Needs to support direct transfers to disk, real-time scheduling, fast interrupt processing, I/O streaming etc.
·         Storage and Memory - large storage units (of the order of 50 -100 Gb or more) and large memory (50 -100 Mb or more). Large Caches also required and frequently of Level 2 and 3 hierarchy for efficient management.
·         Network Support - Client-server systems common as distributed systems common.
·         Software Tools - user friendly tools needed to handle media, design and develop applications, deliver media. 


Supporting multimedia applications over a computer network renders the application distributed. This will involve many special computing techniques -- discussed later.
Multimedia systems may have to render a variety of media at the same instant -- a distinction from normal applications. There is a temporal relationship between many forms of media (e.g. Video and Audio. There 2 are forms of problems here

  1. Sequencing within the media -- playing frames in correct order/time frame in video
  2. Synchronisation -- inter-media scheduling (e.g. Video and Audio). Lip synchronisation is clearly important for humans to watch playback of video and audio and even animation and audio. Ever tried watching an out of (lip) sync film for a long time?
The key issues multimedia systems need to deal with here are:
  • How to represent and store temporal information.
  • How to strictly maintain the temporal relationships on play back/retrieval
  • What process are involved in the above.
Data has to represented digitally so many initial source of data needs to be digitize -- translated from analog source to digital representation. The will involve scanning (graphics, still images), sampling (audio/video) although digital cameras now exist for direct scene to digital capture of images and video.
The data is large several Mb easily for audio and video -- therefore storage, transfer (bandwidth) and processing overheads are high. Data compression techniques are very common.

 


Multimedia and its component

As the name implies, multimedia is the integration of multiple forms of media. This includes text, graphics, audio, video, etc.
Multimedia can have a many definitions these include:
Multimedia means that computer information can be represented through audio, video, and animation in addition to traditional media (i.e., text, graphics drawings, images).
A good general definition is:
Multimedia is the field concerned with the computer-controlled integration of text, graphics, drawings, still and moving images (Video), animation, audio, and any other media where every type of information can be represented, stored, transmitted and processed digitally.
A Multimedia Application is an Application which uses a collection of multiple media sources e.g. text, graphics, images, sound/audio, animation and/or video.
Hypermedia can be considered as one of the multimedia applications.

For example, a presentation involving audio and video clips would be considered a "multimedia presentation." Educational software that involves animations, sound, and text is called "multimedia software." CDs and DVDs are often considered to be "multimedia formats" since they can store a lot of data and most forms of multimedia require a lot of disk space.
Due to the advancements in computer speeds and storage space, multimedia is commonplace today. Therefore, the term doesn't produce the same excitement is once did. This also means it is not as overused as it was back in the late '90s.


 Components (Hardware and Software) required for a multimedia system:
·         Capture devices -- Video Camera, Video Recorder, Audio Microphone, Keyboards, mice, graphics tablets, 3D input devices, tactile sensors, VR devices. Digitising/Sampling Hardware
·         Storage Devices -- Hard disks, CD-ROMs, Jaz/Zip drives, DVD, etc
·         Communication Networks -- Ethernet, Token Ring, FDDI, ATM, Intranets, Internets.
·         Computer Systems -- Multimedia Desktop machines, Workstations, MPEG/VIDEO/DSP Hardware
·         Display Devices -- CD-quality speakers, HDTV,SVGA, Hi-Res monitors, Colour printers etc.

Tuesday, January 30, 2018

Types of Systems

The systems can be divided into the following types:
 
Physical or Abstract Systems

  • Physical systems are tangible entities. We can touch and feel them. Physical System may be static or dynamic in nature. For example, desks and chairs are the physical parts of computer center which are static. A programmed computer is a dynamic system in which programs, data, and applications can change according to the user's needs.

  • Abstract systems are non-physical entities or conceptual that may be formulas, representation or model of a real system. 

Open or Closed Systems
 
  • An open system must interact with its environment. It receives inputs from and delivers outputs to the outside of the system. For example, an information system which must adapt to the changing environmental conditions.

  • A closed system does not interact with its environment. It is isolated from environmental influences. A completely closed system is rare in reality.

Adaptive and Non Adaptive System

  • Adaptive System responds to the change in the environment in a way to improve their performance and to survive. For example, human beings, animals. 
  • Non Adaptive System is the system which does not respond to the environment.For example, machines.

Permanent or Temporary System
  • Permanent System persists for long time. For example, business policies.
  • Temporary System is made for specified time and after that they are demolished. For example, A DJ system is set up for a program and it is dissembled after the program.

Natural and Manufactured System
  • Natural systems are created by the nature. For example, Solar system, seasonal system.
  • Manufactured System is the man-made system. For example, Rockets, dams, trains. 

Deterministic or Probabilistic System
 
  • Deterministic system operates in a predictable manner and the interaction between system components is known with certainty. For example, two molecules of hydrogen and one molecule of oxygen makes water.
  • Probabilistic System shows uncertain behavior. The exact output is not known. For example, Weather forecasting, mail delivery.

Social, Human-Machine, Machine System
 
  • Social System is made up of people. For example, social clubs, societies.
  • In Human-Machine System, both human and machines are involved to perform a particular task. For example, Computer programming.
  • Machine System is where human interference is neglected. All the tasks are performed by the machine. For example, an autonomous robot.


Man–Made Information Systems
  • It is an interconnected set of information resources to manage data for particular organization, under Direct Management Control (DMC).
  •  This system includes hardware, software, communication, data, and application for producing information according to the need of an organization. Man-made information systems are divided into three types:

  •  Formal Information System: It is based on the flow of information in the form of memos, instructions, etc., from top level to lower levels of management.
  • Informal Information System: This is employee based system which solves the day to day work related problems.
  •  Computer Based System: This system is directly dependent on the computer for
managing business applications. For example, automatic library system, railway
reservation system, banking system, etc.

Properties of a System

Properties of a System

A system has the following properties:
 
Organization
Organization implies structure and order. It is the arrangement of components that helps to achieve predetermined objectives.


Interaction
It is defined by the manner in which the components operate with each other. For example, in an organization, purchasing department must interact with production department and payroll with personnel department.


Interdependence
Interdependence means how the components of a system depend on one another. For proper functioning, the components are coordinated and linked together according to a specified plan. The output of one subsystem is the required by other subsystem as input.


Integration
Integration is concerned with how a system components are connected together. It means that the parts of the system work together within the system even if each part performs a unique function.


Central Objective
The objective of system must be central. It may be real or stated. It is not uncommon for an organization to state an objective and operate to achieve another. The users must know the main objective of a computer application early in the analysis for a successful design and conversion.
 

What is a System?

What is a System?
The word System is derived from Greek word Systema, which means an organized relationship between any set of components to achieve some common cause or objective. A system is “an orderly grouping of interdependent components linked together accordingto a plan to achieve a specific goal.”
Constraints of a System
A system must have three basic constraints:
1. A system must have some structure and behavior which is designed to achieve
a predefined objective.

2. Interconnectivity and interdependence must exist among the system components.
3. The objectives of the organization have a higher priority than the objectives of its subsystems.

For example, traffic management system, payroll system, automatic library system,
human resources information system.